1. // 一维数组初始化三种方法(第一个元素索引(下标)必须是从 0 开始)
1.int a[]=new int[3]//数组a[] 赋值一个类型 [3]内指定了数组长度 说明a[]中有三个元素 a[0]=12;//a[0]索引的第一个元素 a[1]=25;//第二元素 a[2]=3;//第三个元素 2. int b[]=new int[]{12,45,89};//自动分配三个空间 注意:int[] 方括号内不得有任何值 3. int c[]={8,4,6};
数组的lenght属性(a.length>>>输出返回值)输出数组最大下标(a.length-1)
注: 1.length返回的是int型 不可能是小数
2.数组长度不可定义为是负数
3.length值是常量
1 public class Demo { 2 public static void main(String[] args) { 3 int a[]={1,3,6,9,8,4,5,7}; 4 int max=0; 5 for(int i=0;i<a.length;i++){ 6 if(a[i]>max){ 7 max= a[i]; 8 } 9 } 10 System.out.println("最大值:"+max); 11 } 12 }
最大值为:9
2.// 二维数组的初始化
1 int tdarr1[][]={{2,4,6},{1,3,5}}; 2 3 int tdarr2[][]=new int[][]{{56,41,63},{98,54,23}};//new int后面必须是两个方括号 4 5 //注意:定义值的方括号内的数值不可是负数和0. 6 int tdarr3[][]=new int[2][3];//指定数组的长度 方括号左表行,方括号右表列 此例为两行三列的数组. 7 //分别给每一行赋值 8 tdarr3[0]=new int[]{23,56,47,};//第一行 9 tdarr3[1][0]=36; 10 tdarr3[1][1]=7; 11 tdarr3[1][2]=10;
二维数组中定义值的第一个方括号内的值必须要有值,第二个括号内可以省略不给值
二维数组中的length
1 int a[][]=new int[3][];//a.length表示int[3]内的值 2 3 a[0]=new int[5];//a[0].length表示int[5]内的值 4 5 a[1]=new int[3];//a[1].length表示int[3]内的值 6 7 a[2]=new int[4];//a[2].length表示int[4]内的值 8 9 //a后面不加方括号指数组有多少行 10 //a后加方括号某一行具体指多少列
一首诗理解二位数组
public class menu { public static void main(String[] args) { char a[][] = new char[4][]; a[0] = new char[]{'春', '眠', '不', '觉', '晓'}; a[1] = new char[]{'处', '处', '闻', '啼', '鸟'}; a[2] = new char[]{'夜', '来', '风', '雨', '声'}; a[3] = new char[]{'花', '落', '知', '多', '少'}; //横版输出 System.out.println("横版输出"); for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { System.out.print(a[i][j]); } if (i % 2 == 0) { System.out.println(","); } else { System.out.println("。"); } }
System.out.println();
//竖版输出 System.out.println("竖版输出"); for(int j=0;j<5;j++){//循环列 for(int i=3;i>=0;i--){//循环行 System.out.print(a[i][j]); } System.out.println(); } System.out.println("。 , 。 ,"); } }
竖版输出
花夜处春
落来处眠
知风闻不
少声鸟晓
。,。,
输出:
横版输出
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
3. 多维数组
1 public static void main(String[] args){ 2 int a[][][]=new int[2][3][4] 3 4 for(int i=0;i<a.length;i++){ 5 for(int j=0;j<a[].length;j++){ 6 for(int k=0;k<a[i][j].length;k++){ 7 a[i][j][k]=i+j+k; 8 } 9 } 10 }
//三层循环遍历数组的值 11 for(int i=0;i<a.length;i++){ 12 System.out.println("-----第"+i+"层-----"); 13 for(int j=0;j<a[i].length;j++){ 14 for(int k=0;k<a[i][j].length;k++){ 15 System.out.print(a[i][j][k]+" "); 16 } 17 System.out.println(); 18 } 19 } 20 } 21 }
执行结果:
run:
----第0层----
0 1 2 3
1 2 3 4
2 3 4 5
----第1层----
1 2 3 4
2 3 4 5
3 4 5 6