Может ли кто-нибудь объяснить мне, почему следующее выражение действует именно так

Когда я запускаю этот код, он возвращает 3 (как я и ожидал), однако j печатает 0. Может ли кто-нибудь объяснить, почему это происходит.

 int i, j;
 i = 3;
 j = i;
 j = j/9*6;
 System.out.println(i);
 System.out.println(j);

person Peter    schedule 28.11.2016    source источник


Ответы (1)


Вы выполняете целочисленное деление, поэтому j/9 будет оцениваться как 0, тогда 0 * 6 == 0.

person th13    schedule 28.11.2016
comment
Спасибо, я совсем забыл, что это целое число, что довольно глупо. - person Peter; 28.11.2016