の 読み取り、評価、印刷のループ または REPL シェルインターフェースです。このインターフェイスは、入力の各行を読み取って評価し、結果を出力します。の 読み取り、評価、印刷のループ 特定の状態にあるアプリケーション ランタイムと対話するのに役立ちます。コマンドは、 REPL そして結果を印刷します。結果を出力した後、REPL は最初に戻り、次の入力を読み取り、評価し、出力します。
REPL を使用すると、コンパイルせずに Java コードを簡単に作成してテストでき、出力をコンソールで直接確認できます。
Java には REPL がまだありませんか?
確かに、REPL は次のような確立された言語で書かれている必要があります。 ジャワ 。ただし、すべての言語に REPL があるわけではなく、Java もその 1 つです。 Java 開発者はそれを最も必要としていました。 Java には、Java Beanshell として REPL のようなものがしばらく存在していました。しかし、このプロジェクトは他の言語を備えた完全な機能を備えた REPL ではありませんでした。このため、2016 年に、全機能の REPL 環境を提供する Java 9 がリリースされました。
REPL がなぜそれほど役立つのでしょうか?
REPL を使用すると、javac コマンドを使用して Java コードをコンパイルしたりテストしたりする必要がなくなります。 REPLを使用した後は、
- Java プログラムを作成するためにエディタは必要ありません。
- Java プログラムを保存する必要はありません。
- Javaプログラムをコンパイルする必要はありません。
- コンパイル時または実行時エラーが発生しても編集する必要はありません。
- プロセスを繰り返す必要はありません。
クラスを作成しなくても、メソッド、クラス、ステートメントを評価できます。 「Hello World」プログラムは、クラスを作成せずに作成することもできます。
10億は何百万ですか
REPL を使用するための要件
使用するための要件は 1 つだけです REPL つまり、次のようにする必要があります Java9 システム内のそれ以降のバージョン。 Java 9 がシステムにインストールされている場合は、すぐに使用できます。 REPL 。現在の状況を確認するには Javaのバージョン システムでコマンド プロンプトを開き、次のコマンドを入力します。
java -version
REPLの使用
以下は、数式の評価、フィボナッチ数列の計算、動的クラスの作成、履歴の把握、クラスの変更を行う REPL の例です。
例 1: 数式の評価
jshell> double a = 10; jshell> a= Math.pow(a, 2); jshell> a+20 jshell> /vars jshell> double data = Math.pow(8.3, 5);
説明:
Javaのtostring
最初の行で変数を作成します 「あ」 double 型で、初期値 10 を設定します。その後、変数 'a' の 2 乗を見つけて、同じ変数に格納します。その後、変数「a」に 20 を加算するだけです。 Jshell は結果を一時変数に入れます。 「3ドル」 。次に、 '/だれの' コマンドを実行すると、作成されたすべての変数が表示されます。最後に変数を作成します 'データ' double 型の 5 を格納します番目桁のべき乗 8.3。
出力:
クラスカルスアルゴリズム
例 2: フィボナッチ数列の計算
jshell> int fibo(int no) (no == 1)) ...> return no;e all possible completions; total possible completions ...> else ...> return fibo(no-1)+fibo(no-2); ...> jshell> /methods jshell> fibo(11) jshell> fibo(12) jshell> int[] arr = { 1,2,3,4,5,6}; jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> }
説明:
コードの最初の 6 行では、フィボナッチ数列のメソッドを作成します。その後、私たちは、 /メソッド Jshell のコマンド。利用可能なすべてのメソッドが表示されます。次の 2 行で、 フィボ() 整数値を渡すことによってメソッドを実行します。配列を作成します 到着しました フィボナッチ数列を取得する項の数を決定します。次に、for 各ループを使用して arr の各値を繰り返します。 arr の各値を fibo() メソッドに渡し、その戻り値を出力します。
出力:
例 3: 再利用のための REPL
jshell> int fibo(int no){ ...> return 2; ...> } jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> }
説明:
cコードabs
上記のコードでは、以前に作成したものと同じ戻り値の型と引数を持つ fibo() メソッドを作成します。現時点では、Jshell は以前の Jshell をオーバーライドします。 'フィボ()' 現在のメソッドを使用します。次に、arr の各値を関数に渡して、fibo() メソッドがオーバーライドされるかどうかを確認します。
出力:
例 4: クラスの定義
jshell> class Student{ ...> public String Name; ...> public int age; ...> public String course; ...> public int semester; ...> public Student(String Name, int age, String course, int semester){ ...> this.Name=Name; ...> this.age=age; ...> this.course = course; ...> this.semester=semester; ...> } ...> public void showData(){ ...> System.out.println('Name= '+ Name); ...> System.out.println('Age= '+ age); ...> System.out.println('Course= '+ course); ...> System.out.println('Semester= '+semester); ...> } ...> }
説明:
上記のコードでは、クラスを作成します '学生' 、名前、年齢、コース、学期が含まれています。これらの変数に値を設定するコンストラクターを作成します。コンストラクターの後に、クラスの各インスタンスのすべての変数の値を表示するメソッドを作成します。
出力:
例 5: クラスのインスタンスの作成
jshell> Student s1 = new Student( 'Shubham Rastogi', 18, 'MCA', 4); jshell> Student s2 = new Student( 'Kartik Rastogi', 23, 'MCA', 3); jshell> /vars jshell> s1.showData(); jshell> s2.showData();
説明:
Javaで配列をソートする方法
上記のコードでは、クラスの 2 つのインスタンスを作成し、すべてのクラス変数の値をコンストラクターに渡します。次に、Jshell コマンドを実行して、s1 変数と s2 変数が作成されているかどうかを確認します。最後に、showData() メソッドを呼び出して、各インスタンスのデータを表示します。
出力: