LongJL 发表于 2021-7-10 11:47

【自学笔记】 Java基础 - 数组

# 数组
- 概念
   1.数组是一个引用数据类型

   2.数组当中的多个数据,类型必须统一。

   3.数组的长度在程序运行期间不可改变。

- 数组的初始化

   在内存当中创建一个数组,并且向其中赋予一些默认值。

## 一维数组
### 一维数组的声明
- 数组元素类型 数组名字[];
- 数组元素类型[] 数组名字
### 一维数组的初始化
1.动态初始化(指定长度)
        格式:
                数据类型[] 数组名称 = new 数据类型 [数组长度];
                解析含义:
                        左侧数据类型:也就是数组当中保存的数据,全都是统一的数据类型
            左侧的中括号:表示我是一个数组
            左侧的数组名称:数组的名称
            右侧的new:代表创建数组的动作
            右侧的数据类型:必须和左侧的数据类型保存一致
            右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字
```java
public class Array {
        public static void main(String[] args) {
                //数据类型[] 数组名称 = new 数据类型 [数组长度];
      int[] arrayA = new int ;
      double[] arrayB = new double ;
      String[] arrayC = new double ;
      //动态初始化也可以拆分成为俩个步骤
      int[] = arrayD;
      arrayD = new int;
        }
}
```

2.静态初始化(指定内容)

​        基本格式:
           数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,....};
​        省略格式:
           数据类型[] 数组名称 = {元素1,元素2,....};
           注意事项:
​               1.虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
​               2.静态初始化标准格式可以拆分成俩个步骤。
​               3.动态初始化也可以拆分成为俩个初始化
​               4.静态初始化一旦使用省略模式,就不能拆分成俩个步骤了。
           使用建议:
​               如果不确定数组当中的使用内容,用动态初始化;否则,已经确定了具体内容,用静态初始化。

```java
public class ArrayB {
        public static void main(String[] args) {
                //直接创建一个数组,里面装的都是int数字,具体为:5, 15, 25
      int[] array1 = new int[] {5,15,25};
      String[] array2 = new String[] {"Hello","world", "Java"};
      //静态初始化的标准格式,可以拆分成为俩个步骤
      int[] ArrayB;
      ArrayB = new int[] {11,22,33};
        }
}
```

```java
public class ArrayD {
        public static void main(String[] args) {
                int[] Array1 = {10,20,30};
        }
}
```


注意事项:
   - 虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
   - 使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值.
   - 静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的默认值。

如果是整数类型,那么默认是0
如果是浮点类型,那么默认为0.0
如果是字符串类型,那么默认为"/u0000";
如果是布尔类型,那么默认为false
如果是引用类型,那么默认为null

### 使用数组
```Java
public class Array {
    //使用数组
      格式:
            数组名称[索引值];
            索引值:就是一个int数字,代表数组当中元素的编号
            【注意】索引值从0开始,一直到数组长度-1为止。
        public static void main(String[] args) {
                int[] array = new int[] {10,20,30};
                for(int i = 0;i<array.length;i++){
                        System.out.println(array)
                }
        }
}
```
### 数组赋值
数组赋值:
      数组名称[索引值] = 值;

## 二维数组
### 二维数组的声明
- 数组元素的类型 数组名字[][]
- 数组元素的类型[][] 数组名字;
```Java
int arr[][]
```
### 二维数组的初始化
1.动态初始化(指定长度)
        格式:
                数据类型[][] 数组名称 = new 数据类型 [数组长度][数组长度];
                解析含义:
                        左侧数据类型:也就是数组当中保存的数据,全都是统一的数据类型
            左侧的中括号:表示我是一个数组
            左侧的数组名称:数组的名称
            右侧的new:代表创建数组的动作
            右侧的数据类型:必须和左侧的数据类型保存一致
            右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字
```java
public class Array {
        public static void main(String[] args) {
                //数据类型[][] 数组名称 = new 数据类型 [数组长度][数组长度];
      int[] arrayA = new int ;
      double[][] arrayB = new double ;
      String[][] arrayC = new double ;
      //动态初始化也可以拆分成为俩个步骤
      int[][] = arrayD;
      arrayD = new int;
        }
}
```

2.静态初始化(指定内容)

​        基本格式:
           数据类型[][] 数组名称 = new 数据类型[][] {{元素1,...},{元素1,...}};
​        省略格式:
           数据类型[][] 数组名称 = {元素1,元素2,....};
           注意事项:
​               1.虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
​               2.静态初始化标准格式可以拆分成俩个步骤。
​               3.动态初始化也可以拆分成为俩个初始化
​               4.静态初始化一旦使用省略模式,就不能拆分成俩个步骤了。
           使用建议:
​               如果不确定数组当中的使用内容,用动态初始化;已经确定了具体内容,用静态初始化。

```java
public class ArrayB {
        public static void main(String[] args) {
                //直接创建一个数组,里面装的都是int数字,具体为:[,]
      int[][] array1 = new int[][] {{5,15,25},{6,16,26}};
      String[][] array2 = new String[][] {{"Hello","world"}, {"Java","JavaScript"}};
      //静态初始化的标准格式,可以拆分成为俩个步骤
      int[][] ArrayB;
      ArrayB = new int[][] {{11,22,33},{44,55,66}};
        }
}
```

### 使用二维数组
```Java
public class Array {
    //使用数组
      格式:
            数组名称[索引值][索引值];
            索引值:就是一个int数字,代表数组当中元素的编号
            【注意】索引值从0开始,一直到数组长度-1为止。
        public static void main(String[] args) {
                int[][] array = new int[][] {{10,20},{30,40}};
                for(int i = 0;i<array.length;i++){
                        for(int j =0,j<a.length;j++){
                                System.out.println(array)
                        }
                }
        }
}
```

yyb414 发表于 2021-7-10 14:35

回帖是美德!

仙玉重压 发表于 2021-7-10 17:01

牛啊牛啊      

星空下的流星 发表于 2021-7-15 11:35

巩固复习ing
页: [1]
查看完整版本: 【自学笔记】 Java基础 - 数组