2015-09-18 2 views
-3

В настоящее время я новичок в программировании на Java, и недавно мой учитель дал мне несколько практических вопросов. В некоторых из for вопросов массива цикла, есть определенные моменты, когда они используют напримерРазница между числами.length и normal forloop

for(int j=0;j<numbers.length;j++) 

и в определенное время они используют эту

(for int j=0;j<7;j++) 

Что разница?

+0

Что такое цифры? массив? Вопрос неполный и нуждается в дополнительной информации. –

ответ

1

1.) for(int j=0;j<numbers.length;j++)

Цикл начинается от j=0

цикл продолжается, пока j<numbers.length

Эта сквозными фактически определяется во время выполнения, в зависимости от размера numbers массива.

2.)

начинается цикл от j=0

цикл продолжается, пока j<7

Это то, что мы зафиксировали количество для цикла, она будет работать 7 раз при наличии нет операторов break, сброс значения переменной j или любого сценария исключения.

Следуйте за 1-м, когда вы не знаете, что является размером array, list или сколько раз вам нужно петли.

Следуйте за 2-м, когда фиксируется петля.

+0

Другая вещь, на которую нужно обратить внимание, - это если вы добавляете или удаляете элементы из массива в функции forloop, то версия j <7 может либо не пересекать весь массив, либо вызывать ошибку, если длина массив становится меньше 7. – Steve

+0

@Steve Thanx Steve, хорошая точка –

+0

... цикл продолжается * до * j paxdiablo

0

Это динамический расчет length

for(int j=0;j<numbers.length;j++) 

Здесь цикл будет работать ДО при j будет меньше, чем length из numbers и numbers является Array здесь.

Хотя это закодирована один

(for int j=0;j<7;j++) 

Здесь вы можете увидеть

length --- arrays (int[], double[], String[]) ---- знать длину arrys.

length() --- String связанных объектов (String, StringBuilder и т.д.), чтобы знать длину String

0

numbers.length даст вам длину массива и цикл продолжается до длины.

, но в случае 7 цикл будет завершен после 7 итераций.

1

Форма:

for (int j = 0; j < numbers.length; j++) 

как правило, используется, когда вы не знаете, во время компиляции, сколько элементов будет в коллекции.

Он работает j от 0 до numbers.length - 1 включительно и обычно используется для обработки всей коллекции (по индексу) один за другим.

С другой стороны:

for (int j = 0; j < 7 ; j++) 

будет всегда выполнить семь раз (не предполагая «странности», как break или изменение j внутри цикла, конечно) - переменная j будет колебаться между 0 и 7 включительно.

Для коллекции переменного размера это практически бесполезно и, как правило, используется для вещей, имеющих фиксированный размер во время компиляции. Обратите внимание, что в этом нет, включая массивы, в которых вы определяете, какую часть массива вы используете с другой переменной. Хотя сам массив является фиксированным размером, наложение переменной длины на него таким образом делает структуру данных переменной размера.

Смежные вопросы