Javaには単項マイナス演算子と呼ばれる演算子が用意されている。
深く考える必要はなくて、単純に「マイナス」という言葉と使いかただけ思い出していただければそのままだ。
念のため、細かく解説をしておこう。
Javaの単項マイナス演算子の使い方
Javaのマイナス演算子「-」には、単項マイナス演算子と算術演算子の二種類の使い方がある。
算術演算子の場合は、「-」を挟んで左にある数値から右の数値を減算する。まあ、要するに下のような普通に引き算だ。
演算結果値 = 5 - 2;
一方、単項マイナス演算子は、値の前に付けることによって、値の符号を逆にする。つまり、プラスの値であればマイナスに、マイナスであれば、プラスにする。
「-1をかける」と考えてもいいし、数学を覚えている方であれば、普通に「ああ、はいはい、マイナスにするのね」という理解でも十分だ。
単項マイナス演算子による演算の順序は、右に向かって行われる。例えば、マイナス符号の右に値があれば、その値が演算の対象になる。
書き方の基本は簡単だ。
演算結果の値 = 単項マイナス演算子 オペランド;
わかりやすく書くと、
演算結果の値 = -5;
演算結果の値 = -(-5);
などのようになる。
では、実際のプログラムからその使い方を見てみよう。
単項マイナス演算子を使ったサンプルプログラム
このサンプルプログラムは、単項マイナス演算子を実数、整数型変数、浮動小数点型変数と3つの異なる種類の値の前に置いている。それぞれの値が、単項マイナス演算子によって符号が反転している。
どの種類の数値であってもこの演算子は使える。
プログラムの中で、マイナスの実数を表すために「(-12)」のようにマイナスの値を括弧で挟んでいる。この点の詳細は、括弧の働きについて書かれた後のセクションで学んでほしい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
public class UnaryMinusOperator { public static void main (String[] args) { int integerResult = -12;//[1] System.out.println("[2] -12 = " + integerResult); integerResult = -(-12);//[3] System.out.println("[4] -(-12) = " + integerResult); int plusIntegerValue = 12;//[5] int minusIntegerValue = -12;//[6] integerResult = -plusIntegerValue;//[7] System.out.println("[8] -plusIntegerValue = " + integerResult); integerResult = -minusIntegerValue;//[9] System.out.println("[10] -minusIntegerValue = " + integerResult); double plusDoubleValue = 12.3;//[11] double minusDoubleValue = -12.3;//[12] double doubleResult = -plusDoubleValue;//[13] System.out.println("[14] -plusDoubleValue = " + doubleResult); doubleResult = -minusDoubleValue;//[15] System.out.println("[16] -minusDoubleValue = " + doubleResult); } } |
実行結果
1 2 3 4 5 6 |
[2] -12 = -12 [4] -(-12) = 12 [8] -plusIntegerValue = -12 [10] -minusIntegerValue = 12 [14] -plusDoubleValue = -12.3 [16] -minusDoubleValue = 12.3 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] 変数integerResultを宣言し、-12を代入する。
- [2] integerResultを表示する。
- [3] 変数integerResultに-(-12)を代入する。
- [4] integerResultを表示する。
- [5] 変数plusIntegerValueを宣言し、12を代入する。
- [6] 変数minusIntegerValueを宣言し、-12を代入する。
- [7] 変数integerResultに-plusIntegerValueを代入する。
- [8] integerResultを表示する。
- [9] 変数integerResultに-minusIntegerValueを代入する。
- [10] integerResultを表示する。
- [11] 変数 plusDoubleValueを宣言し、3を代入する。
- [12] 変数 minusDoubleValueを宣言し、-12.3を代入する。
- [13] 変数doubleResultを宣言し、- plusDoubleValueを代入する。
- [14] doubleResultを表示する。
- [15] 変数doubleResultに-minusDoubleValueを代入する。
- [16] doubleResultを表示する。
まとめ
このページではマイナス単項演算子についてお伝えをした。さして深く考える必要はなく、中学1年生で習った「マイナス」というのだけ思い出しておけば、そのままプログラミングにも使えるということだ。
参考にしてほしい。