Javaプログラミング
割り算(除算)について
10 / 3 → ? 10 / 0 → ?
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
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
以上です。
関連コンテンツ
割り算で「割り切れる」、「割り切れない」ってどういうこと?