教育・子育て

Java chapter 8 条件を書くための演算子 まとめ後編

マんタ's icon'
  • マんタ
  • 2020/12/28 23:56

昨日の続きのまとめ編を今日も公開していきます。

 

5.論理演算子

論理演算子は 関係式と組み合わせて複雑な条件を作ることが可能です。

演算子は次のようなものがあります。

排他的論理和は、ほとんど使うことはありません。

 

次に基本的な使用例を見ていきます。

S>0  && S<100 ・・・・・・・ Sは0より大きく100より小さい

図で示すとこんな感じです。

ピンクのところが範囲ですね。

S<=0 || S>=100 ・・・・・・・Sは0以下、または、100以上

 

 

今度はまたはの条件の組み合わせです。

0以下の範囲と100以上が範囲となります。

!(S>0  &&  S<100)・・・・・[Sは0より大きく、かつ、20より小さい]ではない

 

S>0  &&  S<10の否定です。具体的に言うとS<=0 || S>=100の範囲です。

 

(S==0)^(T==0)・・・・・・・SかTのどちらか一方だけが0である

 

排他的論理和は、一方がtrueで、もう一方がfalseの時だけtrueになるものです。

どちらともtrueやfalseだと式の値はfalseになります。

 

今回最後に複雑な論理式を見ていきます。

☆複雑な論理式

s>0 &&  t<10 && u==5

sは0より大、かつtが10より小さくuは5というような複雑なものも作ることができますね。

6.論理演算子の短絡評価

長い関係式を途中まで評価したとき、それ以降評価しなくてもtrueかfalseがわかることがあります。

その時に式の評価をやめてしまうのが短絡評価。

種類によっては短絡評価をするものとしないものがあります。

①&&演算子の短絡評価

次のように、xが0でyも0の場合、 x≠0 ならyが何であろうと式の値はfalse

です。

int x=0, y=20;

x==0 && y==0 ・・・・・・・・・・xが0でなければyの値にかかわらずfalse

式は左から評価されます。

x≠0と分かった時点で式がfalseに確定し、yの値を調べる必要がなくなります。

&&演算子はそのような検査の省略を行います。

これを

短絡評価

といいます。

次の例題で見ていきます。

 

ちょっとプログラムが見にくいので

package sample;

public class Input {
	public static void main(String[] args){
	int x=3, y=3;
	System.out.println(x++ == 0 &amp;amp;&amp;amp; y++ == 0);
	System.out.println("x="+x+"/y="+y);
	
	}
}

初期値は共に3。

5行目で++が付いていて後置なので実行後値が増えます。

増えるのはこの場合xの値だけですね。

実行結果を見るとxは1増えて4となりyは3のまま

x=4/y=3となっているのでyは評価されませんでした。

 

yの値もチェックするように書き換えてみます。

package sample;

public class Input {
public static void main(String[] args){
int x=3, y=3;
System.out.println(x++ == 0 &amp;amp; y++ == 0);
System.out.println("x="+x+"/y="+y);
 
}
}

 

&&演算子は効率の良い演算子ですが、&演算子は短絡評価を行わずyの値もきちんとチェックします。

実行結果は次のようになります。

で、普通は&は使わず&&(短絡評価)を使います。

②||演算子の短絡評価

またはのばあいも同じですが、xが3でyも3の場合、 x==3 ならyが何であろうと式の値はtrueです。

|の場合はこのようになります。

普通は|は使わず||を使います。

 

 

7.条件演算子

条件演算子は条件 true か false で違う値になる式を作る。

例えば

int s= { s>100なら101 そうでなければ99];

これを条件演算子では次のように書きます。

条件 論理式 ? と書いてその横に trueの値、falseの値を(:)で区切って書きます。最後に(;)をわすれないように。

これは3つの項があるので、3項演算子です。

 

8.演算子一覧表

最後に演算子一覧が掲載されているサイトを紹介

 

ここまでご覧いただきありがとうございました。

BY マんタ

参考書は__________________________________

新わかりやすい Java

川場 隆  Kawaba Takashi

秀和システム 

 

 

 

 

 

 

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 1.67 ALIS Article tip 5.00 ALIS
マんタ's icon'
  • マんタ
  • @25kit6
桜はあっという間に散っていった・・・ソロソロツバメが出てくるけどまだ小さすぎて撮影が…

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
トラベル

無料案内所という職業

Like token Tip token
84.20 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
他カテゴリ

防犯意識 マーキング 下書き供養④

Like token Tip token
24.07 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
他カテゴリ

京都のきーひん、神戸のこーへん

Like token Tip token
12.10 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS