検索
ホームページJava&#&チュートリアル【Java入門ノート】Java言語の基礎(5):配列

はじめに

配列は複数のデータを格納するために使用できます。Java 配列では、すべての配列要素が同じデータ型である必要があります。配列が初期化されると、配列のメモリ内のスペースは固定され、配列の要素がクリアされても、占有されたスペースは保持されたままになります。

ライフケース: ミュージアムラック

【Java入門ノート】Java言語の基礎(5):配列

各アイテムラックには同じ種類のアイテムが含まれており、アイテムが棚から取り外されてもアイテムラックは変わりません。

配列を定義する

【Java入門ノート】Java言語の基礎(5):配列

配列を使用するための 4 つのステップ:

1. 配列を宣言する

Java は 2 つの形式の配列定義形式をサポートします。 型変数名[];

例:

int[] a;int b[]; //どちらの方法も機能しますが、最初の方法を使用することをお勧めします。

配列の宣言は、上記の例では博物館でカスタマイズされたアイテム ラック (配列) を購入することに相当しますが、アイテム ラックのサイズ (配列サイズ) はまだ決定されておらず、アイテムラック(配列要素)。

2. スペースを割り当てる

スペースを割り当てるには、配列を初期化する方法が 2 つあります:

1 つ目: 静的初期化

静的初期化の構文形式は次のとおりです:

データ型 [] 変数name = 新しいデータ型 []{データ 1, データ 2, データ 3,...};

例:

int[] a = new int[]{4,2,64,12,3}; /これらの数値を配列に格納します。配列のサイズ (長さ) は中括弧内の要素の数です。この例では、サイズは 5String[] b = new String[]{"Zhang San", "Li Si", " Wang Wu"}; //すべてのデータの型は定義されたデータ型である必要があります int[] c = {2,5,7}; //この略語も使用できます

これは次のようなものですカスタマイズされたアイテムを購入する アイテムラックが戻ってきて、ディスプレイアイテムがアイテムラックに配置され、アイテムがアイテムラックのサイズと同じ大きさになります。

2 番目: 動的初期化

動的初期化は、配列のサイズのみを指定し、システムに各要素の初期値を指定させる方法です。構文形式は次のとおりです:

データ型 [] 変数名 = 新しいデータ型 [サイズ];

この形式では、データの長さを指定した後、整数型の配列サイズを指定する必要があります。配列に格納できる要素の数が決まります。また、すべての要素にデフォルトの初期値を割り当てます。

例:

int[] a = new int[5]; //長さ 5 の配列を定義します。つまり、同時に 5 つの int 型の値を格納できます。初期化中のデフォルト値は次のように設定されます:

byte、short、int、long のデフォルトは 0;

float、double のデフォルトは 0.0; 'u0000';

boolean のデフォルトは false;

他の参照型のデフォルトは null;

3. 割り当て

配列を初期化しても、内部のデータは割り当てによって変更できます。配列は初期化され、配列のサイズは決定されました。各配列要素に値を割り当てるにはどうすればよいでしょうか。

配列には添字の概念もあります。配列が初期化されると、項目の表示棚の番号と同じように、各要素に添字が割り当てられます。

配列の添字は 0 から始まります。つまり、最初の要素の添字は 0 です。なぜ 0 から始まるのかについては、後で説明します。まず代入の例を見てみましょう。

int[] a = new int[3]; //長さ 3 の int 型配列を定義し、3 つの要素の値はデフォルトで 0 に設定されます。 //最初の要素を設定します。 value to 4a[1] = 5; //2 番目の要素の値を 5a[2] = 7 に設定します

なぜ配列の添字は 0 から始まるのでしょうか?

最初に知っておく必要があるのは、プログラムがコンピューターのメモリ内で実行されると、データを保存するためにメモリ内に小さなスペースが開かれ、コード内で変数が定義されるということです。 、例:

int a = 5;

