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(ゼロ)のときNaNがdouble型の変数に格納されます。
■関連コンテンツ
Javaの変数 | Javaで扱う変数について解説 |
無限大 Infinity | 無限大(∞)について |
非数値 NaN | 非数値(数値ではない値)について |
計算結果の表示 | 四則演算(足し算/引き算/掛け算/割り算)について |
■新着情報
2022.07.07 | 外部プログラムの実行 | exeファイル実行 |
2022.07.06 | 完全数 | 6=1+2+3 |
■広告
