Java за неделю. Вводный курс. Валерий Станиславович Яценков
заранее не известно сколько раз придется задать вопрос, мы сознательно запускаем «вечный» цикл while со служебным значением true вместо условия. В каждом проходе цикла мы сравниваем введенное пользователем число со значением, загаданным в программе. В случае совпадения выводим сообщение и принудительно прерываем цикл. Количество попыток не может быть больше десяти, поэтому другие способы выхода из программы не предусмотрены.
Самостоятельно доработайте программу:
– Добавьте в тело цикла счетчик попыток. Пусть значение счетчика выводится в окне, сообщающем о совпадении: «Вы угадали число! Количество попыток:». Используйте конкатенацию строк, а также служебную последовательность "\n» для переноса строки текста.
– Добавьте прекращение угадывания и выход из программы при вводе числа 99.
4.4.2 Оператор досрочного выхода continue
Оператор continue прерывает выполнение тела цикла и вызывает досрочный переход к следующей итерации цикла, например:
for (int i=1; i <=10; i++) {
if (i== (i/2) *2) {
continue;
}
System.out.println («i=" + i);
}
Условие i== (i/2) *2 выполняется только в том случае, если значение i – четное, потому что тип переменной i объявлен как int. При делении нечетного числа на 2 дробная часть будет отброшена, и после умножения на 2 исходное значение не вернется. При истинности выражения сработает оператор continue и вызовет следующую итерацию цикла, минуя вывод на печать. Поэтому в окно консоли будут выведены только нечетные числа.
4.4.3 Оператор возврата return
Оператор return обычно применяется для выхода из подпрограмм, и его не принято использовать в циклах. Но, поскольку он тоже может досрочно прерывать выполнение блока команд, мы рассматриваем его в этом разделе.
Оператор return может возвращать из подпрограммы параметр, который указан после ключевого слова, например:
if (a <5) return a*20;
else return a*10;
Если параметр не указан, происходит выход из подпрограммы без передачи какого-либо значения в вызывающую программу.
Глава 5. Массивы и строки
Массив – это упорядоченный набор однотипных данных, объединенных общим именем. Допустим, мы захотели сохранить возраст нескольких пользователей. Мы можем создать несколько переменных с именами userAge1, userAge2, userAge3 и так далее. Но в этом случае возникает проблема с обращением к переменным, если нужно перебрать все значения в цикле. Кроме того, при разработке программы мы должны точно знать, сколько пользователей у нас будет, и заранее объявить переменную для каждого из них.
Можно поступить более рационально и объявить массив данных с именем userAge. Для обращения к элементу набора применяется порядковый номер (индекс) элемента: userAge [i]. В языке Java индексация элементов начинается с нуля.
Элементом массива может быть другой массив, который, в свою очередь, тоже может состоять из массивов. Количество индексов, которые необходимо указать для однозначной идентификации элемента, называется размерностью массива. Размерность массива может быть произвольной, но на практике чаще всего применяются одномерные и двумерные массивы. Трехмерные массивы применяются намного реже.
5.1 Одномерные