Javaプログラミング

割り算(除算)について

Javaの演算子'/'を使って割り算を行った結果と注意点などについて説明します。

	10 / 3 → ?
	10 / 0 → ?

いくつかのJavaソースコードのサンプルを使って説明していきます。

Javaソースコード - 整数の割り算

”DivisionSample1.java”は、整数どうしの割り算を行った結果を表示するものです。整数どうし割り算の結果は小数点以下が切り捨てられた整数になります。

DivisionSample1.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
public class DivisionSample1 {
	public static void main( String[] args ) {
		int ans;
		int a, b;

		// 10を3で割る
		a = 10;
		b = 3;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );

		// 9を10で割る
		a = 9;
		b = 10;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );

		// -10を3で割る
		a = -10;
		b = 3;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis DivisionSample1.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac DivisionSample1.java

実行

C:\talavax\javasample>java DivisionSample1
10/3=3
9/10=0
-10/3=-3

結果から小数点以下が切り捨てられていることが分かります。

Javaソースコード - 0(ZERO)で割る 1

”DivisionSample2.java”は、整数を0で割ったらどうなるかを試すものです。整数0で割るとエラーを表示してプログラムを強制終了します。

DivisionSample2.java

001
002
003
004
005
006
007
008
009
010
011
012
public class DivisionSample2 {
	public static void main( String[] args ) {
		int ans;
		int a, b;

		// 10を0で割る
		a = 10;
		b = 0;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis DivisionSample2.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac DivisionSample2.java

実行

C:\talavax\javasample>java DivisionSample2
Exception in thread "main" java.lang.ArithmeticException: / by zero
at DivisionSample2.main(DivisionSample2.java:9)

Javaソースコード - - 0(ZERO)で割る 2

”DivisionSample3.java”は、整数を0で割ってもプログラムを強制終了しないようにしたものです。

DivisionSample3.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
public class DivisionSample3 {
	public static void main( String[] args ) {
		int ans;
		int a, b;

		// 10を0で割る
		a = 10;
		b = 0;

		try {
			ans = a / b;
			System.out.println( a + "/" + b + "=" + ans );
		}
		catch( ArithmeticException e ) {
	                System.out.println("0で割ってはいけません"); 
		}
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis DivisionSample3.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac DivisionSample3.java

実行

C:\talavax\javasample>java DivisionSample3
0で割ってはいけません

例外処理で強制終了しないようにしています。

Javaソースコード - 実数の割り算

”DivisionSample4.java”は、double型(浮動小数点)の割り算の結果を表示するものです。

DivisionSample4.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
public class DivisionSample4 {
	public static void main( String[] args ) {
		double ans;
		double a, b;

		// 5.0を10.0で割る
		a = 5.0;
		b = 10.0;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );

		// 10.0を0.0で割る
		a = 10.0;
		b = 0.0;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );

		// -10.0を0.0で割る
		a = -10.0;
		b = 0.0;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );

		// 0.0を0.0で割る
		a = 0.0;
		b = 0.0;
		ans = a / b;
		System.out.println( a + "/" + b + "=" + ans );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis DivisionSample4.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac DivisionSample4.java

実行

C:\talavax\javasample>java DivisionSample4
5.0/10.0=0.5
10.0/0.0=Infinity
-10.0/0.0=-Infinity
0.0/0.0=NaN

0.0で割ると、割られる値が正(+)のとき'Infinity'、負(-)のとき'-Infinity'、0(ゼロ)のときNaNdouble型変数に格納されます。

以上です。

関連コンテンツ

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

計算の結果が∞となるときの表現方法について解説しています。

2016.02.15

基本的な計算である足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)を行うプログラム作成。

2020.03.23

double型のもつ誤差について解説しています。

2016.02.15

プログラミング、ITに関する用語をまとめています。

2022.10.17

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

自然数と整数って何が違う?

2020.03.23

数値として表せない計算結果はどうなる?

2016.02.15

配列に格納されている値の順番を逆にする反転処理を行うプログラムを紹介しています。Javaのソースコードを使って詳しく解説しています。

2019.09.03

与えられた整数の桁数を求めるプログラムの作り方を説明します。for文を使っています。

2023.04.23

与えられた整数の桁数を求めるプログラムの作り方を説明します。while文を使っています。

2023.04.23

入力した金額からお札と硬貨の最少枚数を求める方法をソースコードを使って解説しています。

2020.09.03

偶数・奇数を判定する方法を詳しく説明しています。興味のある方は、ご覧ください。

2015.11.17

Java仮想マシン内のメモリ容量を取得するプログラムを作ってみませんか?

2016.12.14

オブジェクト指向の考え方を、Javaのソースコードを使って詳しく解説しています。興味のある方は、是非ご覧ください。

2022.09.02

素因数分解は、自然数を素数の積(掛け算)で表すことです。この記事では、素因数分解のJavaのソースコードを解説しています。

2022.08.25

割り算で割り切れずに残った端数を剰余(余り)といいます。この剰余の計算をJavaのソースコードを使って解説しています。

2020.03.23

割り算で「割り切れる」、「割り切れない」ってどういうこと?

広告