簡略記法 |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
簡略記法
コードを簡略化して書く記法のこと。
省略記法ともいう。
同じコードを短縮して書ける。
英語で言えば「I am」を「I'm」と書く感じ。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
簡略記法一覧 |
|
簡略記法 |
当セッション
での使用 |
内容 |
インクリメント・デクリメント演算子 |
|
変数への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; |
|
|
この表はコードの書き方を短縮するものを集めたものです。
簡略記法の分類としては正確ではない可能性があります。 |
|
|
|
 |
|
 |
|
|
|
別項目になっています。こちらからご覧下さい。
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
複合代入演算子
変数自身に値を加算する場合に使える簡略記法のこと。
例えば、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文の例(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){・・・ |
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
boolean型変数の簡略記法
「==」で判定しないでも変数を書くだけで同じ意味になる。
これは、if文やwhile文の条件式に使える。
falseの場合はを!演算子前に付けて逆の意味にする。
セッションでも今後はこれを使うので必ず覚えること。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
boolean型変数の簡略記法での改変例 |
|
while文の例(KotoTest11のKNMain.java)30行目~ |
|
|
改変前 |
・・・ |
|
|
|
030 |
|
while(loopFlg ==
true){ |
|
・・・ |
|
|
|
|
|
改変後 |
・・・ |
|
|
|
030 |
|
while(loopFlg){ |
|
・・・ |
|
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
参考:セッションでは使わない簡略記法
可読性などの面から、セッションでは使用しない。
でも、業務とかでは使われる事があるため
使うのは、ある程度できるようになってから
自分で考えて下さい。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
簡略記法一覧 |
|
簡略記法 |
当セッション
での使用 |
内容 |
インクリメント・デクリメント演算子 |
|
変数への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; |
|
|
この表はコードの書き方を短縮するものを集めたものです。
簡略記法の分類としては正確ではない可能性があります。 |
|
|
|
 |
|
 |
|
|
|
制御文の実行内容が1ステートメントの場合の括弧の省略 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
制御文のブロックの省略
制御文で、
実行内容が1つだけの場合は
{}括弧を省略できる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
制御文の実行内容が1ステートメントの場合の括弧の省略 |
(if、for、while) |
|
・・・ |
|
|
|
|
|
int
num = 999;//trueでif文を実行させる |
|
|
|
|
|
|
|
if(num
== 999) System.out.println("number:"
+ num); |
|
・・・ |
|
|
|
|
|
実行内容が1ステートメント(1命令)しかない場合、
ブロックの括弧を省略できる。 |
|
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この書き方は、
書き方によっては実行する処理が分かりづらくなる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
制御文の実行内容が1ステートメントの場合の括弧の省略 |
(if、for、while) 改変 |
|
・・・ |
|
|
|
|
|
int
num = 0;//falseに変更して
if文を実行しない |
|
|
|
|
|
|
|
if(num
== 999) |
|
|
|
System.out.println("number:"
+ num); |
|
|
|
System.out.println("これはif文とは関係ありません。"); |
|
・・・ |
|
|
|
|
下のprintln()はif文とは関係ないのでfalseでも実行される。
if文の処理と見間違えた場合、
意図していない動作をする可能性があるので注意。 |
|
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
3項演算子
if文を簡略化できる記法。
記号だけで書く。
条件演算子とも呼ばれる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
3項演算子の書式 |
|
if文を簡略化して書くことができる |
結果 |
|
条件式 |
|
true時の値 |
|
false時の値 |
|
ans |
= |
num <
10 |
? |
111 |
:
|
999 |
; |
|
|
|
|
|
コロン |
|
|
|
|
条件式 |
が |
trueの時は
true時の値 を、 |
|
|
falseの時は
false時の値
を結果に返す |
|
|
|
 |
|
 |
|
|
 |
|
 |
|
3項演算子の使用例 |
|
・・・ |
|
|
|
|
|
int
num = 0;//number |
|
|
|
int ans = 0;//answer |
|
|
|
|
|
|
|
//------------------ |
|
|
|
//numがtrueの場合 |
|
|
|
//------------------ |
|
|
|
num = 5;//trueにするために10未満の5で初期化 |
|
|
|
|
|
|
|
//3項演算子で判定(trueなので111が返る) |
|
|
|
ans
= num < 10 ? 111
: 999; |
|
|
|
|
|
|
|
System.out.println("trueの場合の答え:"
+ ans); |
|
|
|
|
|
|
|
//------------------ |
|
|
|
//numがfalseの場合 |
|
|
|
//------------------ |
|
|
|
num = 99;//falseにするために10以上に変更 |
|
|
|
|
|
|
|
//3項演算子で判定(上と同じ内容。falseなので999が返る) |
|
|
|
ans
= num < 10 ? 111 : 999; |
|
|
|
|
|
|
|
System.out.println("falseの場合の答え:"
+ ans); |
|
・・・ |
|
|
|
|
|
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
|