趣味でギターを弾くけど、〇〇スケール等、専門的な音階がいっぱいあって、良く〇〇スケールて何度と何度の音だっけ?てのがあったなぁ。
エンジニアの実務でも「どっちだっけ?」て聞いたり聞かれたりは別に良くあること。
スムーズに答えれたりしたらスマートだなと思う。
お品書き
- 演算子って?
演算子って?
計算するとき足したり引いたりするやつです。
もっと言うと、足す、引く、掛ける、割る、余りを出す、比較するとかいうやつです。
① | ++ | -- | +l -l | ||
② | * | / | % | × ÷ 余り | |
② | + | - | + - | ||
③ | < | > | <= | >= | 大小比較 |
③ | == | != | 等しいか | ||
④ | && | ll | かつ、または | ||
⑤ | = | += | -= | 代入 | |
⑤ | *= | /= | %= | 複合代入 |
①インクリメント・デクリメント演算子
a++
→ aに1を加える
※a = a + 1
、a += 1
と同じ
②算術演算子
8/5
→ 1
8%5
→ 3
③関係演算子
a >= 0
→ aが0以上
ならtrue ※結果は必ずtrueかfalse
④論理演算子
( a >= 0)&&( b >= 0)
→ aが0以上
かつbが0以上
ならtrue
⑤代入・複合代入演算子
a += b
→ aにbを加えて
aに代入 ※a = a + b
と同じ
class Aaa{
public static void main(String[] args){
// コマンドラインから入力したデータ(文字列型)を
// int型に変換する
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
System.out.println("a = " + a + ", b = " + b);
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a * b));
System.out.println("a / b = " + (a / b));
System.out.println("a % b = " + (a % b));
System.out.println("a >= 0:" + (a >= 0));
System.out.println("(a >= 0) && (b >= 0):" + ((a >= 0) && (b >= 0)));
}
}
C:\Java\1>java Aaa 8 5
a = 8, b = 5
a + b = 13
a - b = 3
a * b = 40
a / b = 1
a % b = 3
a >= 0:true //aは0より大きい
(a >= 0) && (b >= 0):true //aは0より大きい かつ bより大きい
値を変えてみよう
C:\Java\1>java Aaa -8 -5
a = -8, b = -5
a + b = -13
a - b = -3
a * b = 40
a / b = 1
a % b = -3
a >= 0:false //aは0より小さい
(a >= 0) && (b >= 0):false //aは0より小さい かつ bより小さい
ちなみにこの記述の補足
Integer.parseInt(args[ ]);
コマンドラインから入力されるとき、mainメソッドのargsの部分に入るのだが、文字列で入力されるため、改めてint型に変換してあげる記述が必要。
記述しないと
java Aaa 8 5と入力の場合
↓
85になる。
数値ではなく文字列を入力すると・・
C:\Java\1>java Aaa a b
Exception in thread "main" java.lang.NumberFormatException: For input string: "a"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at Aaa.main(Aaa.java:5)
NumberFormatException
というエラーが出ました。
これはInteger.parseInt
文字列を数値に変換したいのに「a」という文字が入力されて変換できませんと怒られています。
このエラーになったときは数値の形式になっているか見てみましょう。