Javaをはじめよう!第10回~演算子の優先順位と、算術演算『+』の機能~

2016/01/18

はじめに

前回は算術演算について焦点をあててご紹介いたしました。

今回は演算子の優先順位と、算術演算の『+』の機能についてご紹介いたします。

演算子

演算子の優先順位

皆さんが知っているとおり、演算子には優先順位があります。今、実行した算術演算に関しては、今まで皆さんが普段使用している計算と同じようになっていて、掛け算、割り算の優先順位が足し算、引き算よりも高くなっています。
(%(割り算の余り)は、掛け算、割り算と同じものです。)
また、()を使うとその中の計算から行うのも同じです。

Sample13.java

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);
	}
}

実行例

i1 = 15
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
となります。

全ての演算子には優先順位があります。ここでは、皆さんが慣れている四則演算を例にあげてみました。
演算子の優先順位を表に表します。

演算子の優先順位

enzannsipriority

算術演算『+』演算子の機能

上記、Sample13.javaを記述していて、気づかれたと思いますが、『””』(ダブルクォーテーション)で囲まれた文字列と数値を『+』演算子で演算すると、変数と、文字列が連結されて表示されます。これを文字列連結といいます。

Sample14.java

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);
	}
}

実行例

Sample102030
Sample10600

Sample14の解説をします。最初のSystem.out.println()の中の処理は
● まず、文字列のSampleに変数i1を連結して文字列Sample10が生成されます。
● 次に生成された文字列Sample10に、変数i2を連結して文字列Sample1020が生成されます。
● 最後に、生成された文字列Sample1020に、変数i3を連結して文字列Sample102030が生成・表示されます。

また、文字列連結といっても『+』の演算子なので、優先順位があります。ふたつ目は
● まず、i2とi3の掛け算がおこなわれます。
● 次に文字列Sampleに変数i1を連結して、文字列Sample10が生成されます。
● 最後に、生成された文字列Sample10に、先ほどのi2 * i3 の演算結果である600が連結されて、文字列Sample10600が生成・表示されます。

さいごに

今回は、演算子の優先順位と、算術演算『+』の機能についてご紹介いたしました。
次回は、関係演算と、論理演算について詳しくご紹介いたします!

投稿者情報

パンダマン

パンダマン

パンダマンです。

主にWebシステム開発等を担当しております。
設計・プログラミング。サーバー管理なんでもやります。

今、担当しているプロジェクトではJavaの今まで触れたことのないフレームワークを使うことになり勉強中です。
学生にC言語のプログラミングの基礎を教えたりもしています。
最近「キングダム」にはまっています。

>> パンダマンが執筆した他の記事を読む

法人向け人気レンタルサーバー
法人向け人気専用サーバー
個人向け人気レンタルサーバー