Как мне перенести этот цикл c for в java для цикла

#java #c

#java #c

Вопрос:

Я новичок в C , и я хочу преобразовать эту строку кода цикла for в версию java

 for(;diff;diff  ){
     do something here
}
  

diff — это переменная целочисленного типа.
Заранее спасибо.

Комментарии:

1. Что такое diff это POD или класс? Он подписан или без знака?

2. diff начинается с отрицательного значения? иначе исходный цикл будет зацикливаться до INT_MAX, затем повторяться до diff значения 0 — это то, что происходит? если нет, то условие для проверки должно быть diff < 0

Ответ №1:

Проблема в том, что C допускает неявное преобразование из int в boolean для условия завершения, тогда как Java этого не делает. Попробуйте

 for(; diff != 0; diff  )
{
  

что должно быть эквивалентно.

Ответ №2:

В Java, в отличие от C , целое число не преобразуется автоматически в логическое выражение. Вы должны написать это следующим образом на Java:

 for ( ; diff != 0; diff  ) {
    // do something here
}