powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Правила записи кода цикла
6 сообщений из 6, страница 1 из 1
Правила записи кода цикла
    #33420424
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Скажите пожалуйста в каком случае будет наиболее корректна запись для цикла:

1) случай - определение количества итераций вне цикла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 void  foo1(String[] src) {

 int  size = src.length();   // определение количества итераций
 for ( int  i= 0 ; i<size; i++) {
...
}

}

2) случай - определение количества итераций в заголовке цикла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 void  foo1(String[] src) {


 for ( int  i= 0 ; i<src.length(); i++) {
...
}
}

Лично мне кажется более всего лучший код в случае 1 с точки зрения производительности, но я могу ошибаться и не знать если компилятор сам оптимизирует этот шаг. Помогите разобраться с этим!!!
...
Рейтинг: 0 / 0
Правила записи кода цикла
    #33420436
java coder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если цикл будет пустой, а количество иттераций огромным, то ты сможешь заметить разницу во времени исполнения.

в противном случае разница будет в сотые доли процента, т.е. никакая.
...
Рейтинг: 0 / 0
Правила записи кода цикла
    #33420444
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения, я допустил ошибку - на самом деле привел неправильный пример - длина массива src.length и в обоих случаях будет одинаковая производительность.

А меня интересует именно вычисляемое значение количества итераций. Предположим если бы был такой метод src.length() который каждый раз при вызове вычислял размер.

т.е. как компилятор будет обрабатывать этот цикл - он вычислит заранее в заголовке цикла количество итераций или будет каждый раз на каждой итерации вычислять?
...
Рейтинг: 0 / 0
Правила записи кода цикла
    #33421165
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
Код: plaintext
1.
2.
3.
 for  ( int  i =  0 , size = src.length; i < size; i++) {
  // :)
}

--
тынц :)
...
Рейтинг: 0 / 0
Правила записи кода цикла
    #33421568
AndreySerj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unicornmirageЗдравствуйте.
Скажите пожалуйста в каком случае будет наиболее корректна запись для цикла:

1) случай - определение количества итераций вне цикла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 void  foo1(String[] src) {

 int  size = src.length();   // определение количества итераций
 for ( int  i= 0 ; i<size; i++) {
...
}

}

2) случай - определение количества итераций в заголовке цикла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 void  foo1(String[] src) {


 for ( int  i= 0 ; i<src.length(); i++) {
...
}
}



Да, во втором варианте условное выражение будет оцениваться на каждой итерации цикла, поэтому выход - либо твой вариант 1, либо вариант Грассоф
...
Рейтинг: 0 / 0
Правила записи кода цикла
    #33423261
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Грасоff™
тынц :)
спасибо, уважаемый уникум!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Правила записи кода цикла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]