Javaの基礎06配列の基礎

プログラミングが好きなあなたのように!
SpringBoot実用的なコースは学習https://edu.csdn.net/course/detail/31433
SpringCloud入門コースを学びhttps://edu.csdn.net/course/detail/31451を


序文

配列はJavaの重要な知識ポイントです。この記事の内容は次のとおりです。

  1. アレイの概要
  2. 配列定義
  3. 配列の初期化
  4. foreachループ
  5. 配列ツール
  6. 2次元配列の使用

アレイの概要

なぜ配列が必要なのですか

質問:生徒管理システムを開発する必要があるとしましょう。クラスに40人のクラスメートの名前を保存するにはどうすればよいですか。
40個の変数を定義する

String name1 = “zhangsan”;
...
String name40 = “lisi”;

クラスメートが100人または1,000人いる場合はどうなりますか?
変数は1つのデータしか格納できないため、大量のデータを格納するのには適していません。
配列を使用して、複数のデータを保存できます。

配列とは

ここに写真の説明を挿入
スーパーマーケットの外のロッカーに似ています

  1. たくさんのアイテムを収納できます
  2. 各グリッドのサイズは同じです
  3. 各グリッドは、隣接する順序で並べ替えられます
  4. グリッドには番号でアクセスします

配列の概念

  1. 配列はメモリ内の連続したストレージスペースです
  2. 配列内の各データのタイプは同じです
  3. 配列内のデータには、添え字を介してアクセスします

配列分類

アレイは次のように分割されます。

  1. 1次元配列、連続したストレージスペースの行
1 2 3 4 5
  1. 2次元配列は、複数の行と複数の列を持つ構造と見なすこと
    ができ、1次元配列のネストと見なすことができます。各配列は1次元配列です。
1 2 3 4 5
6 7 8 9 10

配列を定義する

配列を作成するときは、同時に配列の長さを定義します。

类型[] 数组名 = new 类型[长度];
int[] array = new int[5];

[]は配列名の後に置くこともできます

类型 数组名[] = new 类型[长度];
int array[] = new int[5];

最初に配列を宣言してから、長さを定義することもできます。

类型[] 数组名;
数组名 = new 类型[长度];

注:配列が作成されると、データのデフォルト値は次の
ようになります。intのデフォルトは0、floatのデフォルトは0.0f、doubleのデフォルトは0.0、Stringのデフォルトはnullです。

配列のメモリ割り当て

  • 基本的なデータ型は、データ値を直接保存することです
  • 参照データ型は、データが保存されるメモリアドレスです。
    ここに写真の説明を挿入

配列の初期化

配列の初期化は、配列要素に値を割り当てることです
.2種類の初期化:

  1. 静的初期化
    配列を定義するときに、配列のデータに値を割り当てます
数据类型[] 数组名 = {值1,值2,值3...};
如:int[] array = {20,44,33,100,55};
数据类型[] 数组名 = new int[]{值1,值2,值3...};
如:int[] array = new int[]{20,44,33,100,55};

注:静的初期化では長さを定義できません。配列の長さは値の数によって決まります。

  1. 動的初期化
    配列を定義した、ループを使用して配列に値を割り当てます
int[] array = new int[5];
for(int i = 0;i < array.length;i++){
	array[i] = i;
}

データにアクセスするための配列配列名[インデックス]によって、注意:

  • 下付き文字は0から始まります
  • 添え字が0から配列の長さ-1の範囲にない場合、ArrayIndexOutOfBoundsExceptionが発生します

演習:長さ5の文字列配列を定義し、データを動的に初期化し、出力:
配列最初、最後、および中間の文字列値。

強化されたforループ

foreachループは、jdk1.5以降でサポートされている構文であり、配列またはコレクションをトラバースするために使用され
ます。構文は次のとおりです。

for(数据类型 变量名 : 数组名){
	访问变量的值
}

注:このタイプのforループは、配列内のデータにのみアクセスでき、変更することはできません。
変更する必要がある場合は、通常のforループを使用する必要があります。

演習:
5つの長さの文字列配列を定義し、配列を静的に初期化します
。foreachループを使用して配列要素を出力します

二次元配列

2次元配列とは、
行と列で構成されるテーブル構造として理解でき、1次元配列にネストされた1次元配列と見なすことができます。

二次元配列の作成

数据类型[][]  数组名 = new 数据类型[行数][列数];
如:int[][]	array = new int[3][5];

2次元配列アクセス

数组名[行下标][列下标];
如:访问上面数组第二行第三个元素,array[1][2];

2次元配列の初期化
静的初期化

数据类型[][] 数组名 = {
   
   {值,值,值...},{值,值,值...},{值,值,值...}..};
数据类型[][] 数组名 = new 数据类型[][]{
   
   {值,值,值...},{值,值,值...},{值,值,值...}..};

動的初期化

int[][]	array = new int[3][5];
for(int i = 0;i < array.length;i++){
	for(int j = 0;j < array[i].length;j++){
		array[i][j] = i * j;
	}
}

配列ツール

Arraysクラスは、配列に関連する多くのメソッドをカプセル化し、開発効率を向上させることができます。
一般的なメソッド:


  1. Arrays.sort(配列名)を並べ替える
  2. 検索
    するArrays.binarySearch(配列名、見つけるための番号)をint型
    の結果を得ることは数の添字を見つけることです
  3. コピー
    Arrays.copyOf(コピー配列名、長さ
    、新しい配列の、得られた結果は新しい配列であります
  4. 充填
    Arrays.fill(配列名、充填される番号);充填
    同じ値を持つ配列を
  5. Compare
    Arrays.equals(配列名1、配列名2)
    は、2つの配列値が同じであるかどうかを返します

終わり

この記事は終わりました。あなたがそれを習得したかどうかはわかりません
宿題を残して確認しましょう。1。長さ5の整数配列を定義し、同時に5つの初期値を指定して値を出力します。ループ内の配列内。
2. 5つの要素を持つ整数配列aが与えられた場合、aのすべての要素の合計を求めます。
3.配列を定義し、5人の名前を入力して配列に保存し、1人目、3人目、5人目の名前を出力します。


他のJavaの知識を学ぶ必要がある場合は、ここでJavaの概要に関する非常に詳細な知識を調べてください。

おすすめ

転載: blog.csdn.net/u013343114/article/details/112308634