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

SESSION 8 その13
論理演算子

論理演算子
比較演算子と同じで
条件の判定に使う記号だ。

この論理演算子を使うと、
複数の条件で判定できるんだ。

同時にたくさん条件式を
使えるんだね。

 
 


例えば、&&演算子を使えば、

もし経験値が700以上で
かつ
経験値が800以下なら
エクストラ処理を実行」

という判定が、一つの条件式で
書ける。

この場合は、両方の条件がtrueに
なった場合のみ実行される。
ほんとだ!
さっきの条件式が
1つのifになってる。

そっか、比較演算子と
いっしょに使うんだ。
 
 
 

論理演算子 && を使った例
・・・      
034          //もしyuushaExpが 700以上 で 800以下 なら
035             if(yuushaExp >= 700 && yuushaExp <= 800){  
036                  //特別レベルアップ!メッセージを表示  
037                  System.out.println("エクストラレベルアップ!!!");  
038
039            }  
・・・      
     
 
   の 全ての条件式 が true の場合 ブロック内 が 実行される
 
     
  この場合、変数yuushaExpの値 が 700以上 かつ 800以下 なら実行される  
     



論理演算子一覧
 
演算子 種類 書式 内容
| 論理 A | B AかBがtrueならtrueを返す。
必ず両方チェックする。
例:a | b
|| 論理 A || B AかBがtrueならtrueを返す。例:a || b
& 論理 A & B AとBがtrueならtrueを返す。
必ず両方チェックする。
例:a & b
&& 論理 A && B AとBがtrueならtrueを返す。例:a && b
! 論理 !A Aがfalseならtrueを返す。例:!(a < b)
^ 論理 A ^ B AとBが同じ(両方がtrueかfalse)でなければtrueを返す。例:a ^ b
 
   
 
論理演算子には
こんな種類があるよ。

用途に応じて使い分けよう。
 
これは前に見た表だよね。

いろいろあるねー。
 



論理演算子一覧 改変
 
演算子 種類 書式 意味 内容
| 論理 A | B AまたはBなら AかBがtrueならtrueを返す。
必ず両方チェックする。
例:a | b
|| 論理 A || B AまたはBなら AかBがtrueならtrueを返す。
例:a || b
& 論理 A & B AかつB AとBがtrueならtrueを返す。
必ず両方チェックする。
例:a & b
&& 論理 A && B AかつBなら AとBがtrueならtrueを返す。
例:a && b
! 論理 !A A以外なら Aがfalseならtrueを返す。
例:!(a < b)
^ 論理 A ^ B AとBが同じ(両方がtrueかfalse)でなければ AとBが同じ(両方がtrueかfalse)でなければtrueを返す。
例:a ^ b
 
論理演算子には
いろいろな種類がある。

その中でよく使うもの
見ていこう。
 
3つ見るんだ。
日本語にすると

「または」
「かつ」
「~以外」


って感じなんだね。



練習問題1:解答 改変 論理演算子対応
(KotoTest4のKNMain.java)17行目~
 
・・・      
017   public static void main(String[] args) {  
018            // TODO code application logic here  
019      
020            //変数 yuushaExpをint型で宣言。750に初期化  
021           int yuushaExp = 750;
022      
023            //もしyuushaExpが 1000以上 なら  
024          if(yuushaExp >= 1000){
025                  //レベルアップ!メッセージを表示  
026                  System.out.println("レベルアップしました!");  
027      
028            //もしyuushaExpが 900以上 なら  
029             }else if(yuushaExp >= 900){  
030                  //あと少し!もう少しメッセージを表示  
031                  System.out.println("あともう少し! " +  
032                                              "経験値:" + yuushaExp);  
033      
034            //もしyuushaExpが 700以上 で 800以下 なら  
035             }else if(yuushaExp >= 700 && yuushaExp <= 800){  
036                  //特別レベルアップ!メッセージを表示  
037                  System.out.println("エクストラレベルアップ!!!");  
038
039            //もしyuushaExpが 555 か 666 なら  
040            }else if(yuushaExp == 555 || yuushaExp == 666){  
041                  //呪いにかかった!レベルダウンメッセージを表示  
043                   System.out.println("呪いにかかった!レベルダウン!!");  
044      
045          //それ以外なら
046            }else{  
047                //レベルアップまでまだまだ!がんばれメッセージを表示
048                  System.out.println("もっとがんばれ! " +  
049                                           "経験値:" + yuushaExp);  
050            }      
051   }  
052      
・・・      
黄色の部分が追加・改変部分です。
書き写して下さい。
ま、
いーから
いーから
何だか
いやな予感が・・・
練習問題1:解答を、論理演算子を
使って書き換えてみた。


どう変わったか、読みながらコードを
書き写してくれ。

今回、比較演算子「==」を使ってるよ。
これは「イコール」つまり「同じなら」って
意味だ。
比較演算子の表を見直しといてね。
 
はいっ。

ん?
呪いって・・・!?

比較演算子一覧
 
演算子 書式 意味 内容
> A > B AはBより大 AがBより大ならtrueを返す。例:a > b
>= A >= B AがB以上 AがB以上ならtrueを返す。例:a >= b
< A < B AがB未満 AがB未満ならtrueを返す。例:a < b
<= A <= B AがB以下 AがB以下ならtrueを返す。例:a <= b
== A == B AとBが同じ AとBが同じならtrueを返す。例:a == b
!= A != B AとBが異なる AとBが異なるならtrueを返す。例:a != b

 
  &&演算子

まずはさっき例で見た&&演算子だ。
日本語で言えば「かつ」って感じ。

&&演算子は
○○で、かつ××なら
処理を実行する」

というように、
両方の条件を満たした場合だけ
実行されるんだ。

使う記号は「&&」。
&(アンド)を2つつなげて書くんだよ。

論理演算子で
条件式をひとつに
まとめるとすっきり
するね。

ifで書いた場合と
書き方の違いを
確認してくれ。
はいっ。
 

論理演算子 && を使った例
・・・      
034          //もしyuushaExpが 700以上 で 800以下 なら
035             }else if(yuushaExp >= 700 && yuushaExp <= 800){  
036                  //特別レベルアップ!メッセージを表示  
037                  System.out.println("エクストラレベルアップ!!!");  
038
039            //もしyuushaExpが 555 か 666 なら  
040            }else if(yuushaExp == 555 || yuushaExp == 666){  
・・・      
     
 
   の 全ての条件式 が true の場合 ブロック内 が 実行される
 
     
  この場合、変数yuushaExpの値 が 700以上 かつ 800以下 なら実行される  
     
 
&&演算子の判定


じゃあ、写したコードを
実行して見てくれ。

結果はさっきの練習問題と
同じだろ。
yuushaExpの
初期値は750ね。
 
ほんとだ。

if文2つの場合と同じだ。      
 
実行結果(出力ウィンドウ)
 
&&演算子の処理の流れ

 
 

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