Javaをはじめよう!第9回~演算子とは~

2016/01/11

はじめに

前回は変数の宣言・初期化・再代入について焦点をあててご紹介いたしました。

今回は、演算子についてご紹介いたします。

演算子

演算子とは

Javaでは様々な演算子を使って計算し、その解を得ることにより、多岐に渡る処理をしていくことができます。この章では、それらの演算子をまずはおおまかなに説明し、その後、一つずつ詳しく説明していきます。
まず、Javaでは、演算を行う際にオペランド(演算対象または値)を演算子が必要になります。
※ここではオペランドのことをを記述します。
値はリテラルや変数で表し、演算子と組み合わせて記述していきます。
例として『1+2』という演算があったとします。その場合、値は『1』と『2』になり、『+』が演算子です。

operando

演算というと、足す、引く、掛ける、割るといった数学的な計算を思い出される方が多いと思いますが、コンピュータの演算は論理的な処理も演算として扱うことができ、ビット単位の処理なども行うことができます。
それでは、まず、演算の種類から説明していきます。

Javaには

  • 1つの値の演算処理を単項演算子
  • 2つの値の演算処理を二項演算子
  • 3つの値の演算処理を三項演算子

と大きく分けて3種類の演算方法に分類されます。また、二項演算子の中でも、5種類の演算方法に分類され、さらにそれらの演算の中に複数の演算子が含まれています。

演算の分類と種類と概要

enzann

算術演算

それでは、各演算子について詳しく説明をしていきます。まずは、皆さんのよく知っている四則演算を含んだ算術演算子から考えてみましょう。算術演算には、前ページの表にあるように + – * / % があります。例を見ながら説明します。

Sample11.java

package chap02;
class Sample11{
	public static void main(String[] args){
		int i1 =111; 
		int i2 =10; 

		int i3 = i1 + i2;  // 111+10
		System.out.print("i1 + i2 =");
		System.out.println(i3);

		i3 = i1 - i2; // 111-10
		System.out.print("i1 - i2 =");
		System.out.println(i3);

		i3 = i1 * i2; // 111*10
		System.out.print("i1 * i2 =");
		System.out.println(i3);

		i3 = i1 / i2; // 111/10
		System.out.print("i1 / i2 =");
		System.out.println(i3);

		i3 = i1 % i2; // 111 % 10
		System.out.print("i1 % i2 =");
		System.out.println(i3);
	}
}

実行例

i1 + i2 =121
i1 – i2 =101
i1 * i2 =1110
i1 / i2 =11
i1 % i2 =1

補足「0割り算」

割り算の時に、0で割ると、ArismethicExceptionという例外が発生しますので、注意して下さい。

Sample12.java

package chap02;
class Sample12{
	public static void main(String[] args){
		int i =123; 
		 
		System.out.println(0/i);
		System.out.println(i/0);
	}
}

実行例

0
Exception in thread “main” java.lang.ArithmeticException: / by zero
at chap02.Sample12.main(Sample12.java:7)

実行例どおり0を割ると0となりますが、0で割るとArithmeticExceptionという例外が発生します。今はただエラーが発生すると覚えておいてください。

さいごに

今回は演算子と、算術演算の記述の仕方について紹介いたしました。
次回は、演算子の優先順位、算術演算の機能などについてご紹介いたします。

投稿者情報

パンダマン

パンダマン

パンダマンです。

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

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

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

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