値が 5 の int 型変数を定義します。これはメモリ内で次のように表され、a という名前の小さなメモリをメモリ内に割り当てます。そこに格納される値は 5 です。

【Java入門ノート】Java言語の基礎(5):配列

そして、a のような変数名を通じてメモリ内の値を取得するにはどうすればよいでしょうか?それは、私たちが住んでいる家に住所があるのと同じように、どんな小さな記憶にも住所があるからです。その住所を通して、そこに誰が住んでいるのかを知ることができるからです。

配列操作を容易にするために、2 つの配列がメモリ内の接続された場所に保存されます。

int[] b = new int[3] //長さ 3 の int 型の配列を定義します。内部の要素のデフォルト値は 0 です

このときのメモリは次のようになります:

【Java入門ノート】Java言語の基礎(5):配列

配列内のデータを取得する場合も同様です。 b 配列の各要素のデータを知る方法。 ?まず、配列 b がメモリ内のどこにあるかがわかります。配列はメモリ内の接続されたメモリ空間であるため、b[0] の位置は b+0 に等しく、b[1] の位置は次のようになります。 b+ 1,b[2]=b+2,... など、配列のすべての要素の位置がわかります。配列の最初の要素が b[0] で表される場合、それは正確に b で表される位置になります。最初の要素の位置を表すために 1 が使用される場合は、次のようにする必要があります。 a+1-1で表せます。

4. データの処理

前のコンテンツでは、配列を定義し、配列を初期化し、値を割り当てました。配列の添字を使用して、配列の各要素の値も配列の添字を介して取得されます。

int[] a = 新しい int[3]; a[0] = 3; a[1] = 4; a[2] = 5; System.out.println(a[1]); //配列の 2 番目の位置の値を取得して出力します。 //配列内の各要素をループすることもできます。 for(int i = 0; i

上記の例では、出力するためにループするときに、配列を渡すために a.length が使用されていることがわかります。変数名 .length は配列の長さを取得できるので、上記では a.length を使用して配列の長さを 3 に取得し、3 回ループして配列の要素を出力します。

存在しない添字にはアクセスしないでください

上記のように、変数名 [添字] を通じて変数に値を代入または取得することで配列を制御します。アクセスが配列の長さの添字を超える場合、異常に見えるでしょう。

int[] a = 新しい int[2]; a[5] = 2; // a 配列の長さは 2 倍だけで、添字 5 を通じて 6 番目の要素にアクセスします。この位置が実際の a 配列に存在しない場合、例外が発生します。

2 次元配列または多次元配列

上で説明したのは、基本データ型または参照データ型を配列に格納することですが、配列を配列に格納することもできます:

【Java入門ノート】Java言語の基礎(5):配列

上記では、配列要素に別の配列要素を格納し、その内部の配列にはデータ型 int の値が格納されます。このような配列を 2 次元配列と呼びます。

二次元配列の定義、初期化、代入

データ型 [ ] [ ] 配列名 = new データ型 [長さ 1] [長さ 2] ;

長さ 1 は配列の外層の長さ, length 2桁以内の1層の長さ。

上の図のフォームを定義して初期化するには、次のようにすることができます:

int[][] a = new int[3][3]; a[0][0] = 2; //アクセスする場合、最初の角括弧内の数字は配列の外側の層の要素の添字を表し、2 番目の角括弧内の数字は配列の内側の層の添字を表します。配列 a[0 ][1] = 3; a[0][2] = 4; a[1][0] = 5; a[1][1] = 3; a[1][2] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;

次のような形式で 2 次元配列を定義することもできます:

【Java入門ノート】Java言語の基礎(5):配列

int[][] a = new int[3][ ]; //初期化を定義するときに外側の層の長さを 3 に設定し、内側の層の長さを設定しないでください。
a[0] = new int[2] //内部の各層を初期化して、長さ a[1] = 新しい int[1]; a[2] = 新しい int[3]; a[0][0] = 3 //各要素に値を代入します a[0][1] = 4; a[1][0] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;


