簡略記法 つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
複合代入演算子は
変数自身に値を加算する場合に
使える簡略記法だ。
例えば、int型のエネルギー変数が
あったとして、
それに10加算する場合はこう書くよな。
energy = energy + 10;
それを簡略記法を使えば
もっと簡単に書ける。
energy += 10;
結果はもちろん同じだよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
変数名を一回だけ
書けばいいんだ。
energy =
energy + 10;
加算元と先が同じ名前
だから省略できるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
慣れだよ
慣れ。 |
 |
|
 |
なんか
変なのー |
|
|
|
 |
|
 |
|
複合代入演算子の書式 |
|
a +=
99; |
= (イコール)の前に算術演算子を書く |
|
|
|
変数自身に値を加算する場合、
数値型変数への値の加減乗除を簡略化して記述できる。 |
|
加算 |
|
通常 |
簡略記法 |
書式 |
変数 = 変数 + 値 |
変数 += 値 |
例 |
a = a + 99; |
a += 99; |
|
|
減算 |
|
通常 |
簡略記法 |
書式 |
変数 = 変数 - 値 |
変数 -= 値 |
例 |
a = a - 99; |
a -= 99; |
|
|
乗算 |
|
通常 |
簡略記法 |
書式 |
変数 = 変数 * 値 |
変数 *= 値 |
例 |
a = a * 99; |
a *= 99; |
|
|
除算 |
|
通常 |
簡略記法 |
書式 |
変数 = 変数 / 値 |
変数 /= 値 |
例 |
a = a / 99; |
a /= 99; |
|
|
|
|
 |
|
 |
|
|
 |
|
 |
|
複合代入演算子の書式(変数同士) |
|
a +=
b; |
= (イコール)の前に算術演算子を書く |
|
|
|
変数同士の計算にも使える。 |
|
通常 |
簡略記法 |
書式 |
変数a = 変数a + 変数b |
変数a += 変数b |
例 |
a = a + b; |
a += b; |
|
|
|
|
 |
|
 |
|
|
 |
もちろん
加減乗除でね。
|
|
|
|
|
|
どう?
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
さっきの、while文の例の
回復処理を書き換えると
こんな感じ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
やっぱり
なんか変ー。 |
|
|
|
 |
|
 |
|
複合代入演算子での改変例 |
|
while文の例(KotoTest11のKNMain.java)31行目~ |
|
|
改変前 |
・・・ |
|
|
|
031 |
|
//回復処理 |
|
032 |
|
yuushaLifePoint = yuushaLifePoint +
KAIFUKU_POINT; |
|
・・・ |
|
|
|
|
|
改変後 |
・・・ |
|
|
|
031 |
|
//回復処理 |
|
032 |
|
yuushaLifePoint
+=
KAIFUKU_POINT; |
|
・・・ |
|
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この簡略記法は、
一般的に使われる。
通常の書式よりも、
簡略記法の方が使われるんだよ。
一般的に使うのは、加減算かな。
セッションでも
今後はこっちを使うから
必ず覚えてくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
今後は
こっちが
普通ね。 |
 |
|
 |
はいっ。
なんか変な
感じだけど。
慣れないと。 |
|
|
|
 |
|
 |
|
boolean型変数の簡略記法 |
|
boolean型変数を条件式で使う場合、簡略化できる |
条件が 「trueなら」 の場合 |
|
通常 |
簡略記法 |
書式 |
(boolean型変数 == true) |
(boolean型変数) |
例 |
if(loopFlg == true){・・・ |
if(loopFlg){・・・ |
|
|
条件が 「falseなら」 の場合 |
|
通常 |
簡略記法 |
書式 |
(boolean型変数 == false) |
(!boolean型変数) |
例 |
if(loopFlg == false){・・・ |
if(!loopFlg){・・・ |
|
|
|
|
 |
|
 |
|
|
慣れてね。 |
|
|
 |
falseの場合は
ビックリマークを
前に付けるんだ。
!演算子で
逆の意味に
したんだね。 |
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次はboolean型の変数の
簡略記法だよ。
これは、if文やwhile文の
条件式に使える。
セッションでも今後は
これを使うから必ず
覚えてくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん・・・
「==」で判定しないでも
変数を書くだけで
同じ意味になるんだ
書き方は簡単だけど・・・。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
さっきの、while文の例の
条件式を書き換えると
こんな感じ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
うーん・・・ |
 |
|
|
|
|
 |
|
 |
|
boolean型変数の簡略記法での改変例 |
|
while文の例(KotoTest11のKNMain.java)30行目~ |
|
|
改変前 |
・・・ |
|
|
|
030 |
|
while(loopFlg ==
true){ |
|
・・・ |
|
|
|
|
|
改変後 |
・・・ |
|
|
|
030 |
|
while(loopFlg){ |
|
・・・ |
|
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
でもさ、なぽちゃん。
条件式には
(loopFlg)って書くより、ちゃんと
(loopFlg == true)って書いた
ほうが意味が分かりやすい
と思うんだけど。
複合代入演算子もそうだけど
簡略記法だとなんか分かり
づらいよ。
いつも読みやすいコードって
言ってるでしょ? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん、
言いたい事は分かるけどね。
boolean型の場合も、
一般的に使われるのは
簡略記法の方なんだよね。
業務でもなんでも。
慣れといた方がいいから、
今は何も考えず丸暗記しちゃえ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
そうなんだ。 |
 |
|
 |
慣れると
こっちの方が
便利だよ。 |
|
|
|
今後は
簡略記法で
書いていくからね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
以上、セッションで
使う簡略記法を
覚えておいてくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
はい。
まずは
丸暗記するね。 |
|
|
|
 |
|
 |
|
簡略記法一覧 |
|
簡略記法 |
当セッション
での使用 |
内容 |
インクリメント・デクリメント演算子 |
|
変数への1づつの加減算を簡略化できる。演算子の前後の記載によって加減算のタイミングが変わる。
例:i = i + 1 → i++ |
複合代入演算子 |
|
変数自身に計算結果を代入する場合、簡略化できる。
例:a = a + 1 → a += 1 |
boolean型変数の簡略記法 |
|
制御文の条件式にboolean型変数の判定を書く場合、簡略化できる。
例:
[trueの場合]
if(loopFlg == true) → if(loopFlg)
[falseの場合]
if(loopFlg == false) → if(!loopFlg) |
制御文の実行内容が
1ステートメントの場合の
括弧の省略 |
非推奨 |
if、for、whileの制御文で実行内容が1ステートメント(1命令)しかない場合、ブロックの括弧を省略できる。
例:if(a < 10) System.out.println("a"); |
3項演算子(条件演算子) |
非推奨 |
if文を簡略化して書くことができる。
書式:
条件式? true時の値 : false時の値;
例:
b = a < 10 ? 111 : 999; |
|
|
この表はコードの書き方を短縮するものを集めたものです。
簡略記法の分類としては正確ではない可能性があります。 |
|
|
|
 |
|
 |
|
|