広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 9 その41
簡略記法 つづき
  セッションでは使わない簡略記法

それから参考までに、
当セッションでは
使用を推奨しない
簡略記法を見ておこう。

俺は可読性などの面から、セッションでは
使用しない。

でも、業務とかでは使われる事があるからね。

使うのは、ある程度できるようになってから
自分で考えてくれ。
使うのは
人の考え方に
よるんだよ。

俺は推奨しない。
  そうなんだ。

セッションでは
使わないんだね。
 

簡略記法一覧
 
簡略記法 当セッション
での使用
内容
インクリメント・デクリメント演算子   変数への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文なのか
分かりづらいと思わないか。
ほんとだ。

両方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項演算子(条件演算子)

最後に
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文で書くからね。

はいっ。

この記法も
好きな人は
好きなんだよね。
 
そうなんだ。


簡略記法は、こんな感じかな。

これからも機会があれば
その都度見ていこう。

はあー、
やっと
全部おわりー。。。
お疲れ様でした!

ふうー

あたしも
ちょっと
疲れたかも。。。
はいっ!!!

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告