i=i+1; のことは i++; と書けます。
//Sample05_41.java
class Sample05_41{
public static void main(String[] args){
int i=0;
System.out.println(i++);
System.out.println(i++);
System.out.println(i++);
System.out.println(i++);
System.out.println(i++);
}
}
>javac Sample05_41.java >java Sample05_41 0 1 2 3 4
//Sample05_41NG.java class Sample05_41NG { public static void main(String[] args){ int i; i++;//初期化エラー System.out.println(i); } }
>javac Sample05_41NG.java
Sample05_41NG.java:5: エラー:
変数iは初期化されていない可能性があります
i++;
^
エラー1個
i=i-1; のことは i--; と書けます。
//Sample05_42.java
class Sample05_42{
public static void main(String[] args){
int i=4;
System.out.println(i--);
System.out.println(i--);
System.out.println(i--);
System.out.println(i--);
System.out.println(i--);
}
}
>javac Sample05_42.java >java Sample05_42 4 3 2 1 0
| 種類 | 表記 | 説明 |
|---|---|---|
| 前置のインクリメント | ++i | ++ してから、i を参照する |
| 後置のインクリメント | i++ | i を参照してから ++ する |
| 前置のデクリメント | --i | -- してから、i を参照する |
| 後置のデクリメント | i-- | i を参照してから -- する |
//Sample05_43.java class Sample05_43{ public static void main(String[] args){ int i=0; System.out.println(i++); // 0 System.out.println(i++); // 1 System.out.println(i++); // 2 System.out.println(i++); // 3 System.out.println(i++); // 4 System.out.println(i); // 5 } }
>javac Sample05_43.java
>java Sample05_43
0
1
2
3
4
5 ← 最終的な値は 5
//Sample05_44.java
class Sample05_44{
public static void main(String[] args){
int i=0;
int j=0;
System.out.println("前置 後置");
System.out.println(i+" "+j);
System.out.println("---------------");
System.out.println(++i+" "+j++);
System.out.println(++i+" "+j++);
System.out.println(++i+" "+j++);
System.out.println(++i+" "+j++);
System.out.println(++i+" "+j++);
System.out.println("---------------");
System.out.println(i+" "+j);
}
}
>javac Sample05_44.java >java Sample05_44 前置 後置 0 0 --------------- 1 0 2 1 3 2 4 3 5 4 --------------- 5 5
//Sample05_45.java
class Sample05_45{
public static void main(String[] args){
int i=0;
i--;
System.out.println(i);
i--;
System.out.println(i);
i--;
System.out.println(i);
i--;
System.out.println(i);
}
}
>javac Sample05_45.java >java Sample05_45 -1 -2 -3 -4