のは、何が起こっているのか(行ずつ)を見てみましょう:
public static void main(String[] args) {
char a = 'a'; // <- start from 'a'
for (int i = 0; i <= 5; i++) ; // <- trick: the loop does nothing: please notice ";"
a++; // <- increment : 'a' + 1 = 'b'
++a; // <- increment : 'b' + 1 = 'c'
System.out.println(a); // print out: ('c')
}
だから、'c'
を持っています。
public static void main(String[] args) {
char a = 'a'; // <- starts from 'a'
for (int i = 0; i <= 5; i++) // <- six times...
a++; // <- increment: 'a' + 1 + 1 + 1 + 1 + 1 + 1 = 'g'
++a; // <- increment: 'g' + 1 = 'h'
System.out.println(a); // print out ('h')
}
ご理解
インクリメント手紙回:あなたの教師は、propably、(:ループため後;
のabscence、唯一の違いを何卒ご了承下さい)以下のコードを示唆しました反復数
は、この行の末尾に
public static void main(String[] args) {
char a = 'a'; // <- starts from 'a'
for (int i = 0; i < 5; i++) // <- five times... (please, notice < instead of <=)
{ // do two increments in a loop
a++; // <- first increment
++a; // <- second increment
}
System.out.println(a); // print out ('k')
}
a ++ = b、++ a = cしたがって、cを参照してください。セミコロンを削除すると、出力がhになります。 – SMA
for文の後に ';'を見て、ループの本体に何が含まれているかを考えます。 – Thomas
これは実際にはインクリメントがループ内にないので '' c''を表示します。 – f1sh