Javaをはじめよう!第13回~単項演算とは~
2016/02/15
はじめに
前回は代入演算についてご紹介いたしました。
今回は単項演算について詳しくご紹介いたします。
演算子
単項演算
単行演算とは、一つの値に対しておこなう演算のことです。まずは、インクリメント、デクリメントの説明をしていきます。
演算の分類 | 記述例 | 概要 |
---|---|---|
インクリメント
(演算子『++』) |
++i(前置型)
i++(後置型) |
変数に1足し算します |
デクリメント
(演算子『- -』) |
– -i(前置型)
i- -(後置型) |
変数に1引き算します |
インクリメントは『i += 1』または『i = i + 1』、デクリメントは『i -= 1』または『i = i – 1』をしていると考えて下さい。
このように考えると分かることは、インクリメント・デクリメントをすると、変数の値は変化するということです。
前置型と後置型については優先順位の違いだけです。実際にソースを見てみましょう。
Sample21.java
[code]
package chap02;
public class Sample21 {
public static void main(String[] args){
int i =0;
System.out.println(++i);
System.out.println(i++);
System.out.println(i);
System.out.println(–i);
System.out.println(i–);
System.out.println(i);
}
}
[/code]
実行例
1
2
1
1
0
予想通りの動きになったでしょうか?1つずつ流れを追っていきます。
・まず、最初に変数iを0で初期化して、前置型のインクリメントをしています。前置型は優先順位が一番高い演算子です。
i += 1 が行われて、1が表示されています。
・次に後置型のインクリメントをしています。後置型は優先順位が一番低い演算子です。
i += 1 の前に表示が行われますので、1が表示されてから i += 1 が行われています。
その証拠に次の変数iを表示するところでは、2が表示されています。
・次に前置型のデクリメントを行っています。インクリメント同様、前置型は優先順位が一番高いので、先に i -= 1 が行われて、1が表示されます。
・最後に、後置型のデクリメントをしています。こちらもインクリメント同様に、後置型は優先順位が一番低いので、1が表示されてから i -= 1 がおこなわれ、最後に変数iを表示すると0が表示されています。
次に単項演算『+』『-』について説明します。算術演算とは違い、単項演算の『+』は、単に数値が正か負の符号を明示するためだけに使用します。
『-』は数値の正負を逆にする時に使用します。どちらも代入演算を伴ないので値が変化しない事に注意して下さい。
ではソースを見てみましょう。
Sample22.java
[code]
package chap02;
public class Sample22{
public static void main(String[] args){
int i = 11;
System.out.println(+i);
System.out.println(-i);
i = -12;
System.out.println(+i);
System.out.println(-i);
}
}
[/code]
実行例
-11
-12
12
『!』は論理演算の回で説明済みですので省略します。
さいごに
今回は、単項演算について詳しく紹介いたしました!
次回は型変換(キャスト)について詳しく紹介いたします!