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

Java 9のJShellで配列を初期化・操作する方法を徹底解説

JShellは、Java 9から導入されたコマンドラインツールであり、簡単な文や式、クラス、メソッド、変数などを入力すると、その評価結果を即座に出力してくれる便利な機能です。

Javaにおける配列もまたオブジェクトの一種です。配列を使用するには、まず宣言を行い、その後に生成(インスタンス化)する必要があります。整数型の配列を格納する変数を宣言する場合は、「int[] array」のように記述します。なお、配列のインデックスは「0」から「配列の長さ - 1」までの範囲となる点に注意しましょう。

以下のコードスニペットでは、インデックスを使って配列から特定の要素を取得する方法を示しています。要素へのアクセスにはインデックス演算子「[]」を使用します。例えば、式「marks[0]」は、配列marksのインデックス0に格納されている最初の要素を参照することになります。

スニペット1:配列の宣言と要素へのアクセス

jshell> int[] marks = {80, 75, 95};
marks ==> int[3] { 80, 75, 95 }

jshell> marks[0]
$2 ==> 80

jshell> marks[1]
$3 ==> 75

jshell> marks[2]
$4 ==> 95

jshell> int sum = 0;
sum ==> 0

jshell> for(int mark:marks) {
   ...>    sum = sum + mark;
   ...> }

jshell> sum
sum ==> 250

この例では、拡張for文(for-each文)を使って配列内のすべての要素を合計し、結果として250が出力されています。

次のコードスニペットでは、8つのint値を格納できる配列を作成し、forループを使って配列を反復処理しながら、各要素の値を出力する方法を示しています。

スニペット2:forループによる配列の反復処理

jshell> int[] marks = {1, 2, 3, 4, 5, 6, 7, 8};
marks ==> int[8] { 1, 2, 3, 4, 5, 6, 7, 8 }

jshell> marks.length
$1 ==> 8

jshell> for(int i=0; i < marks.length; i++) {
   ...>    System.out.println(marks[i]);
   ...> }
1
2
3
4
5
6
7
8

ここでは「marks.length」で配列の長さを取得し、それを条件にループ処理を行うことで、すべての要素を順番に表示しています。

最後のコードスニペットでは、異なる型の配列が初期化される際のデフォルト値を確認できます。int型は「0」、double型は「0.0」、boolean型は「false」、オブジェクト型は「null」でそれぞれ自動的に初期化されます。

スニペット3:型ごとのデフォルト初期値の確認

jshell> int[] marks = new int[5];
marks ==> int[5] { 0, 0, 0, 0, 0 }

jshell> double[] values = new double[5];
values ==> double[5] { 0.0, 0.0, 0.0, 0.0, 0.0 }

jshell> boolean[] tests = new boolean[5];
tests ==> boolean[5] { false, false, false, false, false }

jshell> class Person {
   ...> }
| created class Person

jshell> Person[] persons = new Person[5];
persons ==> Person[5] { null, null, null, null, null }

このようにJShellを活用すれば、配列の宣言・初期化・要素アクセス・反復処理といった基本操作を、コンパイルや実行環境を整えることなく手軽に試すことができます。Javaの学習や動作確認にぜひ活用してみてください。

  1. Javaでオブジェクトのパラメータとして配列を初期化する方法を解説

    Javaでは、クラス内で宣言された配列型のフィールド(インスタンス変数)も、他の通常の変数と同じように初期化できます。主な方法は次の2つです。 コンストラクタを使って初期化する セッター(setter)メソッドを使って初期化する 以下に、それぞれの方法を具体的なサンプルコードとともに紹介します。 例1:コンストラクタで配列を初期化する 次のJavaプログラムでは、配列型のインスタンス変数を宣言し、コンストラクタ経由で値を受け取って初期化しています。 public class Student { String name; int age; String subs[]

  2. Javaでboolean配列を初期化する方法をわかりやすく解説

    Javaにおけるboolean配列は、boolean型の値のみを格納できる配列です。boolean配列のデフォルト値(初期値)はfalseであり、配列を作成した時点で、すべての要素が自動的にfalseで初期化されます。一方、参照型(クラス型)の配列の場合は、nullで初期化される点に注意が必要です。 実際の開発では、「配列のすべての要素をtrueまたはfalseで明示的に初期化したい」というケースがよくあります。そのような場合には、Arrays.fill()メソッドを使うと、1行のコードで全要素をまとめて初期化できて便利です。 boolean配列の宣言構文 boolean[] booleanA