戻り値なしと戻り値ありの違い
戻り値とは値を呼び出し元に返すこと
値・・・数値、文字列など ※配列{1,2,3}も値に入る
〈戻り値なし〉
main add(100,200);
static add(int x, int y){
int ans=x+y;
print(x+"+"+y+"+"+"="+ans);
→mainのaddメソッドから100と200がstaticのaddへ引数として渡され、
addのint xへ100がint yへ200が代入され、addの中身の式が実行される
そして、mainメソッドへは
int ans=x+y;
print(x+"+"+y+"+"+"="+ans);
という式が戻される(※値じゃない)
よって、mainでの出力は
100+200=300
↑
(x+"+"+y+"+"+"="+ans)に引数100と200を代入した式
〈戻り値あり〉
main int ans=add(100,200);
static int add(int x,int y){
int ans=x+y;
return ans;
}
→mainのaddメソッドから100と200がstaticのaddへ引数として渡され、
addのint xへ100がint yへ200が代入され、addの中身の式が実行される
そして、mainメソッドへは
int ans=x+y;の結果であるint型の値 300が戻される
よって、mainでの出力は
300という値のみ
↑
(戻り値を受け取った式はint ans=300
なので、ansを記述すると300という値が出力される)
戻り値ありでは、値を受け取らないといけないので、
mainメソッドでは受け取るための型を指定しなければならない
ex. int型の値を戻す場合 戻り値の型 int
int型配列の値を戻す場合 戻り値の型 int[ ]
戻り値なしでは、値の型はいらない
add(100,200);
↓
int ans=x+y;
print{x+y};
値が代入されるのではなく、それ自体が式に置き換わる