夏休み暇だからプログラミング始めてみる

夏休み暇だからプログラミング始めてみる。eclipseでJavaやる。

後置インクリメントと前置インクリメントがわからない

「毎日少しずつでも更新していきたい」

とか書いておいて次回更新がだいぶ先になってる。これくらいは想定していましたがここまで想定通りだとビックリです。対策を打たねば。

 

さて本題。インクリメントの仕組みがよくわからない。

public static void main(String[] args) {

// TODO Auto-generated method stub

int x=5;

int y= ++x + x--;

System.out.println(x);

System.out.println(y);

}

 

実行結果:

5

12

 

 後置デクリメントの方が優先順位が高いから先に評価されて

y= ++x + 5;      //xを評価してから、x=x-1;を実行。

 

次に前置インクリメントが評価されて

y= 5 + 5;         //x=x+1; を実行してから、評価。

 

でyには10が代入されると思ったのですが、結果は12。

おそらく前置インクリメント→後置デクリメント の順で実行されているのだと思いますが優先順位は後置の方が高いのでなぜなのか疑問です。もしわかるかたいらっしゃればコメントなどで教えて下さると幸いです。

夏休み暇だからプログラミング始めてみる

夏休み暇だからプログラミング始めてみる。eclipseJavaやる。

 

参考書はわかりやすいJava入門。立ち読みしたら丁寧に描いてあってamazonのレビューも良いっぽかったので。

わかりやすいJava入門編

わかりやすいJava入門編

 

今日はとりあえずeclipseをダウンロードして環境作ろうと思ったけど日本語化が全然うまくいかない。諦めて英語のままやることにしてサンプルプログラム作った。

 

明日からも一日少しずつでも進めながら進捗を報告したい。