例)return;後ろに式を書くと、その評価結果を持ち帰ります。
例1)return -1; //定数値を返す 例2)return width; //変数の値を返す 例3)return y+"年"+m+"月"+d+"日"; //演算結果を返す 例4)return euclid( b, a % b ); //メソッドを実行しその結果を返す
戻り値が void のメソッドでは、必要があるときだけ return; を書きます。
return 式; とすると、コンパイル・エラーになります。
逆に、値を返すメソッドでは、return 式; で何らかの値を返さなければ、コンパイル・エラーになります。
return の後ろの式を ( ) で囲む形をよく見かけますが、その必要はありません。
また、ひとつのメソッドに return 文が複数あっても構いません。
//int-->double static double extend( int n ) { return n; //キャストしなくてもエラー無し } //double-->int static int cutoff( double d ) { return (int)d; //(int)がないとコンパイルエラー }ただし、暗黙の型変換が起こると分かっている場合でも、キャストを使って明示する方が曖昧さのないコードとなります。
[ 関連記事 ]
上の例1〜例4 の return文は、下記の Tips で参照できます。
例1),例4)最大公約数,
例2)コンストラクタやゲッター,
例3)n日後の日付を調べる
(例)2020/07/24 の -1000日後の日付を表示するには例えば次のようにします Calendar cal = Calendar.getInstance(); cal.set( 2020, 7-1, 24 ); cal.add( Calendar.DAY_OF_MONTH, -1000 ); System.out.println( cal.get(Calendar.YEAR)+"/"+ (cal.get(Calendar.MONTH)+1)+"/"+cal.get(Calendar.DATE) );getInstance でカレンダオブジェクトを用意し、set で 2020/7/24 を設定、add で-1000日後の日付に変えて表示しています。 Calendar.MONTH は 0 からなので月の設定時には -1 が、表示時には +1 が必要です。