Class primer_array4
{
static Scanner reader = new Scanner(System.in);
public static void main(String[] args)
{
int [] b=new int[reader.nextInt()];
for (int i=0; i<=b.length-1; i++)
{
b[i]=(int)(10*Math.random());
System.out.print(b[i]);
}
}
}
Как видите, в заголовке цикла используется свойство "размер" – но обратите внимание, как написана верхняя граница изменений переменной-счетчика (она же, кстати, и индекс ячейки массива):
i<=b.length-1
Поскольку в этом выражении используется логическое правило "меньше или равно", то, для того, чтобы остановиться на последней ячейке, необходимо уменьшать на 1 значение, равное размеру массива.
Безусловно, это создает определенную путаницу – во всяком случае, до тех пор, пока правильная запись не станет для вас автоматической.
Однако можно использовать и другой вариант записи этого условия: с логическим правилом "строго меньше":
for (int i=0; i<b.length; i++)
Разумеется, никакой разницы между этими двумя вариантами заголовка цикла нет, и каждый может выбрать тот вариант, который ему ближе.
Покажи мне весь массив…
Один из встроенных в язык Java методов позволяет вывести на экран весь массив одной командой, причем без использования цикла "от начальной ячейки до последней, одну ячейку за другой".
Выглядит этот метод следующим образом:
System.out.println(Arrays.toString(a));
Удобство этого метода в том, что нет нужды использовать цикл.
Неудобство же этого метода в том, что он всегда выводит массив на экран в одном и том же виде (пример – чуть ниже по тексту), в то время, как использование цикла позволяет выводить массив на экран так, как нам это нужно или хочется.
А если массив не заполнять?
В языке Java предусмотрена возможность заполнять массив (ячейки массива) значениями "по умолчанию", то есть без того, чтобы в классе "откровенно" происходило заполнение массива какими-то значениями.
Возможность эта предусматривает:
· заполнение массива типа int значениями 0;
· заполнение массива типа double значениями 0.0;
· заполнение массива типа boolean значениями false;
· заполнение массива типа String значениями null;
Вот пример класса, который может показать вам эти данные на экране:
import java.util.*;