Oracle Java SE8 Silver 試験範囲その3-演算子と判定文

Java Silver

公開日:2018年3月12日

このページでは、Oracle Java SE8 Silverの試験範囲のうち、「演算子と判定文」について概要を説明します。

Oracle Java SE8 Silver 試験範囲その3-演算子と判定文
目次

1.演算子の使用と優先順位の理解

Javaには、加算減算を始めとして多くの演算子が用意されています。

例えば、「+(加算)、-(減算)、*(乗算)、/(除算)」が代表的な演算子です。

演算子は使い方から、「算術演算子」、「単項演算子」、「代入演算子」、「関係演算子」、「論理演算子」に分けることができます。

また、演算子には優先順位が存在します。決められた優先順位よりも先に演算したい場合には、「()」で囲むことで優先的に演算をさせることができます。

2.条件式の理解

「条件式」とは、真偽で判定できるような式をいいます。

代表的な条件式として比較があります。比較では、演算子「==」が用いられます。比較は基本データ型と参照型とで比較する対象が異なります。

基本データ型による比較では、変数に格納している(代入している)値自体が比較の対象になります。例えば、「i1=100; i2=200; System.out.println(i1==i2);」であれば、100と200を比較した結果、「False」を表示します。

これに対して参照型の比較では、変数に代入している値ではなく、参照先が同じかどうかで比較します。従って、例えば参照型i1とi2が存在し、どちらにも「"Sample"」という文字列が格納されているとしても、i1とi2が別のオブジェクトを参照していれば、「System.out.println(i1==i2);」は「False」と表示します。

参照型である文字列について、参照先ではなく代入している文字列そのものを比較したい場合には、equals()メソッドを使用します。

3.ifやif else文の理解

条件式を用いて、条件式がTrueかFalseかで、異なる動作を行わせたい場合にはif文を用います。if文のような条件文の他、繰り返し文や繰り返し制御文を総称して「制御文」といいます。

if文は「if(条件式){処理文;}」という形で記述します。「{}」内の処理文には、条件式がTrueの場合に実行される処理を記述します。

条件式がFalseの場合にも実行したい処理がある場合には「if else文」を使用します。if else文は「if(条件式){処理文1;}else{処理文2;}」の形で記述します。

4.switch文

複数の場合分けにより処理を変えたい場合には、if else文のネストで記述が可能ですが、分岐が多い場合には、コードの可読性が低くなります。

そのような場合には、「switch文」を使用します。switch文は「switch(式){case 定数1: 処理文1; case 定数2: 処理文2 ・・・}」という形で記述します。「case 定数:」と「:(コロン)」を使用する点が間違いやすいポイントです。

switch文の式の結果(定数)部分には、基本データ型のbyte,char,short,intや参照型のStringなどが使用可能です。

switch文の特徴として、上の定数に該当した場合には、それより下の処理文も実行されるということです。途中の処理文までで実行を終了させたい場合には該当する処理文の下に「break文」を記述します。

また、どの定数にも該当しない場合の処理文を記述する場合にはcaseではなく「default」と記述します。