Javaプログラミング学習サイト ゆるゆるプログラミング

2020/03/23 公開

・割り算(除算)について

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

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

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

DivisionSample1.java ← クリックしてダウンロードページに移動
001:    public class DivisionSample1 {
002:    	public static void main( String[] args ) {
003:    		int ans;
004:    		int a, b;
005:    
006:    		// 10を3で割る
007:    		a = 10;
008:    		b = 3;
009:    		ans = a / b;
010:    		System.out.println( a + "/" + b + "=" + ans );
011:    
012:    		// 9を10で割る
013:    		a = 9;
014:    		b = 10;
015:    		ans = a / b;
016:    		System.out.println( a + "/" + b + "=" + ans );
017:    
018:    		// -10を3で割る
019:    		a = -10;
020:    		b = 3;
021:    		ans = a / b;
022:    		System.out.println( a + "/" + b + "=" + ans );
023:    	}
024:    }

DivisionSample1.javaの出力結果


10/3=3
9/10=0
-10/3=-3

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

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

DivisionSample2.java ← クリックしてダウンロードページに移動
001:    public class DivisionSample2 {
002:    	public static void main( String[] args ) {
003:    		int ans;
004:    		int a, b;
005:    
006:    		// 10を0で割る
007:    		a = 10;
008:    		b = 0;
009:    		ans = a / b;
010:    		System.out.println( a + "/" + b + "=" + ans );
011:    	}
012:    }

DivisionSample2.javaの出力結果


Exception in thread "main" java.lang.ArithmeticException: / by zero
at DivisionSample2.main(DivisionSample2.java:9)

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

DivisionSample3.java ← クリックしてダウンロードページに移動
001:    public class DivisionSample3 {
002:    	public static void main( String[] args ) {
003:    		int ans;
004:    		int a, b;
005:    
006:    		// 10を0で割る
007:    		a = 10;
008:    		b = 0;
009:    
010:    		try {
011:    			ans = a / b;
012:    			System.out.println( a + "/" + b + "=" + ans );
013:    		}
014:    		catch( ArithmeticException e ) {
015:    	                System.out.println("0で割ってはいけません"); 
016:    		}
017:    	}
018:    }

DivisionSample3.javaの出力結果


0で割ってはいけません

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

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

DivisionSample4.java ← クリックしてダウンロードページに移動
001:    public class DivisionSample4 {
002:    	public static void main( String[] args ) {
003:    		double ans;
004:    		double a, b;
005:    
006:    		// 5.0を10.0で割る
007:    		a = 5.0;
008:    		b = 10.0;
009:    		ans = a / b;
010:    		System.out.println( a + "/" + b + "=" + ans );
011:    
012:    		// 10.0を0.0で割る
013:    		a = 10.0;
014:    		b = 0.0;
015:    		ans = a / b;
016:    		System.out.println( a + "/" + b + "=" + ans );
017:    
018:    		// -10.0を0.0で割る
019:    		a = -10.0;
020:    		b = 0.0;
021:    		ans = a / b;
022:    		System.out.println( a + "/" + b + "=" + ans );
023:    
024:    		// 0.0を0.0で割る
025:    		a = 0.0;
026:    		b = 0.0;
027:    		ans = a / b;
028:    		System.out.println( a + "/" + b + "=" + ans );
029:    	}
030:    }

DivisionSample4.javaの出力結果


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の変数 Javaで扱う変数について解説
無限大 Infinity 無限大(∞)について
非数値 NaN 非数値(数値ではない値)について
計算結果の表示 四則演算(足し算/引き算/掛け算/割り算)について

■新着情報

2021.06.23 配列の初期値 配列の生成直後の値は?
2021.06.18 変数の初期値 変数に値を代入しないで計算

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

Topへ