アレイの概要
配列(配列):、データモードの統一管理のために名前と番号を使用して、特定の収集順序の配置による複数の同じタイプのデータ。配列自体は参照データ型であり、配列内の要素は任意のデータ型(基本データ型と参照データ型)にすることができます。配列オブジェクトを作成すると、常にメモリ内の連続スペースが開きます。配列名は、この連続スペースの最初のアドレスを参照します。配列の長さが定義されると、変更することはできません。添え字(インデックス)を使用して、指定した位置にある要素を直接呼び出すことができます。配列の一般的な概念:
-
配列名
-
下付き文字(またはインデックス)
-
素子
-
配列の長さ
配列の分類: -
次元で分類:1次元配列、2次元配列、3次元配列..
-
配列内の要素タイプの分類によると、基本データ型要素の配列(整数配列、バイト配列など)と参照データ型要素の配列(つまり、オブジェクト配列)です。
-
定義による分類:動的型配列、静的型配列
一次元配列の使用
1次元配列の定義:
int [] numまたはintnum [];
注:javaで配列を宣言する場合、値の長さ(配列内の要素の数)は指定できません。例:int score [10] //エラー
配列の1次元初期化:
- 動的初期化:配列宣言の操作と、配列要素および割り当てのためのスペースの割り当ては、別々に実行されます。
例1:
package com.qwy;
public class Demo01 {
public static void main(String[] args) {
//动态声明一维数组:声明,并初始化
int[] score=new int[5];
//给数组赋值
score[0]=88;
score[1]=99;
score[2]=100;
score[3]=85;
score[4]=88;
//动态声明一维数组:先声明,再初始化
String names[];
names=new String[3];
//给数组赋值
names[0]="张三";
names[1]="李四";
names[2]="王五";
}
}
- 静的初期化:配列を定義するときに、スペースを割り当て、配列要素に値を割り当てます。
例2:
package com.qwy;
public class Demo02 {
public static void main(String[] args) {
//静态声明一维数组:声明,并赋值,注意不要编写数组长度
int[] score=new int[]{
88,89,99,100,86};
//静态声明一维数组,直接赋值
String names[]={
"张三","李四","王五"};
}
}
配列要素の参照:
1。newを使用してスペースを割り当てることを定義した後、配列内の各要素を参照できます。
2.配列要素の参照方法:配列名[配列要素の添え字]
1)配列要素の添え字は、整数定数または活性化式(a [3]、b [i]、c [6 * i]など)にすることができます。 ;
2)配列要素の添え字は0から始まります;長さnの配列の有効な添え字値の範囲:0 —> n-1; int a [] = new int [3]など;参照できる配列要素はa [0]、A [1]、a [2]
3.各配列には、その長さを示す属性の長さがあります。次に例を示します。a.lengthは、配列の長さを示しますa(要素の数)
注:配列が初期化されているため、長さの変更は許可されていません。
配列要素のデフォルトの初期化値:
配列は参照型であり、その要素はクラスのメンバー変数と同等であるため、配列にスペースが割り当てられると、その中の各要素は、と同じ方法で暗黙的に初期化されます。メンバー変数
例3:
package com.qwy;
public class Demo03 {
public static void main(String[] args) {
//静态声明一维数组:声明,并赋值,注意不要编写数组长度
int[] score=new int[5];
System.out.println(score[0]);//默认值0
System.out.println(score[2]);//默认值0
}
}
- 基本データ型の配列の場合、デフォルトの初期値は、対応する基本データ型のデフォルト値です。
参照:https://blog.csdn.net/qwy715229258163/article/details/113667381 - アプリケーションデータ型の配列の場合、デフォルトの初期値はすべてnullです。
1次元配列のメモリマップ
キーワードnewは、配列を作成するためにJavaで使用されます。基本的なデータ型要素の1次元配列を作成します。
例4:
package com.qwy;
public class Demo04 {
public static void main(String[] args) {
//创建一维数组:基本数据类型数组在显式赋值之前,Java会自动给他们赋默认值。
int[] scores=new int[5];
}
}
メモリグラフ:明示的な割り当ての
前例5:明示的な割り当ての後
package com.qwy;
public class Demo05 {
public static void main(String[] args) {
//创建一维数组:基本数据类型数组在显式赋值之前,Java会自动给他们赋默认值。
int[] scores=new int[5];
//重新赋值
scores[0]=88;
scores[1]=99;
scores[2]=100;
scores[3]=85;
scores[4]=88;
}
}
メモリマップ: