Tags:黑马Java->SE基础班->Java基础语法
1. 初始化
- 动态初始化(指定长度)
- 静态初始化(指定内容)
动态初始化数组的格式:
数据类型[] 数组名称 = new 数据类型[数组长度];
int[] arrayA = new int[300];
开始的
int[]
可以看作一种变量类型
静态初始化基本格式:
数据类型[] 数组名称 = new 数据类型[] { 元素1, 元素2, ... };
int[] arrayA = new int[] { 5, 15, 25, 40 };
String[] arrayB = new String[] { "Hello", "World", "Java" };
省略格式:
数据类型[] 数组名称 = { 元素1, 元素2, ... };
int[] arrayA = { 10, 20, 30 };
注意:静态初始化标准格式、动态初始化都可以拆分成为两个步骤,但是静态初始化省略格式不行
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 };
}
}
2. 默认值
使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
- 如果是整数类型,那么默认为0
- 如果是浮点类型,那么默认为0.0
- 如果是字符类型,那么默认为'\u0000'(这不是多个字符,这是一个字符,\u是Unicode,在Unicode中十六进制数字0000代表的就是字符类型,这是一个不可见,而且并不是空格的意思,如果打印是看不见的)
- 如果是布尔类型,那么默认为false
- 如果是引用类型,那么默认为null
3. Java中的内存划分
一个数组的内存图
创建一个新数组
4. 数组元素的反转
/*
数组元素的反转:
本来的样子:[1, 2, 3, 4]
之后的样子:[4, 3, 2, 1]
要求不能使用新数组,就用原来的唯一一个数组。
*/
public class Demo07ArrayReverse {
public static void main(String[] args) {
int[] array = { 10, 20, 30, 40, 50 };
// 遍历打印数组本来的样子
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("============");
/*
初始化语句:int min = 0, max = array.length - 1
条件判断:min < max
步进表达式:min++, max--
循环体:用第三个变量倒手
*/
for (int min = 0, max = array.length - 1; min < max; min++, max--) {
int temp = array[min];
array[min] = array[max];
array[max] = temp;
}
// 再次打印遍历输出数组后来的样子
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}