Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaアレイ:初心者向けガイド

複数の値を格納する1つの変数を宣言できる方法があったとしたらどうでしょうか。がある?それは素晴らしいことです。 Javaには、これを正確に実行できる配列と呼ばれる概念があります。 1つの変数に複数の値を格納できるため、コードをクリーンで整理された状態に保つことができます。

このガイドでは、配列がどのように機能するか、配列が使用される理由、および配列の内容を操作する方法について説明します。いくつかの例を見て、それらがどのように機能するかを示します。

アレイとは何ですか?

リストとも呼ばれる配列は、要素の順序付けられたシーケンスを含むデータ構造です。 0個以上のアイテムを配列に格納できますが、それらはすべて同じタイプである必要があります。たとえば、配列には100個の文字列または52個の数値を格納できます。

配列は、類似した値をグループ化するのに役立つため、便利です。コーヒーの種類の配列を定義しているとしましょう。各タイプのコーヒーを独自の変数として宣言するのではなく、それらを配列にグループ化することができます。

配列を宣言したら、配列を反復処理することで、配列内のすべての値に対して同じメソッドと操作を実行できます。

配列について考える1つの方法は、値のコレクションとしてです。あなたは今日あなたが通り抜ける必要があるそのやることリストを知っていますか?これは配列に似ています。実行する必要のあるタスクのリストがあり、各タスクは特定の順序で保存されます。

配列の宣言

Javaで配列を宣言するのは簡単です。配列の名前を選択し、そのデータ型を指定するだけです。 coffeesという配列を宣言する例を次に示します。 :

String[] coffees;

私たちのコードはcoffeesという配列を作成します 。左側には、配列に格納されるデータのタイプがあります。空の角かっこもあります。これは、文字列変数だけでなく、配列を定義するコードを示します。右側には、変数の名前があります。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

まだ完了していません。配列を宣言するときは、配列に保持するアイテムの数をプログラムに指示する必要があります。これにより、Javaは、配列に値を格納するために必要なメモリを割り当てることができます。

coffeesが欲しい 私たちの地元の店で私たちの3つのお気に入りのブレンドを保管するための配列。これを行うには、配列が保持できる要素の数が3つであることをプログラムに通知します。

coffees = new String[3];

これにより、配列に入力できる3つの空の値が作成されます。

配列に格納する値の数を必ず検討してください。配列変数のサイズを一度定義すると、変更できないことに注意してください。

コードを1行に圧縮して、配列を宣言し、メモリを割り当てることができます。

String[] coffees = new String[4];

簡潔でシンプルなため、これは配列を宣言するための最良の方法です。この方法が機能しない唯一の場合は、配列に格納する値の数がわからない場合です。この場合、最初に配列を宣言し、プログラムが格納する値の数を認識したら、メモリを割り当てます。

この場合、配列は文字列値を保持します。ただし、整数の配列、オブジェクトの配列、配列の配列、または別のデータ型を保持する配列を宣言することもできます。

アレイの初期化

アレイの設定はまだ完了していません。これまでに、標準配列を宣言しました。問題は、まだ値を保持していないことです。変数を宣言するときに配列に初期値のセットを割り当てるための構文は次のとおりです。

String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };

この例では、配列に3つの値を割り当てています。

配列内の要素へのアクセス

アレイの利点は、簡単にアクセスできることです。比喩的に言えば、それはあなたが焦点を合わせたいやることリストの項目を一周するようなものです。

配列内では、すべてのアイテムに独自の特別な番号が付けられています。これらはインデックス番号と呼ばれます。インデックス番号は0から始まり、配列内のアイテムごとに1ずつ増加します。次のリストを検討してください。

  • 0:ルワンダイズバ
  • 1:フレンチロースト
  • 2:ベトナムダラットアラビカ

このリストでは、ルワンダイズバブレンドのインデックス値は0、フレンチローストブレンドのインデックス値は1、ベトナムダラットアラビカブレンドのインデックス値は2になります。次の配列を考えてみましょう。

String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };

この配列の最初の項目にアクセスする場合は、次のコードを使用できます。

System.out.println(coffees[0]);

コードが返されます:ルワンダイズバ。

インデックス値は、角かっこで囲まれた配列に渡されます。インデックス値として存在する数値の範囲は、0から配列の長さより1小さい範囲です。これは、前述したように、配列が値0からインデックス付けされるためです。

