静态初始化数组的时候,格式还可以省略一下。
- 省略格式:
- 数据格式[] 数组名称 = {元素1, 元素2,…};
- 注意事项:
- 1,静态初始化,没有直接指定长度,但是仍然会自动推算得到长度。
- 2,静态初始化标准格式可以拆分成 为两个步骤。
- 3,动态初始化也可以拆分为两个步骤。
- 4,静态初始化一但使用省略格式,就不能拆分成两个步骤了。
- 使用建议:
- 如果不确定数组当中的具体内容,用动态初始化,否则,已经确定了具体的内容,用静态初始化。
- */
public class Demo03Array{
public static void main(String [] args){
//省略格式初始化
int [] arrayA = {10 ,20, 30};//
//静态初始化的标准格式,可以拆分成两个步骤
int[] arrayB;
arrayB = new int [] {11, 21, 31};
//动态初始化可以拆分成为两个步骤
int[] arrayC;
arrayC = new int[5];
//静态初始化的省略格式,不能拆分成为两个步骤。
// int[] arrayD;
// arrayD = {10, 20, 30};
}
}
访问数组元素
直接打印数组名称,得到的是数组对应的:内存地址哈希值
- 二进制: 01
- 十进制:0123456789
- 16进制:123456789abcdef
- 访问数组元素的格式:数组名称[索引值]
- 索引值:就是一个int数字,代表数组当中元素的编号。
- 「注意」索引值从0开始,一直到“数组的长度 -1”为止。0,1,2,「从0号开始」
- */
public class Demo04ArrayUse {
public static void main(String[] args){
//静态初始化的省略方式
int[] array = {10, 20, 30};
System.out.println(array);//[I@1db9742 哈希值
//直接打印数组当中的元素
System.out.println(array[0]);//10
System.out.println(array[1]);//20
System.out.println(array[2]);//30
//也可以将数组当中的某一个元素,赋值交给变量
int num = array[1];
System.out.println(num);//20
}
}
*使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
- 如果是整数类型,那么默认为0;
- 如果是浮点类型,那么默认为0.0;
- 如果是字符类型,那么默认为‘\u0000’;
- 如果是布尔类型,那么默认为false;
- 如果是引用类型,那么默认为null(空常量);
- 注意事项:
- 静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。
- */
*`
public class Demo05ArrayUse {
public static void main(String[] args){
//动态初始化一个数组
int[] array = new int [3];
System.out.println(array);//直接打印输出 就得哈希值
System.out.println(array[0]);//0
System.out.println(array[1]);//0
System.out.println(array[2]);//0
System.out.println("================");
//将数据123赋值交给数组array当中的1号元素。
array[1] = 123;
System.out.println(array[0]);//0
System.out.println(array[1]);//123
System.out.println(array[2]);//0
}
}
Java的内存划分:五个部分中的三部分
栈(Stack)
堆(Heap)
方法区(MethodArea)
在这里插入代码片