目次
1つは、アレイの概要です。
1.定義
配列(配列)は、同じ種類の複数のデータを特定の順序で並べて名前を付けたもので、これらのデータは番号付けによって一律に管理されます
2.アレイ関連の概念
-
配列名
-
素子
-
インデックス
-
長さ:要素の数
3.アレイの特性
配列は順序付けられています
配列自体は参照データ型ですが、配列の要素は基本データ型または参照データ型のいずれかです。
配列オブジェクトを作成すると、メモリ内の連続スペース全体が開きます。配列名は、この連続スペースの最初のアドレスを参照します。
配列の長さが決定されると、それを変更することはできません
4.アレイの分類
一般的に一次元配列と二次元配列に分けられます。。。。。。
第二に、一次元配列の使用
1.1次元配列の宣言と初期化
//静态初始化:数组的声明和数组元素赋值操作同时进行
int[] ids = new int[]{
1001,1002,1003};
//动态初始化:数组的声明和数组元素赋值操作分开进行
String[] names = new String[3];
2.配列の指定された位置にある要素を呼び出す方法
配列は、指定された位置要素をインデックスで呼び出し、割り当てまたは表示できます。
配列のインデックスは0から始まり、配列-1の長さで終わります。
インデックスを使用すると、配列の範囲外の例外が発生することがよくあります。エラーメッセージはjava.lang.ArrayIndexOutOfBoundsExceptionです。
String[] names = new String[3];
names[0] = "jak";
names[1] = "ros";
names[2] = "jack";
name[3] = "tom"; //java.lang.ArrayIndexOutOfBoundsException
3.配列の長さを取得する方法
配列の属性を渡します length
String name = new String[5];
name.length()
出力5
4.配列をトラバースする方法
-
ループトラバーサル用
int[] ids = new int[10]; for(int i = 0;i < ids.length;i++){ System.out.println(ids[i]); }
-
ループトラバーサル用に拡張
int[] ids = new int[10]; for(int id : ids){ System.out.println(id); }
5.配列要素のデフォルトの初期化値
デフォルトの初期化とは、配列への明示的な割り当てがないことを意味しますが、JVMはデフォルトで配列の各要素に初期値を割り当てます。
- 配列要素は整数0です
- 配列要素は浮動小数点型0.0です
- 配列要素はchar型0のASCII値です
- 配列要素はブール型falseです
- 配列要素は参照データ型nullです
三、二次元配列の使用
実際、世界には二次元配列はありませんが、一次元配列の要素は一次元配列です。私たちは一次元配列を二次元配列と呼ぶことに慣れています。
1.2次元配列の宣言と初期化
//静态初始化
int[][] arr1 = new int[][]{
{
1,2,3},{
2,3},{
3,4,5}};
//动态初始化1
int[][] arr2 = new int[3][2];
//动态初始化2
int[][] arr3 = new int[3][];
2.配列の指定された位置にある要素を呼び出す方法
int[][] arr = new int[3][];
arr[1][1]; //java.lang.NullPointerException 报错,空指针异常
3.配列の長さを取得します
int[][] arr1 = new int[][]{
{
1,2,3},{
2,3},{
3,4,5}};
System.out.println(arr1.length); //3
System.out.println(arr1[2].length); //3
System.out.println(arr1[1].length); //2
4.配列をトラバースする方法
for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr[i].length;j++){
System.out.print(arr[i][j])
}
System.out.println(); //换行
}
5.配列要素のデフォルトの初期化値
まず、いくつかの概念を定義します
int[][] arr = new int[3][4];
//外层元素
arr[1];
arr[2];
//内层元素
arr[1][1];
arr[1][2];
int[][] arr = new int[2][3];
外部要素のデフォルトの初期化値:アドレス値
内部要素のデフォルトの初期化値:1次元配列の初期化と同じ
int[][] arr = new int[2][];
外側の要素のデフォルトの初期化値:null
内部要素のデフォルトの初期化値:呼び出すことはできません。呼び出さないと、nullポインタが異常になります