存在しないインデックス値にアクセスしようとすると、エラーが返されます:

ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

この場合、配列のインデックス値3にアクセスしようとしました。インデックス値は2つまでしか増えないため(配列は0からインデックス付けされることに注意してください)、エラーが返されました。

ワンランク上のものにしましょう。配列内のすべてのアイテムを調べて、それらに対して個別に操作を実行するとします。配列内のすべてのアイテムをコンソールに出力します。これは、次のようにfor-eachループを使用して実行できます。

class CoffeeArray {
   	public static void main(String[] args) {
String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };
for (String coffee : coffees) {
	System.out.println(coffee);
}
	}
}

コードは次のようになります:

Rwanda Izuba
French Roast
Vietnam Da La Arabica

この例では、コードはcoffeesのすべてのアイテムを繰り返し処理します 配列し、各アイテムをコンソールに出力します。カウンターを必要としないため、「for」ループの代わりにfor-eachループを使用しました。これは、より簡潔で読みやすいことを意味します。

配列内のアイテムの変更

ヒューストン、問題があります。私たちのお気に入りのフレンチブレンドは、実際にはフレンチローストとは呼ばれていません。フレンチクラシックと呼ばれています。これを変更したい場合は、インデックスを使用できます。

次のコードを検討してください。

class CoffeeArray {
   	public static void main(String[] args) {
String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };
coffees[1] = "French Classic";
System.out.println(coffees[1]);
	}
}

代入演算子(=)を使用して、インデックス位置1にあるコーヒーの値を変更しました。値をFrench Roastから変更しました。 French Classicへ 。コードは次のようになります:FrenchClassic。

Java配列:例

1つの例で説明したすべての概念をまとめましょう。先週、コーヒーに費やした合計金額を計算したいとします。

まず、プログラムのクラスと変数を設定します。

class CoffeePrices {
   	public static void main(String[] args) {
		Double[] purchases = {2.55, 2.75, 2.99, 3.05};
		double sum = 0;
	}
}

2つの変数を宣言しました。 1つの変数は、購入のリストを格納します。次の変数は、コーヒーに費やした金額のカウンターを格納します。次のステップは、コーヒーを購入するたびにループし、それを「sum」変数に追加するfor-eachループを作成することです。

for (double purchase : purchases) {
sum += purchase;
}

コードを実行すると、プログラムは先週コーヒーに費やした合計金額を計算します。問題は1つだけです。私たちのプログラムでは、その価値が何であるかがわかりません。コンソールに出力することで値を取得できます。

このコードをすべて一緒に実行すると、次のように返されます。

You've spent $11.34 on coffee in the last week.

$11.34 on coffee. Not bad! What a useful program.



結論(および挑戦)

配列は、同じデータ型の複数の値を格納できるデータの種類です。お気に入りの本のリスト、ゲームのプレーヤーのリスト、平均を計算したい数のリストなど、あらゆるものの配列を宣言できます。

あなたは挑戦を探していますか?読む。

詳細を調べるために旅行先を選択するようにユーザーに求めるプログラムを作成します。旅行先を配列で保存する必要があります。各宛先の1文の説明を個別の配列に格納する必要があります。

ユーザーが旅行先を選択したら、旅行先の配列からそれを見つけて、そのインデックス番号を計算します。次に、そのインデックス番号を使用して、対応する宛先の1文の説明をコンソールに出力します。

これで、プロのようにJavaで配列を使い始める準備が整いました。


  1. コムソート用のJavaプログラム

    Javaのコムソートは、リストの最後にある小さい値を削除し、反転は1つずつ削除されます。例を見てみましょう- 例 import java.util.Arrays; public class Demo{    void comb_sort(int nums[]){       int len_gap = nums.length;       float shrink_val = 1.3f;       boolean swap = false;      

  2. Javaのデフォルトの配列値

    Javaは、同じタイプの要素の固定サイズの順次コレクションを格納するデータ構造、配列を提供します。配列はデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が便利な場合がよくあります。要素を割り当てずに配列を作成すると、コンパイラはそれらにデフォルト値を割り当てます。次に例を示します。 ブール値-false int-0 ダブル-0.0 オブジェクト-null 例 public class Tester {    public static void main(String[] args) {