可变参数
-
在方法的声明中,在指定参数类型之后加一个省略号(…)
-
一个方法只能指定一个可变参数,且必须是方法的最后一个参数
-
可变参数的本质是数组
main方法里面:max(1,2,5,6,); //这里的参数可以无限多个,也可以是数组 public static void max(int...a){ int max=a[0]; for(int i=1;i<a.length;i++){ if(a[i]>max) max=a[i]; } System.out.println(max); }
数组
-
数组类型[] + 变量名 = new 数组类型[数组大小];
int[] numbers = new int[10];
-
获取数组的长度
数组名.length
numbers.length
-
内存分析
- 堆:存放new的对象和数组
- 栈:存放基本类型
-
数组的的两种初始化
-
静态初始化
int[] a = {1,2,3,4};
-
动态初始化
int[] a = new int[10];
(未被初始化的时候会被默认初始化)
-
-
数组可以作为参数,也可以作为返回值
Arrays类
-
java.util里面的一个类,如果要使用的话,要引入这个类
import java.util.Arrays
-
Arrays类常用的一些方法
-
Arrasy.toString 按顺序打印输出数组全部元素
-
Arrays.sort 对数组进行升序排序
-
Arrays.fill 对数组元素进行填充
还可以指定范围进行填充
Arrays.fill(a,2,4,0)
👈把a数组低2,3元素的值填充为0
-
面向对象编程
类的补充
- 两个方法,若a方法是静态方法,b不是静态方法,则在a中引用b方法会报错
因为两个方法存在的初始时间不一样,静态方法在类存在的时候就存在了,而非静态方法得等到类实例化之后才存在,当a要引用b的时候,b还不存在,所以会报错
-
值传递和引用传递
-
值传递:不改变实参的值
-
引用传递:改变实参的值
-