算術演算子
基本的に数値に対し行う演算子(+、-、*、/以外にも複数あります)
| 例 |
説明 |
| a + b |
a と b を足す |
| a - b |
a から b を引く |
| a * b |
a と b をかける |
| a / b |
a を b で割る |
| a % b |
a を b で割った余り |
| a++ |
a の値を 1増やす ( インクリメント ) |
| a-- |
a の値を 1減らす ( デクリメント ) |
|
インクリメント、デクリメントでは演算子の位置により意味が異なります( 下参照 )
下記サンプルのようにインクリメント演算子が前にある時は処理が行われる前にインクリメントが実行されます。逆に演算子が後ろにある場合は、処理が行われた後インクリメントが実行されます。
int a = 10 ;
System.out.println(a++) ; // 表示( 10 )
int b = 10 ;
System.out.println(++b) ; // 表示( 11 )
また、Javaでは文字列の連結にも [ + ] 演算子を使用します。
String a = "abc" ;
String b = "def" ;
System.out.println( a + b ) ; // 表示( abcdef )
代入演算子
ある変数に値を代入する時に使用します。
| 例 |
説明 |
| a = b |
b を a に代入する |
| a += b |
a と b を足したものを a へ代入 |
| a -= b |
a から b を引いたものを a へ代入 |
| a *= b |
a と b をかけたものを a へ代入 |
| a /= b |
a を b で割ったものを a へ代入 |
| a %= b |
a を b で割った余りを a へ代入 |
|
ビット演算子
ビット単位での処理を行う演算子です。
| 例 |
説明 |
| a | b |
a と b の OR |
| a & b |
a と b の AND |
| ~a |
a の否定 ( 全てのビットの反転 ) |
| a << 1 |
a を左に 1ビットシフト ( 2倍 ) |
| a >> 1 |
a を左に 1ビットシフト ( 1/2 ) |
|
int a = 100 ;
System.out.println(a << 1) ; // 表示 ( 200 )
int b = 100 ;
System.out.println(a >> 2) ; // 表示( 25 )
比較演算子
比較演算子とは、値の大小関係を評価します。
| 例 |
説明 |
| a == b |
等しい |
| a != b |
等しくない |
| a > b |
a が b より大きい |
| a >= b |
a が b 以上 |
| a < b |
a が b より小さい |
| a <= b |
a が b 以下 |
|
以下は比較演算子を使用したサンプルです。変数 aの値が 100以上であれば「値は 100以上です。」と表示し、100以下であれば「値は100未満です。」と表示します。
int a = 100
if( a >= 100 ) {
System.out.println("値は100以上です。");
} else {
System.out.println("値は100未満です。");
}
真と偽
上で比較演算子は [ 値の大小関係を評価します ] と書きましたが、評価してどうするんでしょう?? 代入演算子などは値が代入されていますので結果が目に見えていますね。 この比較演算子は 評価して条件が成立するか ( 真 ) しないか ( 偽 ) の論理値を返すものなんです。
論理値これは ( true 、 false ) の二つという事は前途してありますが、比較演算子では比較の関係が成立すればその式自体が真、又成立しなければ偽の値になります。この返された論理値を使い条件分岐するの代表が上の例で使用している if文です。
関係が成り立つので真となる
100 = 100
関係が成り立たないので偽となる
100 <> 100
論理演算子
論理演算子は左辺、右辺の二つを評価して論理値 ( 真 / 偽 ) を返します。
| 例 |
説明 |
優先度 |
| !a |
aの否定、偽の時に真を返し、真の時に偽を返します |
高い |
| a & b |
左辺右辺が共に真であれば真、それ以外は偽を返します。 かならず左辺右辺のオペランドは実行します。 |
|
| a | b |
左辺か右辺のどちらかが真であれば真、それ以外は偽を返します。 かならず左辺右辺のオペランドは実行します。 |
|
| a && b |
左辺右辺が共に真であれば真、それ以外は偽を返します。 左辺が偽の場合は右辺のオペランドは実行しません。 |
|
| a || b |
左辺か右辺のどちらかが真であれば真、それ以外は偽を返します。 左辺が真の場合は右辺のオペランドは実行しません。 |
低い |
|
'// 左辺右辺ともに真なので真となります。
true && true
'// 右辺が偽なので偽となります。
true && false
'// 左辺が真なので真となります。
true || false
'// 真の否定で偽となります。
!true
'// ややこしいですがこれは偽となります。
!true || true && !true
条件演算子
条件演算子とは条件の真か偽によって代入する値を変更する事が出来ます。Visual Basicにある IIFと良く似ている構文です。
条件演算子を使用しない
if ( 条件式 ) {
代入変数 = 真 ;
} else {
代入変数 = 偽 ;
}
条件演算子使用
< 代入変数 > = < 条件式 > ? < 真 > : < 偽 >
if文などを用いるよりスッキリする??お好みですが・・
|