Java에서 정수 나눗셈이란 무엇입니까?

Java의 나눗셈은 일반적으로 수학이나 실생활의 일반 나눗셈처럼 발생합니다. 그러나 나머지는 버립니다. 예를 들어, 9를 2로 나누면 은 4이고 나머지는 1입니다 정수 나누기 Java - 1. 실생활에서 답은 4.5 또는 4½입니다. 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)로 잘립니다. 이는 다음 예제에서 표시됩니다. 십진수로 실제 몫이 필요한 경우가 있을 수 있습니다. 이 경우 float 또는 double 데이터 유형을 사용할 수 있습니다. 그러나 몫을 가장 가까운 정수로 반올림하려면 다음을 수행할 수 있습니다.

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 반올림 정수 나눗셈 9.0 / 2 = 5

설명

사례 I과 사례 II는 자명하다. Case III의 경우 다음 단계로 분류할 수 있습니다.
  • 먼저 배당금을 두 배로 변환해야 합니다.

  • 일반 Java int 나누기를 수행합니다.

  • Math.round() 메서드를 사용하여 몫을 반올림합니다 .

  • 반올림된 몫을 저장하려면 long 데이터 유형을 사용하십시오.

  • 자! 몫으로 원하는 출력이 있습니다.

결론

Java 정수로 나누기는 처음에는 까다로워 보일 수 있습니다. 그러나 약간의 연습과 반복을 통해 잡을 수 있습니다. 가능한 한 많은 연습을 하십시오. 원할 때 언제든지 저희 게시물로 돌아가십시오. 건배! 배운 내용을 보강하려면 Java 과정에서 비디오 강의를 시청하는 것이 좋습니다.