2013-03-28 2 views
0

Я новичок в программировании, и я никогда не сталкивался с такой петлей. В прошлый раз, когда я использовал цикл for, выглядел как for(I = 0, I<=x.length(); I++) .... поэтому я пытаюсь выяснить, что «:» делает в этом цикле.Как это работает для цикла? в чем его цель?

код:

for (Cell cell : cl.board){  
    if(cell instanceof Ladder) 
    ladders++; 
    else if (cell instanceof Chute) 
    chutes++; 
} 
+1

Было бы полезно, если вы вывесили на каком языке это. Это Java? – squiguy

+0

Я думаю/думаю, cl.board содержит массив/список ячейки ячейки ячейки может быть базовым классом лестницы и желоба. если ячейка является лестницей лестничного типа с объектным типом, если это титровальный патрон типа – dekdev

ответ

0

Это называется foreach петля. Это означает:

Для каждого объекта типа Cell в списке-объекта cl.board, сделать следующее:

если (ячейка InstanceOf Ladder) лестницам ++; else if (cell instanceof Chute) chutes ++;

Это работает, только если cl.board - это список ячеек.

Для получения дополнительной информации: http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html

0

Это цикл Еогеасп. Вместо использования индекса он будет получать детей один за другим из набора/array/map. Если вам не нужен индекс, вы можете просто перебрать содержимое с помощью foreach

1

Он называется «усиленным» циклом в java. Также «для каждого» цикла.

for(Cell c:board){ 
    // do something 
} 

читается как "Для каждого элемента c (который является Cell) в board"

The эквиваленте:

for(int i=0;i<board.length;i++){ // assuming board is an array 
    Cell c = board[i]; 
    // do something 
} 
Смежные вопросы