見出し画像

JavaSilverに向けて④ 演算子とswitch

・代入演算子


= :代入
+= :数値を足してから代入
-= :数値を引いてから代入
*= :数値を掛けてから代入
/= :数値で割ってから代入
仮にa += 10としたら、a=a+10となる。
「a = b + 5」という式の場合であれば、b+5の演算が終わらなければ、変数aに値が代入されない。

・マイナス演算子


左の値から右の値を減算する二項演算子と、正負の値を反転させる単行演算子がある。

・キャスト


大きな範囲の値を小さな変数に代入する時は、明示的キャストが必要。
逆に、小さな方の型は大きい方の型には自動的に変換される。
例えば、int型の値はlong型には自動的に変換される。

byte型は-128~127の範囲の値を扱う。そのため、byte型に127までの整数を入れてもエラーとならない。
byte a = 127; //コンパイルエラーにならない。
byte a = 128; //コンパイルエラーとなる。

short型は-32768~32767が範囲である。この範囲に当てはまらない時は、コンパイルエラーとなる。

・インクリメント演算子(++)とデクリメント演算子(- -)


int a = 10
int b = ++a; //int b = 1 + 10
int c = a++; //int c = 10となってから+1
int d = a++ + a + a; //int d = 10 + 11 + 11
int e = ++a + a + a; //int e = 11 + 11 + 11
「int b = a++」の場合、b=aとなってから値を代入する。「int b = ++a」の場合、bに代入する前に値を増やしてから代入する。

・関係演算子


==, !=, >, >=など。関係演算子自体は、数値、文字、真偽値など様々な値を比較できる。
>, >=, <, <=は、数値以外の値の比較はできない。

・論理演算子


複数の関係演算子を組み合わせ、複雑な条件を指定するために使うのが論理演算子。
&&や||は、ショートサーキット演算子と呼ばれている。左オペランドの結果によっては、右オペランドを評価しない。
逆に&や|は左オペランドの結果に関係なく、左右のオペランドどちらも評価する。
int a = 10;
a < 9 && ++a < 20
上記の場合は、左側の式がfalseとなるので、右側の式は実行されない。
もしどちらの式も実行したい場合は、以下のように書く。
a < 9 & ++a < 20

・switch文


switch (条件式) {
    case 値 : 
        処理
        break;
     case 値 : 
        処理
        break;
     default :
        処理
        break;
}
「値」の部分に使う事ができる値は決まっていて、以下のもの以外は使う事ができない。
そのため、long型やdouble, floatなどを使う事はできない。
  ー 整数(byte, short, int)
  ー 文字列(String)
  ー 文字(char)
  ー 列挙型(enum)


いいなと思ったら応援しよう!