簡略記法 つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから参考までに、
当セッションでは使用を推奨しない
簡略記法を見ておこう。
俺は可読性などの面から、セッションでは
使用しない。
でも、業務とかでは使われる事があるからね。
使うのは、ある程度できるようになってから
自分で考えてくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
使うのは
人の考え方に
よるんだよ。
俺は推奨しない。 |
 |
|
|
そうなんだ。
セッションでは
使わないんだね。 |
|
|
|
 |
|
 |
|
簡略記法一覧 |
|
簡略記法 |
当セッション
での使用 |
内容 |
インクリメント・デクリメント演算子 |
|
変数への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つだけの場合は
{}括弧を省略できるんだよ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
if、for、whileの
制御文ね。
1ステートメントは
セミコロンが
区切りだよ。 |
|
これも
変な感じー |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
えー、そうなの!
一個だけなら{}括弧
無くても大丈夫だったんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
制御文の実行内容が1ステートメントの場合の括弧の省略 |
(if、for、while) |
|
・・・ |
|
|
|
|
|
int
num = 999;//trueでif文を実行させる |
|
|
|
|
|
|
|
if(num
== 999) System.out.println("number:"
+ num); |
|
・・・ |
|
|
|
|
|
実行内容が1ステートメント(1命令)しかない場合、
ブロックの括弧を省略できる。 |
|
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ただ、書き方によっては
実行する処理が、
分かりづらくなるんだよ。
この例を見てくれ。
どこまでがif文なのか
分かりづらいと思わないか。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
気をつけないと
バグの原因にも
なるよ。 |
|
|
|
|
|
 |
|
 |
|
制御文の実行内容が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文の処理と見間違えた場合、
意図していない動作をする可能性があるので注意。 |
|
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この記法はセッションでは
使わない。
だから、
処理が1つしかなくても
括弧を必ず付けてくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
好きな人は
好きなんだよね。
この記法。 |
|
|
 |
ふうん
そうなんだ。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
最後に
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); |
|
・・・ |
|
|
|
|
|
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
可読性の面から
この記法はセッションでは
使わない。
if文で書くからね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
この記法も
好きな人は
好きなんだよね。 |
|
|
 |
そうなんだ。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
簡略記法は、こんな感じかな。
これからも機会があれば
その都度見ていこう。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
はあー、
やっと
全部おわりー。。。 |
|
お疲れ様でした!
ふうー
あたしも
ちょっと
疲れたかも。。。 |
 |
|
|
|