方法
完整格式:
image.png
详解:
- 修饰符:public static
- 返回值类型:方法最终产生的数据是什么类型
- 方法名称:方法的名字,小驼峰
- 参数类型:进入方法的数据的类型
- 参数名称:进入方法的数据对应的变量名称(参数如果有多个,用逗号隔开)
- 方法体:方法需要做许多事,若干行代码
- return:两个作用,第一停止当前方法;第二将后面的返回值还给调用出
- 返回值:方法执行后最终产生的数据结果(return后面的返回值,必须和方法名称前面的返回值类型一致)
调用方式:
- 单独打印:方法名称(参数);
- 打印调用:System.out.println(方法名称(参数));
- 赋值调用:数据类型 变量名称 = 方法名称(参数);
image.png
注意:
- 之前用的方法,返回值固定为void,这种方法只能调用,不能打印调用或者赋值调用
image.png
对比有无参数
- 有参数:小括号当中有内容,当一个方法需要一些数据条件才能完成任务,就会有参数
- 无参数:小括号当中留空,一个方法不需要数据条件,自己能独立完成任务,就没有参数
image.png
对比有无返回值
- 有返回值:可以单独调用,打印调用和赋值调用
-
无返回值:只能单独调用,不能打印调用和赋值调用
image.png
注意事项:
- 方法定义在类中,但是不能在方法中再次定义方法,不能嵌套
- 方法的先后顺序无所谓
- 方法定义之后不会执行,如果希望执行,一定要调用(单独调用,打印调用,赋值调用)
- 如果方法有返回值,那么必须写上'return 返回值',不能没有
- return后面的返回值数据,必须和方法的返回值类型一致
- 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己
- 对于方法中最后一个return可以不写
- 一个方法中可以有多个return语句,但是必须保证同时只有一个执行
image.png
方法重载
- 对于功能类似的方法来说,因为参数列表不一样,就需要更改方法名称,太麻烦;而方法重载就使多个方法名称一样,参数列表不同
特点:
- 只需要记住唯一一个方法名称,就可以实现类似的功能
影响方法重载的因素:
参数个数不同
参数类型不同
-
多类型顺序不同
image.png
不影响方法重载的因素:
- 与参数的名称无关
- 与方法的返回值无关
image.png
因素判断:
image.png
Java内存分布
image.png
数组
- 是一种容器,可以同时存放多个数据值
特点:
- 数组是一种引用数据类型
- 数组当中的多个数据,类型必须统一
- 数组的长度在程序运行期间不能改变
数组的初始化
- 动态初始化(指定长度,直接指定数组中数据的个数)
- 静态初始化(指定内容,指定具体的数据内容)
动态初始化:
格式
image.png
解析
- 左侧的数据类型:也就是数组当中保存的数据,全都是统一的某种类型
- 左侧的中括号:代表我是一个数组
- 左侧数组名称:数组的名字
- 右侧的new:代表创建数组的动作
- 右侧数据类型:必须和左边的数据类型保持一致
- 右侧中括号的长度:也就是数组当中,可以保存多少个数据,是int数字
image.png
使用动态初始化数组时,关于默认值问题:
- 如果是整数类型:0
- 如果是浮点数类型:0.0
- 如果是字符类型:‘\u0000’
- 如果是布尔类型:false
- 如果是引用类型: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]
分析:
- 数组的反转,其实是‘对称位置’的元素交换
- 通常遍历数组是一个索引,现在表示对称位置需要两个
- 如果要交换,就需要第三个变量的辅助
- 交换逻辑(方法)
image.png
-
什么时候停止交换(一直交换便无法得到想要的效果)
image.png
案例:
image.png