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

1.0をxで割る計算式で、計算結果が∞(無限大)になるxを求めます。

2024.05.19

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

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

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

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

2022.08.03

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

2020.03.23

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

2016.02.15

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

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

2019.09.03

2つの値を比較する方法を解説しています。与えられた2つの値が同じか、大きいか、小さいかを判定します。

2019.08.04

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

2023.04.23

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

2023.04.23

整数(short,int)の割り算を行った結果と注意点などについて説明します。

2020.03.23

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

2020.09.03

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

2015.11.17

Math.cosメソッドとMath.sinメソッドを使ってtanθを計算する方法を解説しています。

2024.05.16

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

2016.12.14

値上げ後の値段は、値上げ前の値段と比べてどのくらい上がった

2024.06.19

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

2022.09.02

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

2022.08.25

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

2020.03.23

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

広告