数组
数组
public static void main(String[] args) {
//数组类型 变量类型名+[]
int[] nums;//1.声明一个数组
int nums2[];
//上下两种写法都ok,最好用第一种
nums=new int[10];//2.创建一个数组,nums中可以有10个值
//将1 2合起来
int[] nums3=new int[10];
//赋值
//数组索引从0开始
nums[0]=1;
nums[1]=2;
nums[2]=3;
nums[3]=4;
nums[4]=5;
nums[5]=6;
nums[6]=7;
nums[7]=8;
nums[8]=9;
nums[9]=10;
//求和
int sum=0;
//获取数组长度 arrays.length
for (int i = 0; i < nums.length; i++) {
sum=sum+nums[i];
}
System.out.println(sum);
}
}
若定义字母或汉字要用''
char arr1[]=new char[]{'q','w','中','国','棒'};
- 长度是确定的
- 里面必须是相同元素
- 元素可以是任何数据类型,包括基本类型和引用类型
二维数组
创建
//第一种
int[][] a;//类型[][] 名字
int b[][];//类型 名字[][]
a=new int[2][4];//a中包含了两个长度为4的一维数组
//第一维的长度为行数,第二维的长度为列数
//分配如下
a[0][0]=1;
a[0][1]=1;
a[0][2]=1;
a[0][3]=1;
a[1][0]=2;
a[1][1]=2;
a[1][2]=2;
a[1][3]=2;
//第二种
int[][] a;
a=new int[2][];
a[0]=new int[2];//长度为2
a[1]=new int[3];//长度为3
a[0][0]=1;
a[0][1]=1;
a[1][0]=2;
a[1][1]=2;
a[1][2]=2;
初始化
int a[][]={{1,2},{8,556}};
静态和动态初始化
静态初始化:指由程序员自己为数组的每个元素赋值,由系统为其计算长度
动态初始化:由程序员为数组制定长度,系统先自动为其赋值,之后也可人为修改,重新赋值
//静态初始化
int[] a={1,2,3,4,5,6};
//动态初始化 包含默认值0
int[] b=new int[10];
b[0]=10;
数组边界
下标合法区间:[0,length-1],若越界会报错
ArrayIndexOutOfBoundsException:数组下标越界异常
遍历数组
for循环
//遍历一维数组
int[] a={1,5,8,52,25};
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
//遍历二维数组
int a[][]={{1},{2,3},{4,5,6}};
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]);
}
System.out.println();
}
foreach循环
int[] arrays={1,2,3,4,5};
//没有下标
for (int array:arrays) {
System.out.println(array);
}
数组做方法入参
public static void main(String args[]){
int[] arrays={1,2,3,4,5};
printArray(arrays);
}
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
数组做返回值
public static void main(String[] args) {
int[] arrays = {1, 2, 3, 4, 5};
int[] reverse = reverse(arrays);
printArray(reverse);
}
//反转数组
public static int[] reverse(int[] arrays){
int[] result=new int[arrays.length];
//反转的操作
for (int i = 0, j=result.length-1; i < arrays.length; i++,j--) {
result[j]=arrays[i];
}
return result;
}
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}

浙公网安备 33010602011771号