for (int[] coordinates : anomalySpace) {
int x = coordinates[0];
int y = coordinates[1];
int z = coordinates[2];
}
Что делает первая строчка, подскажите, пожалуйста. Если это тернарный оператор, то где вопрос, при каких условиях? Если не тернарный, то тогда что это?
Дальше все понятно.
Элен
28 уровень
Что делает строка?
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Varava VyacheslavFull Stack Developer в Nibiru Space Corp.
16 марта 2023, 07:50
https://javarush.com/groups/posts/for-each-java
0
citizenoneStudent
15 марта 2023, 15:07решение
For-each — это разновидность цикла for, которая используется, когда нужно обработать все элементы массива или коллекции. “For each” с английского так и переводится — “для каждого”. Собственно, само словосочетание foreach в этом цикле не используется. Его синтаксис следующий:
Где type — тип итерационной переменной (совпадает с типом данных в массиве!), itVar — её имя, array — массив то есть объект, по которому выполняется цикл. Как вы видите, счётчик в такой конструкции не применяется, итерационная переменная перебирает элементы массива или коллекции, а не значения индекса.
При выполнении такого цикла, итерационной переменной последовательно присваивается значение каждого элемента массива или коллекции, после чего выполняется указанный блок операторов (или оператор).
Пример:
+2
Varava VyacheslavFull Stack Developer в Nibiru Space Corp.
15 марта 2023, 07:54
Это упрощённый вид цикла вместо
0
citizenoneStudent
15 марта 2023, 15:12
Это не совсем верно. Принципиальное отличие, в том, что переменной-счетчику присваивается не порядковый номер витка цикла, а значение элемента массива, который мы перебираем.
0
Varava VyacheslavFull Stack Developer в Nibiru Space Corp.
16 марта 2023, 07:49
В чём принципиальное отличие для примера, приведённого автором, где индексы первого уровня не используются?
https://javarush.com/groups/posts/for-each-java
0
citizenoneStudent
16 марта 2023, 15:06
В примере автора индексы первого уровня не используются как раз потому, что он использует конструкцию for-each, которая эти индексы скрывает.
Я согласен, что, скорее всего, любой for-each можно свести к обычному for, но не наоборот. Т.к. for-each именно перебирает элементы, а не обращается к ним по заданному нами индексу, что накладывает на него некоторые ограничения по сравнению с обычным for:
- нет возможности удалить какой-либо элемент коллекции обходя её при помощи for-each;
- мы не можем изменять или менять местами элемента массива, когда проходим по ним при помощи for-each;
Поэтому говорить что for-each - это просто упрощенный вид цикла for "не совсем правильно".
В любом случае, я обычный <student> и могу ошибаться. Буду рад, если кто-нибудь изменит моё мнение на более правильное.
0
Griboed
15 марта 2023, 02:59
Это не тернарный оператор. Это разновидность цикла. Такой вид цикла называется For-Each. Не путай с методом forEach()
Первая строчка дословно означает следующее:
"Брать в цикле каждый элемент коллекции anomalySpace, скопировать значение этого элемента в переменную coordinates, имеющую тип int[] , и дальше проделывать следующие действия с каждым взятым элементом (2-4 строчки)"
0