CodeGym /Java Blog /ランダム /整数除算Java
John Squirrels
レベル 41
San Francisco

整数除算Java

ランダム グループに公開済み

Javaの整数の除算とは何ですか?

Java での割り算は、数学や現実の通常の割り算と同じように通常行われます。ただし、残りは破棄されるだけです。たとえば、9 を 2 で割った場合、は 4 で、余りは 1 になります 整数除算 Java - 1。実際には、答えは 4.5 または 4 1/2 になります。Java で int を使用して同じ計算を実行すると、答えは 4 になります。剰余は捨てられるため、最も近い整数 (~4.5 = 5 など) 1 に丸められません。

例1 [余りが0]

Java の整数の除算は、除数が被除数を完全に除算するすべての場合(整数を x 整数で割ったもの) に完全に機能します。答えは整数であり、整数データ型はオーバーフローすることなくそれを保持できます。したがって、データが失われることはありません。たとえば、次のスニペットを見てください。

public class IntegerDivision {

	public static void main(String[] args) {
		
		int dividend = 100;
		int divisor = 5;
		int quotient = dividend / divisor;
		
		//Dividend completely divides the divisor
		System.out.println(dividend + " / " + divisor + " = " + quotient);
			
		dividend = 143;
		divisor = 11;
		quotient = dividend / divisor;
		
		//Dividend completely divides the divisor
		System.out.println(dividend + " / " + divisor + " = " + quotient);
	}
}
出力
100 / 5 = 20 143 / 11 = 13

例2 [余りが0ではない]

剰余が 0 でないすべての除算の場合、最終結果は割り切れる最大の整数 (9/2 = 4) に切り捨てられます。これについては次の例で説明します。実際の商を 10 進数で表示する必要がある場合があります。その場合、float または double データ型を使用できます。ただし、商を最も近い int に四捨五入したい場合は、次のようにすることができます。

public class IntegerDivision {

	public static void main(String[] args) {

		int dividend = 9;
		int divisor = 2;
		int quotient = dividend / divisor;
		
		// Case I - Dividend does not divide the divisor completely
		// The quotient is chopped / truncated
		System.out.print("Integer division \t\t" );
		System.out.println(dividend + " / " + divisor + " = " + quotient);
		
		// Case II - Mathematical or real life division
		// Use float or double data type to get the actual quotient 
		
		double actualQuotient = (double)dividend / divisor;
		System.out.print("Mathematics division \t\t" );
		System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
		
		// Case III - Integer Division with rounding off 
		// the quotient to the closest integer
		
		long roundedQuotient = Math.round((double)dividend / divisor);
		System.out.print("Round off int division \t\t" );
		System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);

	}
}
出力
整数の除算 9 / 2 = 4 数学の除算 9.0 / 2 = 4.5 四捨五入 int の除算 9.0 / 2 = 5

説明

ケース I とケース II は説明のとおりです。ケース III の場合は、次の手順で分析できます。
  • まず、配当を double に変換する必要があります。

  • 通常の Java int 除算を実行します。

  • Math.round()メソッドを使用して商を四捨五入します。

  • 四捨五入された商を格納するには、long データ型を使用します。

  • さあ!商として希望の出力が得られます。

結論

Java 整数による除算は、最初は難しく見えるかもしれません。しかし、ある程度の練習と繰り返しをすれば、習得することができます。できるだけ多くの練習をしてください。気が向いたらいつでも私たちの投稿に戻ってください。乾杯! 学んだことをさらに強化するには、Java コースのビデオ レッスンを視聴することをお勧めします。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION