はじめに
こんにちは。キノコードです。
「【5分レッスン】Java超入門コース#09 演算子」について説明します。
演算子とは?
演算子とは、足し算、引き算などの四則演算や2つの値の大小を比較するときに使う記号のことです。
算術演算子
算術演算子からみていきましょう。
算術演算子とは、足し算、引き算、掛け算、割り算などをするための演算子です。
早速、ソースコードを見ていきましょう。
class Lesson09_01 {
public static void main(String[] args) {
int x = 10;
int y = 2;
System.out.println(x + y);
System.out.println(x - y);
System.out.println(x * y);
System.out.println(x / y);
System.out.println(x % y);
}
}
ざっと演算子を書いてみました。
xという変数に「10」、yという変数に「2」を代入。
このxとyの変数を使って、演算子の役割をみていきましょう。
足し算と引き算はそのままプラスとマイナスです。
掛け算はアスタリスク( * )です。
割り算は、スラッシュ( / )です。
最後に剰余です。剰余とは、割り算の余りのことです。
剰余は、パーセント( % )です。
足し算の結果は「12」、引き算は「8」、掛け算は「20」、割り算は「5」、剰余は「0」になるはずです。
コンパイルして実行してみましょう。
予想通りの結果となりました。
関係演算子
次は関係演算子です。
関係演算子とは、2つの値の関係が正しいか正しくないか判断させる演算子のことです。
例えば、「20」という数字は、「10」より大きいです。これを比較することができます。
関係演算子は、次のレクチャーで学ぶ条件分岐のif文などでよく使います。
「10 > 0」という意味は、「10」は「0」より大きいという意味です。
この関係演算子は、正しいです。
2つの関係が正しいときには「True」が返ってきます。
実際に、ソースコードを見ていきましょう。
class Lesson09_02 {
public static void main(String[] args) {
int x = 10;
int y = 2;
System.out.println(x > y);
}
}
これは、「10」は「2」より大きいという意味です。
これは正しいです。
実行してみましょう。
Trueが表示されました。
class Lesson09_03 {
public static void main(String[] args) {
int x = 10;
int y = 2;
System.out.println(x < y);
}
}
「x < y」としたらどうなるでしょう?
つまり、「10」は「2」より小さいという意味です。
これは誤りです。
正しくないときの「Flase」が返ってくるはずです。
実行してみましょう。
Falseが表示されました。
class Lesson09_04 {
public static void main(String[] args) {
int x = 10;
int y = 2;
int z = 10;
System.out.println(x >= y);
System.out.println(x <= y);
System.out.println(x <= z);
}
}
「>」や「<」は大きい、小さいという意味です。数学風にいうと、超えると未満です。 以上は「>=」、以下は「<=」と書きます。
これは、xの10は、yの2以上という意味です。Trueになるはずです。
これは、xの10は、yの2以下という意味です。Falseになるはずです。
これは、xの10は、zの10以下という意味です。Trueになります。
実行してみます。
予想通りの結果が表示されました。
次に、等価についてみていきましょう。
等価とは、2つの値が等しいということです。
等価はイコールが2つです。
等価ではない場合は、エクスクラメーションマークにイコールです。
ソースコードを見ていきましょう。
class Lesson09_05 {
public static void main(String[] args) {
int x = 10;
int y = 2;
System.out.println(x == y);
System.out.println(x != y);
}
}
これは、xの「10」とyの「2」は等価という意味です。正しくないときの「Flase」が返ってくるはずです。
これは、xの「10」とyの「2」は等価ではないという意味です。「True」が返ってくるはずです。
コンパイル実行してみましょう。
それぞれ「False」と「True」がかえってきました。
論理演算子
次は論理演算子についてみていきましょう。
論理演算子とは、複数の条件を判断させる演算子のことです。
日本語でいうと「かつ」とか「または」のことです。英語でいうとandとorです。
and条件は「&&」が2つ、or条件は「|(縦線)」が2つです。
「3」と「8」いう数字でみていきましょう。
例えば、「8」という数字は、5以上かつ10以下です。
「3」という数字は、5以上かつ10以下ではないです。
ソースコードを見ていきましょう。
class Lesson09_06 {
public static void main(String[] args) {
int x = 8;
int y = 3;
System.out.println(x >= 5 && x <= 10);
System.out.println(y >= 5 && y <= 10);
}
}
xの8は5以上かつ10以下なのでTrue、yの3は5以上かつ10以下ではないのでFalseが返ってくるはずです。
実行してみましょう。
予想通りです。
また、or条件も試してみましょう。
class Lesson09_07 {
public static void main(String[] args) {
int x = 8;
int y = 3;
System.out.println(x == 3 || y == 3);
System.out.println(x == 1 || y == 1);
}
}
これは、xは3と等しいか、または、yは3と等しいという条件です。これはyが3なので、後ろの条件が一致するのでTrueが返ってくるはずです。
これは、xは1と等しいか、または、yは1と等しいという条件です。こちらはどちらもあてはまらないのでFalseが返ってくるはずです。
実行してみましょう。
予想通りの結果が返ってきました。
代入演算子
次に、代入演算子です。
今まで変数に代入するときに使っていた「=」は代入演算子といいます。
また、代入する時に、足し算や引き算を同時にすることができます。
足し算、引き算などと組み合わせて代入する演算子のことを複合代入演算子といいます。
例えば、xという変数に「10」を足してxに代入する方法は、「x += 10」です。
他にも、zにyを足してzに代入する方法は、「z += y」です。
ソースコードを見ていきましょう。
class Lesson09_08 {
public static void main(String[] args) {
int x = 8;
int y = 12;
int z = 20;
System.out.println(x += 10);
System.out.println(z += y);
}
}
xに8、yに12、zに20を代入して、複合代入演算子を試してみましょう。
xは18となり、zは32になるはずです。
実行してみましょう。
予想通りの結果が返ってきました。
インクリメントとデクリメントという演算子
最後に、インクリメントとデクリメントという演算子を紹介します。
インクリメントは、値を「1」を増やす演算子です。
インクリメントは、変数名のあとに+を2つ書きます。
例えば、xを「1」増やす書き方は、「x++」です。
これは「x = x+1」と同じ意味です。
デクリメントは、値を「1」減らす演算子です。
デクリメントは、変数名のあとにマイナスを2つ書きます。
例えば、yを「1」を減らす書き方は、「y--」です。
ソースコードを見ていきましょう。
class Lesson09_09 {
public static void main(String[] args) {
int x = 8;
int y = 8;
x++;
y--;
System.out.println(x);
System.out.println(y);
}
}
ここがインクリメントです。
ここがデクリメントです。
それぞれ9と、7が表示されるはずです。実行してみましょう。
予想通りの結果が返ってきました。