정수·실수 계산과 나눗셈 규칙을 배웁니다.
정수끼리 나누면 소수 부분이 버려지고 하나라도 실수면 실수 나눗셈이 됩니다. %는 나머지이며 괄호로 계산 순서를 명확히 합니다.
145 / 60은 두 피연산자가 모두 int라 몫 2만 남고, 145 % 60은 나머지 25라서 2시간 25분이 출력됩니다. 두 번째 줄의 (double) 18 / 24는 형 변환이 나눗셈보다 먼저 적용되어 18.0 / 24가 되므로 실수 나눗셈 결과 0.75가 나옵니다. 음수를 나누면 몫은 0 쪽으로 버려지고 나머지는 왼쪽 피연산자의 부호를 따라 -7 % 3은 -1입니다.
int 연산은 범위를 넘으면 조용히 overflow될 수 있습니다. Math.addExact 같은 메서드는 범위 초과를 예외로 바꿉니다.
금액에는 부동소수점 대신 BigDecimal 또는 가장 작은 화폐 단위의 정수를 고려합니다.
(double)(completed / total)은 이미 정수 나눗셈이 끝난 뒤 변환하므로 비율이 잘못됩니다.
직접 바꿔보세요분을 시간과 남은 분으로 바꾸세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.