メニューへ戻る
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プログラミング基礎講座」よりご確認ください。また、書籍のみご希望の方は「こちら」よりご確認ください。
メニューへ戻る