はじめに
この実験では、Java における整数の除算について学びます。除算は、1つの量を別の量で割ることができる数学的演算です。Java では、整数の除算を行う方法がいくつかあり、それらの違いを理解することが重要です。
この実験では、Java における整数の除算について学びます。除算は、1つの量を別の量で割ることができる数学的演算です。Java では、整数の除算を行う方法がいくつかあり、それらの違いを理解することが重要です。
ターミナルを開き、次のコマンドを使用して新しいJavaファイルを作成します。
touch ~/project/IntegerDivision.java
このステップでは、Java において単純な整数の除算を行う方法を学びます。単純な整数の除算とは、除数と被除数の両方が整数で、結果も整数である場合を指します。
public class IntegerDivision {
public static void main(String[] args) {
int a = 25;
int b = 5;
int c = a / b;
System.out.println(a + " / " + b + " = " + c);
}
}
ここでは、2つの整数 a
と b
を定義し、/
演算子を使用して除算演算を行います。結果は整数 c
に格納されます。最後に、System.out.println()
を使用して結果を出力します。
コードを実行するには、次のコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
25 / 5 = 5
このステップでは、整数除算で精度が失われる状況をどのように処理するかを学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 3;
int c = a / b;
System.out.println(a + " / " + b + " = " + c);
}
}
この場合、2つの整数 a
と b
を定義しますが、精度が失われるため異なる結果が得られます。この演算の結果は 3.3333
ではなく 3
です。なぜなら、整数で処理しているからです。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
10 / 3 = 3
このステップでは、精度を維持する必要がある状況をどのように処理するかを学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 3;
double c = (double) a / b;
System.out.println(a + " / " + b + " = " + c);
}
}
ここでは、2つの整数 a
と b
を定義します。ただし、c
のデータ型を int
から double
に変更します。また、a
を倍精度浮動小数点数にキャストして、除算演算を倍精度浮動小数点数で行うようにします。最後に、結果を出力します。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
10 / 3 = 3.3333333333333335
このステップでは、精度を維持する必要がある状況を処理する別の方法を学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 3;
double c = a / 3.0;
System.out.println(a + " / 3.0 = " + c);
}
}
ここでは、単に演算子の1つを 3
ではなく 3.0
を使って倍精度浮動小数点数に変更するだけです。これにより、a
が倍精度浮動小数点数で除算されることが保証されます。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
10 / 3.0 = 3.3333333333333335
このステップでは、倍精度浮動小数点数で複数の除算を行う方法を学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 3;
double c = a / 3.0;
double d = 2.0 / b;
System.out.println(a + " / 3.0 = " + c);
System.out.println("2.0 / " + b + " = " + d);
}
}
2つの倍精度浮動小数点数型の変数 c
と d
を定義し、2回の除算を行います。前述の通り、最初の除算では倍精度を保証するために 3.0
を使用します。2番目の除算では、倍精度を保証するために 2.0
を使用します。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
10 / 3.0 = 3.3333333333333335
2.0 / 3 = 0.6666666666666666
このステップでは、除算代入演算子 /=
を使って除算を行う方法を学びます。これは x = x / y
の省略記法です。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 3;
double c = 2.0;
c /= b;
System.out.println("2.0 / " + b + " = " + c);
}
}
int
型の変数 a
、int
型の変数 b
、および double
型の変数 c
を定義します。c
に 2.0
を初期化します。そして、除算代入演算子を使って c
を b
で割ります。最後に、結果を出力します。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
2.0 / 3 = 0.6666666666666666
このステップでは、除算演算の余りを返す剰余演算子 %
について学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 3;
int c = a % b;
System.out.println(a + " % " + b + " = " + c);
}
}
int
型の変数 a
と b
を定義し、剰余演算子 %
を使って除算演算の余りを求めます。結果は int
型の変数 c
に格納され、その結果を出力します。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
10 % 3 = 1
このステップでは、ゼロで除算した場合に何が起こるかを学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 0;
int c = a / b;
System.out.println(a + " / " + b + " = " + c);
}
}
2つの int
型の変数 a
と b
を定義し、a
を b
で除算しようとします。ゼロでの除算は許されないため、Javaは ArithmeticException
と呼ばれる実行時例外を投げます。
コードを実行しようとすると、次のようなエラーメッセージが表示されます。
Exception in thread "main" java.lang.ArithmeticException: / by zero
at IntegerDivision.main(IntegerDivision.java:5)
このステップでは、条件文を使ってゼロでの除算エラーを修正する方法を学びます。
public class IntegerDivision {
public static void main(String[] args) {
int a = 10;
int b = 0;
if (b!= 0) {
int c = a / b;
System.out.println(a + " / " + b + " = " + c);
} else {
System.out.println("Cannot divide by zero");
}
}
}
ここでは、if
文を使って b
がゼロでないかどうかをチェックしています。b
がゼロでなければ、除算演算を行って結果を出力します。そうでなければ、エラーメッセージを出力します。
コードを実行するには、ステップ2と同じコマンドを使用します。
javac IntegerDivision.java && java IntegerDivision
出力は以下のようになるはずです。
Cannot divide by zero
この実験では、Javaにおける整数除算のさまざまな方法について学びました。精度が失われる場合の対処方法、倍精度 (double
) での除算の方法、および剰余演算子の使い方を学びました。また、条件文を使ってゼロでの除算エラーを処理する方法も学びました。