2016-08-19 5 views
-3
int num=0 

for(int i=0;i<5;i++) 
{ 
    num = num++; 
    system.out.println(num); 
} 

Я немного путаюсь с выходом вышеуказанной программы. Он выводит пять раз 0 на выходе. Почему переменная num увеличивается в цикле?Post increment in for loop in java

+1

В вашей программе нет заявления на печать. – Renzo

+1

Эта программа ничего не печатала – Amit

+0

@ Renzo, @ Amit .. Я забыл добавить заявление о печати. ​​Теперь он есть. –

ответ

1

num++ будет возвращать текущее значение num (т. Е. 0), а затем увеличивать num. Однако, поскольку вы повторно назначили это num, вы перезаписываете инкремент с предыдущим значением, поэтому num остается 0 по всей программе.

+0

Просьба уточнить. – Mordechai

+0

@MouseEvent Я думал, что сделал. Что бы вы хотели разработать? – Mureinik

+0

Я бы сказал, покажите шаг за шагом, что происходит с 'num'. Но, возможно, связанного дубликата может быть достаточно. – Mordechai

0

Вам необходимо увеличить с помощью ++ num. Например:

int num=0; 

for(int i=0;i<5;i++) 
{ 
    num = ++num; 
} 

System.out.println(num); 

Выход:

5 

Хотя вам не нужно переназначить его каждый раз, в одиночку num++ бы правильный способ сделать это.

Смотреть предыдущий ответ: Difference between ++var and var++

0

Вы должны знать разницу между num++ и ++num. В вашем случае сначала num установлен в 0. Когда вы говорите num = num++;, он сначала осетин 0 до num (левый), а затем примените ++. На самом деле неважно, что делает правильная часть уравнения ... Вот почему у вас есть 5 0.