Java——一维数组和二维数组(主要详讲一维数组)
目录
一维数组
创建,初始化,赋值
注意
一些数组的便捷使用方法
使用 .length得到数组长度
Arrays相关的使用
二维数组
文章某些地方会出现java与c语言的比较
文章内容参考韩顺平老师的课堂笔记
一维数组
创建,初始化,赋值
可以先创建再初始化,也可以创建的时候直接初始化。但是,如果选择先创建再初始化,就不能够整体赋值,只能一个一个赋值;如果选择创建的同时直接初始化,就可以直接整体赋值。
//首先,我们需要知道,以下两句话是相同的效果。平常写的时候就看个人习惯
int[] a;
int a[];
/*—————————————————动态初始化:只规定数组长度,不做初始化赋值—————————————————*/
//只有一种方式: 元素个数必须写在new后面的方括号里,不能写在等号前面方括号里
int a[] = new int[6];
/*—————————————————静态初始化:创建的同时确定内容—————————————————*/
//第一种
int a[]={6,6,6};
//第二种
int a[]=new int[]{6,6,6};
//第三种
int a[]=new int[3];
a[0]=a[1]=a[2]=6; //当然也可以通过循环来初始化赋值
- 一点个人总结的的小技巧:方括号里的数字,整体初始化赋值,这两者必须有且只有一个。如果要整体初始化,那么方括号里就不能写具体的数字;如果方括号里写了具体的数字,就不能整体初始化赋值。
如果不做初始化,那么将自动初始化为:
整型数组都默认初始化为 0(byte,short,int,long)
浮点型数组,默认初始化为 0.0(float,double)
char默认初始化为 \u0000
布尔型数组初始化为 false
String初始化为null
注意
- 创建数组的时候,元素个数是可以写变量的哦。但是c语言就只能是常量,所以java在这里相对灵活了一点点。
int n=6;
int a[]=new int[n];
2.元素个数确定后无法更改(跟c语言一样不是动态的),使用的时候也不能越界。
3.凡是有new关键字出现,jvm就会在堆内存中为其开辟一块新的空间。我们做动态初始化的时候,那个等号其实就是把开辟的空间地址赋给数组变量。
一些数组的便捷使用方法
使用 .length得到数组长度
int a[]={1,2,3,4,5};
System.out.println(a.length);
//运行结果为:5
Arrays相关的使用
Arrays.fill 快速初始化 / 填充一个数组
int a[]=new int[6];
Arrays.fill(a , 6);
//现在数组a每个元素都是 6
Arrays.toString 以字符串形式输出一个数组
int a[]=new int[6];
Arrays.fill(a , 6);
System.out.println(Arrays.toString(a));
//输出结果:[6, 6, 6, 6, 6, 6]
Arrays.sort 将数组按照升序排列
int a[]={5,4,3,2,1};
Arrays.sort(a);
System.out.println(Arrays.toString);
//输出结果:[1,2,3,4,5]
二维数组
int a[][]=new int[3][4];
//第一个方括号可以看做有多少个一维数组,第二个看做到了这个一维数组的第几个元素
//可以抽象地理解为,前面表明多少行,后面表明多少列
其余性质,使用方法,注意事项均和一维数组一样。