一、数组:用于批量保存一类数据。是引用数据类型之一。
1、声明变量
//变量的格式 : 数据类型 变量名 = 值;
int j = 0;
int j;
j = 0;
2、声明数组
int[] scores;
String[] names;
Person[] persons;
3、为数组初始化并赋值
//静态初始化: 初始化操作和赋值操作同时进行
scores = new int[]{0,1,2,3,4,5};
//动态初始化:初始化操作和赋值操作分开进行
names = new String[5]; //{null, "张三", null, "李四", null}
names[1] = "张三";
names[3] = "李四";
4、获取数组中的元素
String str = names[0];
System.out.println(str);
System.out.println(names[1]);
System.out.println(names[2]);
System.out.println(names[3]);
System.out.println(names[4]);
5、 遍历数组的两种方式
方式一:使用普通for循环遍历数组
for(int i = 0; i < names.length; i++){
System.out.println(names[i]);
}
方式二:使用增强for循环遍历数组
for(被遍历数组中元素的数据类型 变量名 : 被遍历的数组){
}
for(String s : names){
System.out.println(s);
}
6、使用数组的注意:
①无论是静态初始化还是动态初始化必须指明长度
②数组中每个元素都有索引值(下角标、下标),索引值从0开始,到 数组的长度 - 1
③数组的属性: length 用于获取数组的长度
7、 数组的默认值
基本数据类型:
byte shor int —> 0
long —> 0L
float —> 0.0F
double —> 0.0D
char —> ‘\u0000’
boolean —> false
引用数据类型: —> null
|-- 类(class)
|-- 接口(interface)
|-- 数组([])
二、二维数组
//声明一个二维数组
int[][] arr;
//为二维数组初始化并赋值
//静态初始化:初始化和赋值操作同时进行
arr = new int[][]{ {1,2,3}, {4,5,6}, {7,8} }
//动态初始化
//动态初始化-1
arr = new int[5][6]; //{ {0,0,11,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,15,0,0}, {0,0,0,0,0,0} }
arr[0][2] = 11;
arr[3][3] = 15;
//动态初始化-2
arr = new int[5][]; //{ null, {0,11,0}, null, {0,0,0,22,0}, null };
arr[1] = new int[3];
arr[3] = new int[5];
arr[1][1] = 11;
arr[3][3] = 22;
//遍历二维数组
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
System.out.prin
for(int a : as){t(arr[i][j] + "\t");
}
System.out.println();
}
for(int[] as : arr){
for(int a : as){
System.out.print(a + "\t");
}
System.out.println();
}
三、用于操作数组的工具类:
java.util.Arrays;
四、命令行参数
通过: java HelloWorld abc ddd eee “Jane Smith”
public static void main(String[] args){
for(int i = 0; i < args.length; i++){
System.out.println(args[i]);
}
}
五、可变参数
//要求:计算两个整数的和
/*public int add(int a, int b){
return a + b;
}
public int add(int a, int b, int c){
return a + b + c;
}*/
/*public int add(int[] arr){//可变参数与数组参数之间不能构成重载
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
return sum;
}*/
public int add(int ... args){ //当调用方法时,可以传递0个或多个 int 型实际参数
int sum = 0;
for(int i = 0; i < args.length; i++){
sum += args[i];
}
return sum;
}
public int add(String str, int ... args){//可变参数要写在参数列表的末尾
}