1.return
声明
Java メソッドについてはすでにすべて学習したと思いますか? 何を知っていると思っていても、まだ半分もわかっていません。
簡単なことから始めましょう。たとえば、Java には、それを呼び出すメソッドを即座に終了できるreturnステートメントがあります。声明は次のとおりです。
return;
やり方は簡単です。単独の単語のreturn
後にセミコロンが続きます。プログラムがこのステートメントを実行するとすぐに、現在のメソッドが終了し、呼び出しが続行されます。
return
メソッド内で が呼び出された場合main
、main
メソッドは直ちに終了し、それとともにプログラム全体も終了します。
例:
|
この fill メソッドは、渡された配列の一部を で埋めますvalue 。配列の埋められる部分は、インデックス from とによって定義されますto 。が 配列の長さより from 小さい場合0 、または配列の長さより大きい場合、メソッドはただちに終了します。to |
上記のプログラムには、fill
渡された配列を で埋めるメソッドがありますvalue
。from
配列全体を埋めるのではなく、インデックスとで指定された部分のみを埋めますto
。
メソッドの開始時にfill
、渡された値がチェックされ、それらが有効であることが確認されます。from
が0 より小さい場合、または が配列の長さより大きい場合、to
メソッドはfill
直ちに終了します (return
ステートメントが実行されます)。
このreturn
ステートメントは便利です。実際、Java のすべてのメソッドにはこれがあり、その理由は次のとおりです。
2. 結果を伴うメソッド、void
かつて、ステートメントと式があることを理解したことがあります。式はステートメントとは異なり、どこかで使用できる値を持ちます。
また、Java では、メソッドは値を持つことができます。これは非常に良いニュースです。メソッドは入力パラメータに基づいて何かを実行できるだけでなく、たとえば何かを評価して計算結果を返すこともできます。
ちなみに、あなたはすでにそのような方法に遭遇しています:
|
メソッドabs() は double を返します |
|
メソッド nextInt() は、int |
|
メソッド toUpperCase() は、String |
|
メソッド copyOf() は、int[] |
各メソッドは、あらかじめ決められた 1 つの型の 1 つの値のみを返すことができます。戻り値の型は、メソッドの宣言時に決定されます。
public static Type name(parameters)
{
method body
}
ここでname
、 はメソッドの名前、parameters
はメソッドパラメータのリスト、type
はメソッドが返す結果の型です。
何も返さないメソッドの場合は、特別なプレースホルダー タイプがあります: void
。
独自のメソッドを作成していて、呼び出し元のメソッドには何も返したくないですか? メソッドの型を として宣言するだけでvoid
問題は解決します。Java にもこのようなメソッドがたくさんあります。
3. 結果を返す
計算の結果を返すメソッドを宣言する方法を理解しましたが、メソッド自体でこの結果をどのように生成するのでしょうか?
このreturn
声明はここでもまた私たちを助けてくれます。メソッドから結果を渡す場合は次のようになります。
return value;
ここで、return
はメソッドを直ちに終了するステートメントです。そして、value
メソッドが終了するときに呼び出し元のメソッドに返す値です。の型はメソッド宣言で指定されたvalue
ものと一致する必要があります。type
例 1. このメソッドは 2 つの数値の最小値を計算します。
|
このメソッドは 2 つの数値の最小値を返します。 戻る 場合は戻る、 そうでない場合は 戻る a < b a b |
例 2. メソッドは、渡された文字列をn
何度も複製します。
|
このメソッドは、文字列とその文字列を繰り返す回数という 2 つのパラメータを受け取ります。 将来の結果のために空の文字列が作成されます。 反復のあるループでは times 、文字列にスペースとstr 文字列が追加されますresult 。文字列は result メソッドの結果として返されます。 |
例 3: このメソッドは、三項演算子を使用して 2 つの数値の最大値を計算します。
|
このメソッドは最大 2 つの数値を返します。 return (if a > b 、 then a 、それ以外の場合b ) |
GO TO FULL VERSION