Как сделать предварительное увеличение без использования ++ I? - PullRequest
1 голос
/ 12 февраля 2020

Не думаю, что следующее:

i += 1

или

i = i + 1

такое же, как ++ i. Или я не прав? Есть ли способ сделать предварительное увеличение без использования оператора ++?

Ответы [ 3 ]

2 голосов
/ 12 февраля 2020

Они одинаковы. Если не использовать очень простые выражения (например, условие al oop), лучше избегать операторов ++ или --.

0 голосов
/ 12 февраля 2020

Как уже заметил Джереми, i + = 1; и я = я + 1; эквивалентны ++ i или i ++, если они представляют собой отдельные строки кода. Для достижения пре / постинкрементного увеличения вам нужно будет сделать инкремент до / после строки, в которой вы хотите использовать переменную в соответствии с регистром.

например, для постинкрементного увеличения переменной с именем i:

//use value of i here
i += 1;

для предварительного увеличения:

i += 1;
//use value of i here

В случае al oop, постинкремент довольно прост:

for(var i=someValue; i<maxValue; i+=1){
//code here
}

Для предварительного увеличения:

var i = someValue + 1;
for(; i<maxValue; i+=1){
//code here
}
0 голосов
/ 12 февраля 2020

Я не могу добавить комментарии, поэтому размещаю связанный вопрос stackoverflow здесь:

Как работают операторы увеличения (i ++) и предварительного увеличения (++ i) в Java?

...