Javaをはじめよう!第10回~演算子の優先順位と、算術演算『+』の機能~
2016/01/18
はじめに
前回は算術演算について焦点をあててご紹介いたしました。
今回は演算子の優先順位と、算術演算の『+』の機能についてご紹介いたします。
演算子
演算子の優先順位
皆さんが知っているとおり、演算子には優先順位があります。今、実行した算術演算に関しては、今まで皆さんが普段使用している計算と同じようになっていて、掛け算、割り算の優先順位が足し算、引き算よりも高くなっています。
(%(割り算の余り)は、掛け算、割り算と同じものです。)
また、()を使うとその中の計算から行うのも同じです。
Sample13.java
[code]
package chap02;
class Sample13{
public static void main(String[] args){
int i1 =10 + 9 – 8 * 7 / 6 % 5;
int i2 =(10+9) * (8-7) / 6 % 5;
System.out.println(”i1 = ” + i1);
System.out.println(”i3 = ” + i2);
}
}
[/code]
実行例
i3 = 3
上記のSample13.javaでは
● i1は、8 * 7 =56 → 56 / 6 = 9 → 9 % 5 = 4 → 10 + 9 – 4 =15
● i2は、10 + 9 =19, 8 -7 = 1 → 19 * 1 = 19 → 19 / 6 = 3 → 3 % 5 =3
となります。
全ての演算子には優先順位があります。ここでは、皆さんが慣れている四則演算を例にあげてみました。
演算子の優先順位を表に表します。
演算子の優先順位
算術演算『+』演算子の機能
上記、Sample13.javaを記述していて、気づかれたと思いますが、『””』(ダブルクォーテーション)で囲まれた文字列と数値を『+』演算子で演算すると、変数と、文字列が連結されて表示されます。これを文字列連結といいます。
Sample14.java
[code]
package chap02;
class Sample14{
public static void main(String[] args){
int i1 =10;
int i2 =20;
int i3 =30;
System.out.println(”Sample” + i1 + i2 + i3);
System.out.println(”Sample” + i1 + i2 * i3);
}
}
[/code]
実行例
Sample10600
Sample14の解説をします。最初のSystem.out.println()の中の処理は
● まず、文字列のSampleに変数i1を連結して文字列Sample10が生成されます。
● 次に生成された文字列Sample10に、変数i2を連結して文字列Sample1020が生成されます。
● 最後に、生成された文字列Sample1020に、変数i3を連結して文字列Sample102030が生成・表示されます。
また、文字列連結といっても『+』の演算子なので、優先順位があります。ふたつ目は
● まず、i2とi3の掛け算がおこなわれます。
● 次に文字列Sampleに変数i1を連結して、文字列Sample10が生成されます。
● 最後に、生成された文字列Sample10に、先ほどのi2 * i3 の演算結果である600が連結されて、文字列Sample10600が生成・表示されます。
さいごに
今回は、演算子の優先順位と、算術演算『+』の機能についてご紹介いたしました。
次回は、関係演算と、論理演算について詳しくご紹介いたします!