CodeGym /Java Blog /무작위의 /정수 나누기 Java
John Squirrels
레벨 41
San Francisco

정수 나누기 Java

무작위의 그룹에 게시되었습니다

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 과정에서 비디오 강의를 시청하는 것이 좋습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION