【自学笔记】 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)
}
}
}
}
```
回帖是美德! 牛啊牛啊
巩固复习ing
页:
[1]