メニューへ戻る
2章 式と演算子
学習のポイント
各種「演算子」、代入文と復号代入文、文字列の連結、条件演算子を理解しましょう。
| 1. 式について |
式では、リテラル(値)・変数・演算子が使用されます。
例えば、int型の変数aを定義して、aの値に10を代入して、aの値に5を加算します。
int a;
a = 10;
a += 5
※上記で、赤字の箇所が演算子です。この章では色々な演算子を学びましょう。
|
| 2. 算術演算子 |
算術演算子は四則演算を主に行います。
| 演算子 |
意味 |
使用例 |
結果 |
| + |
加算 |
20+3 |
23 |
| - |
減算 |
20-3 |
17 |
| * |
乗算 |
20*3 |
60 |
| / |
除算 |
20/3 |
6 |
| % |
剰余 |
20%3 |
2 |
また、以下の算術演算子もあります。
| 演算子 |
使用方法 |
説明 |
| ++ |
++pafu |
pafuという変数に「+1」してからその値を返します |
| pafu++ |
pafuという変数の値を返してから「+1」します |
| -- |
--pafu |
pafuという変数に「-1」してからその値を返します |
| pafu-- |
pafuという変数の値を返してから「-1」します |
| + |
+pafu |
pafuという変数が「byte」「short」「char」の時「int」へ変換します |
| - |
-pafu |
pafuという変数の符号を反転します |
|
| 3. 比較演算子 |
2つの式について「比較演算子」を使用して結果は、「true」か「false」を返すものです。
| 演算子 |
使用方法 |
説明 |
| < |
pa1 < pa2 |
pa1がpa2より小さい時にtrueを返す |
| <= |
pa1 <= pa2 |
pa1がpa2以下の時にtrueを返す |
| > |
pa1 > pa2 |
pa1がpa2より大きい時にtrueを返す |
| >= |
pa1 >= pa2 |
pa1がpa2以上の時にtrueを返す |
| == |
pa1 == pa2 |
pa1とpa2が等しい時にtrueを返す |
| != |
pa1 != pa2 |
pa1とpa2が等しくない時にtrueを返す |
注意点としては、「==」「!=」の時は、オブジェクトの参照(メモリのアドレス)を比較します。従って、例えば、文字列の場合は、以下のようにします。
String pa1 = "pafu";
String pa2 = "pafu";
if (pa1==pa2){
}
を実行すると、falseとなります。理由は、参照を比較するからです。
このような場合は、以下のようにします。
if (pa1.equals(pa2){
}
これでtrueを返します。 |
| 4. 論理演算子 |
論理演算子は、「and」「or」「not」を意味します。
| 意味 |
演算子 |
使用方法 |
説明 |
| AND |
&& |
pa1 && pa2 |
両方は評価しない |
| & |
pa1 & pa2 |
両方、必ず評価する |
| OR |
|| |
pa1 || pa2 |
両方は評価しない |
| | |
pa1 | pa2 |
両方、必ず評価する |
| NOT |
! |
!pa1 |
pa1を値を反転します |
|
| 5. ビット演算子 |
ビット演算子というのは、対象が「整数型」の式に対してビットの論理演算を行います。
| 演算子 |
使用方法 |
説明 |
| & |
pa1 & pa2 |
各ビットの論理積を返します |
| | |
pa1 | pa2 |
各ビットの論理和を返します |
| ^ |
pa1 pa2 |
各ビットの排他的論理和を返します |
| ~ |
~pa1 |
各ビットを反転したものを返します |
|
| 6. シフト演算子 |
シフト演算子は対象が「整数型」の式に対してビットをシフト(ずらす)します。
| 演算子 |
使用方法 |
説明 |
| << |
pa1 << 5 |
pa1を5ビット左へシフトします。シフト後のビットは「0」となります |
| >> |
pa1 >> 5 |
pa1を5ビット右へシフトします。シフト後のビットは「符号ビット」となります |
| >>> |
pa1 >>> 5 |
pa1を5ビット右へシフトします。シフト後のビットは「0」が入ります |
|
| 7. 代入演算子 |
代入演算子は、「=」を使用します。例えば、変数pa1に10を代入する時は以下のようになります。
pa1=10;
また、代入演算子は複数使用できます。
pa1=pa2=5;
これは、右より順に代入します。以下と同様です。
pa1=(pa2=5); |
| 8. 複合代入演算子 |
代入と他の演算子を組み合わせたものを「複合演算子」と言います。
|
演算子 |
使用方法 |
同じ意味の式 |
| 算術演算 |
+= |
pa1 += pa2 |
pa1 = pa1 + pa2 |
| -= |
pa1 -= pa2 |
pa1 = pa1 - pa2 |
| *= |
pa1 *= pa2 |
pa1 = pa1 * pa2 |
| /= |
pa1 /= pa2 |
pa1 = pa1 / pa2 |
| %= |
pa1 %= pa2 |
pa1 = pa1 % pa2 |
| ビット演算 |
&= |
pa1 &= pa2 |
pa1 = pa1 & pa2 |
| |= |
pa1 |= pa2 |
pa1 = pa1 | pa2 |
| ^= |
pa1 ^= pa2 |
pa1 = pa1 ^ pa2 |
| シフト演算 |
<<= |
pa1 <<= pa2 |
pa1 = pa1 << pa2 |
| >>= |
pa1 >>= pa2 |
pa1 = pa1 >> pa2 |
| >>>= |
pa1 >>>= pa2 |
pa1 = pa1 >>> pa2 |
|
| 9. 文字列の連結 |
文字列の連結には「+」演算子を使用します。以下のようにします。
String pa1 = "abc";
String pa2 = "def";
string pa3 = pa1 + pa2;
これで、pa3には、"abcdef"となります。 |
| 10. 条件演算子 |
「?」「:」を使用して条件分岐が出来ます。例えば、以下のように使用します。
pa1%2==0 ? "偶数です" : "奇数です";
これは、pa1の内容を2で割った余りを求めて偶数か奇数かの判定を行っています。 |
Eclipseを使用してJavaの基礎プログラミングもっと学びたいという方は「pafuイーランスクール」「Javaプログラミング基礎講座」よりご確認ください。また、書籍のみご希望の方は「こちら」よりご確認ください。
メニューへ戻る