myMethod
内部で変更する変数がその範囲外で変更されないのはなぜですか?Javaは値渡しか参照渡しですか?
public class TestLoop {
public static void main(String[] args) {
myMethod(0, 3);
}
static void myMethod(int i, int j) {
System.out.println("i for:" + i + " j:" + j);
if (i == j)
return;
else {
myMethod(i + 1, j);
System.out.println("after myMethod Call for: i:" + i + " j: " + j);
}
System.out.println("outside i for: " + i);
}
}
「ロールバック」とはどういう意味ですか?変数はメソッド以外の場所には存在しません。戻り値の後にどのようにすることができますか?メソッドの呼び出しがメソッドの外の変数を変更しないことを意味するならば、それはそのままです。 'return'とは何の関係もなく、変数は外で変化しません。 '0'や' 3'はどうやって変わるでしょうか? –
ローカル変数が条件 'i == j'を満たすときに終了し、ローカル変数について読み込み、 –
を返すことができます。void関数内で 'return 'を実行できます。ループ – SomeJavaGuy