ゆるゆるプログラミング

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

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

■新着情報

2020.06.03 円を描く(テキスト版) テキストを円を描く
2020.06.02 文字の間違い探し どの文字が違う?
2020.05.31 九九(くく)の表を作る2 掛け算なしで九九(くく)の表を作成
2020.05.07 サイコロの出目確率 サイコロの目のでる確率は?

■広告

フィギュア予約最大25%OFF+ポイント5%還元!ホビーサーチ

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

 

 

 

 

 

 

 

Topへ