2020-03-24 Java自学第六天

方法

完整格式:

image.png

详解:

  1. 修饰符:public static
  2. 返回值类型:方法最终产生的数据是什么类型
  3. 方法名称:方法的名字,小驼峰
  4. 参数类型:进入方法的数据的类型
  5. 参数名称:进入方法的数据对应的变量名称(参数如果有多个,用逗号隔开)
  6. 方法体:方法需要做许多事,若干行代码
  7. return:两个作用,第一停止当前方法;第二将后面的返回值还给调用出
  8. 返回值:方法执行后最终产生的数据结果(return后面的返回值,必须和方法名称前面的返回值类型一致)

调用方式:

  1. 单独打印:方法名称(参数);
  2. 打印调用:System.out.println(方法名称(参数));
  3. 赋值调用:数据类型 变量名称 = 方法名称(参数);
image.png

注意:

  1. 之前用的方法,返回值固定为void,这种方法只能调用,不能打印调用或者赋值调用
image.png

对比有无参数

  1. 有参数:小括号当中有内容,当一个方法需要一些数据条件才能完成任务,就会有参数
  2. 无参数:小括号当中留空,一个方法不需要数据条件,自己能独立完成任务,就没有参数
image.png

对比有无返回值

  1. 有返回值:可以单独调用,打印调用和赋值调用
  2. 无返回值:只能单独调用,不能打印调用和赋值调用


    image.png

注意事项:

  1. 方法定义在类中,但是不能在方法中再次定义方法,不能嵌套
  2. 方法的先后顺序无所谓
  3. 方法定义之后不会执行,如果希望执行,一定要调用(单独调用,打印调用,赋值调用)
  4. 如果方法有返回值,那么必须写上'return 返回值',不能没有
  5. return后面的返回值数据,必须和方法的返回值类型一致
  6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己
  7. 对于方法中最后一个return可以不写
  8. 一个方法中可以有多个return语句,但是必须保证同时只有一个执行
image.png

方法重载

  • 对于功能类似的方法来说,因为参数列表不一样,就需要更改方法名称,太麻烦;而方法重载就使多个方法名称一样,参数列表不同

特点:

  1. 只需要记住唯一一个方法名称,就可以实现类似的功能

影响方法重载的因素:

  1. 参数个数不同

  2. 参数类型不同

  3. 多类型顺序不同


    image.png

不影响方法重载的因素:

  1. 与参数的名称无关
  2. 与方法的返回值无关
image.png

因素判断:

image.png

Java内存分布

image.png

数组

  • 是一种容器,可以同时存放多个数据值

特点:

  1. 数组是一种引用数据类型
  2. 数组当中的多个数据,类型必须统一
  3. 数组的长度在程序运行期间不能改变

数组的初始化

  1. 动态初始化(指定长度,直接指定数组中数据的个数)
  2. 静态初始化(指定内容,指定具体的数据内容)

动态初始化:

格式
image.png
解析
  • 左侧的数据类型:也就是数组当中保存的数据,全都是统一的某种类型
  • 左侧的中括号:代表我是一个数组
  • 左侧数组名称:数组的名字
  • 右侧的new:代表创建数组的动作
  • 右侧数据类型:必须和左边的数据类型保持一致
  • 右侧中括号的长度:也就是数组当中,可以保存多少个数据,是int数字
image.png

使用动态初始化数组时,关于默认值问题:

  1. 如果是整数类型:0
  2. 如果是浮点数类型:0.0
  3. 如果是字符类型:‘\u0000’
  4. 如果是布尔类型:false
  5. 如果是引用类型:null

注意:

  • 静态初始化也有默认值过程,只不过系统会自动将默认值替换为大括号内的具体数值
image.png

静态初始化:

格式

image.png

注意事项

  • 静态初始化没有长度,但是仍然会自动推算到长度
  • 静态初始化标准格式可以拆分为两个步骤,动态初始化也可以(静态初始化省略格式不能擦拆分)
image.png
技巧:不确定数组中的内容,用动态初始化;确定数组中的内容,用静态初始化

使用数组

  • 我们直接打印数组名称获得的是数组的内存地址哈希值,这并不是我们想要的数据

访问数组元素的格式:

image.png
  • 索引值:就是一个int数字,代表数组中元素的编号(注意:从0开始,到‘数组长度-1’结束)
image.png

一个数组的运行

image.png

两个数组的运行

image.png

两个数组之间的运行

  • 将A数组赋值给B数组,再对B数组进行修改
  • 两个数组的运行的代码与此代码基本相同(除红框标出位置改动)
image.png

关于使用数组的异常问题

关于索引的越界异常

  • 如果访问数组元素的时候,索引编号不存在,就会发生数组索引越界异常
image.png

关于空指针异常

  • 如果数组只是赋值一个null,没有进行new创建,就会方式空指针异常


    image.png

获取数组长度

格式:

image.png

案例:

image.png
  • 关于数组打印长度不同的问题
image.png

数组的遍历

  • 对数组中的每一个元素逐一进行处理,默认的处理方式是打印输出
image.png

数组元素的反转问题

  • 本来的样子:[1,2,3,4] ——> 反转之后[4,3,2,1]

分析:

  1. 数组的反转,其实是‘对称位置’的元素交换
  2. 通常遍历数组是一个索引,现在表示对称位置需要两个
  3. 如果要交换,就需要第三个变量的辅助
  • 交换逻辑(方法)
image.png
  1. 什么时候停止交换(一直交换便无法得到想要的效果)


    image.png

案例:

image.png

你可能感兴趣的:(2020-03-24 Java自学第六天)