三次元配列は、配列を格納する配列内の配列です~~~~~ 類推すると、n 個の多次元配列が存在する可能性がありますが、ほとんどの人はあまり使用しません ~~~^_^~~ ~

以上、【Java入門】メモ】Java言語の基礎(5):配列の内容 その他の関連内容については、PHP中国語Webサイト(www.php.cn)にご注目ください。


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Java Platform Independence:開発者にとってはどういう意味ですか?Java Platform Independence:開発者にとってはどういう意味ですか?May 08, 2025 am 12:27 AM

java'splatformentencemeansdeveloperscancancodecodeonceanddevicewithoutrocompilling.cancodecodecodecodecodecodecodecodecodecodecodecode compilling

最初の使用のためにJVMをセットアップする方法は?最初の使用のためにJVMをセットアップする方法は?May 08, 2025 am 12:21 AM

JVMをセットアップするには、次の手順に従う必要があります。1)JDKをダウンロードしてインストールする、2)環境変数を設定する、3)インストールの確認、4)IDEを設定する、5)ランナープログラムをテストします。 JVMのセットアップは、単に機能するだけでなく、メモリの割り当て、ガベージコレクション、パフォーマンスチューニング、エラー処理の最適化を行い、最適な動作を確保することも含まれます。

製品のJavaプラットフォームの独立性を確認するにはどうすればよいですか?製品のJavaプラットフォームの独立性を確認するにはどうすればよいですか?May 08, 2025 am 12:12 AM

toensurejavaplatformindopendence、soflowthesesteps:1)compileandrunyourapplicationOnMultiplePlatformsusingDifferentosAndjvversions.2)utilizeci/cdpipelines

現代開発のためのJava機能:実用的な概要現代開発のためのJava機能:実用的な概要May 08, 2025 am 12:12 AM

javastandsoutinModerndevelopmentduetoitsotsobustfeatureslikelambdaexpressions、andenhancedconcurrencysupport.1)lambdaexpressionssimplify functionSalprogramming、codemoconciseandable.2)

Javaのマスター:そのコア機能と機能を理解するJavaのマスター:そのコア機能と機能を理解するMay 07, 2025 pm 06:49 PM

Javaのコア機能には、プラットフォームの独立性、オブジェクト指向のデザイン、豊富な標準ライブラリが含まれます。 1)オブジェクト指向の設計により、コードは多型機能を通じてより柔軟で保守可能になります。 2)ゴミ収集メカニズムは、開発者のメモリ管理の負担を解放しますが、パフォーマンスの問題を回避するために最適化する必要があります。 3)標準ライブラリは、コレクションからネットワークまでの強力なツールを提供しますが、コードを簡潔に保つためにデータ構造を慎重に選択する必要があります。

Javaはどこでも実行できますか?Javaはどこでも実行できますか?May 07, 2025 pm 06:41 PM

はい、javacanruneverywhereduetoits "writeonce、runanywhere"哲学 "哲学

JDKとJVMの違いは何ですか?JDKとJVMの違いは何ですか?May 07, 2025 pm 05:21 PM

jdkincludestoolsfordeveloping and compilingjavacode、whilejvmrunsthecompiledbytecode.1)jdkcontainsjre、compiler、andutitivities.2)jvmmanagesbytecodeexexecutionandsupports "writeonce、runany。

Java機能:クイックガイドJava機能:クイックガイドMay 07, 2025 pm 05:17 PM

Javaの主な機能には、1)オブジェクト指向設計、2)プラットフォームの独立性、3)ガベージ収集メカニズム、4)豊富なライブラリとフレームワーク、5)並行性サポート、6)例外処理、7)連続進化。 Javaのこれらの機能により、効率的で保守可能なソフトウェアを開発するための強力なツールになります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい