Операторы break и continue
Когда тело цикла (for или while) состоит из нескольких команд, может возникнуть ситуация, что на очередной итерации выполнять их все нет необходимости. В этом случае полезными оказываются операторы break и continue.
Оператор break прекращает выполнение текущего цикла, независиом от того, выполняется ли условие его окончания.
Оператор continue прекращает выполнение текущей итерации цикла. То есть, если в теле цикла встречается этот оператор, то остальные, следующие за ним команды пропускаются и начинается новая итерация (повторение) цикла.
Заключение
Несмотря на то, что материал первого занятия достаточно обширный, он не должен вызвать затруднений у студентов, уже знакомых хотя бы с одним языком программирования, поскольку конструкции во всех языках одни и те же и необходимо лишь освоить правила их записи (синтаксис). Если же знакомство с другими языками программирования состоялось слабое, необходима усиленная домашняя работа и решение дополнительных задач.
Лекция 2. Массивы и строки
Массивы
Определения
Массив – это совокупность переменных одного типа, имеющих общее имя. Каждая такая переменная называетсяэлементом массива. С каждым элементом связано целое число – индекс, который используется (вместе с именем массива) для обращения к нему.
Создание массива
Создание массива происходит в два этапа.
1. Объявление массива. На этом этапе создается переменная типа ссылка на массив, с помощью которой можно к массиву обращаться. Для этого указывается тип элементов массива, затем квадратные скобки (они показывают, создается массив, а не с обычная переменная) и идентификатор – имя массива. Идентификаторов может быть несколько (как и в случае с переменными простых типов).
Примеры:
int[] a; // Создается ссылка на массив типа int
double[] b, c; // Создаются две ссылки на массивы типа double
2. Создание массива. Создать массив – значит выделить в памяти место, достаточное для хранения всех его элементов. Для этого надо указать длину массива – количество элементов в нем. Кроме того, переменная-ссылка, объявленная на предыдущем этапе, теперь будет «указывать» не в пустоту (в Java эта «пустота» называется null), а на конкретный массив, с элементами которого можно работать.
Массив создается операцией new, которая выделяет участок памяти и возвращает указатель на этот участок. После ключевого слова new должен быть указан тип данных массива и его длина в квадратных скобках:
a = new int[5]; // В памяти выделяется место под массив из пяти целочисленных элементов, переменная a будет указывать на этот массив
b = new double[4]; // В памяти выделяется место под массив из четырех действительных элементов, на него указывает переменная b
При этом элементам массива присваиваются значения по умолчанию.
Можно сразу проинициализировать массив нужными значениями, если перечислить их через запятую в фигурных скобках (длина массива при этом не указывается):
c = new double[]{2.3, 1.02, 8}; // В памяти выделяется место под массив из трех действительных элементов, на него указывает переменная с, элементы массива сразу получают нужные значения
Работа с массивом
После объявления массива с ним можно работать. Например, присваивать значения элементам массива и обращаться с ними как с обычными переменными. Для обращения к конкретному элементу необходимо указать имя переменной, указывающей на массив, и его индекс в квадратных скобках. Нумерация элементов массива начинается с нуля.
Примеры:
a[0] = 5; // Первому элементу массива a, присваивается значение 5
a[3] = 17; // Четвертому элементу массива a, присваивается значение 17
a[1] = a[0] – a[3]; // Второму элементу массива a присваивается значение - 12
Объявление, создание и инициализацию массива можно соместить. Например:
int[] a = new int[5];
и даже:
int[] a = new int[] {5, -12, 0, 17, 0}; // длина массива не указывается
Необходимо помнить, что переменные a, b и c являются не собственно массивами, а только ссылками на массивы. Это значит, что можно заставить ссылку показывать на другой массив (если он соответствующего типа). Это делается командой присваивания:
b = c;
В результате выполнения такой команды переменные b и c будут ссылаться (указывать) на один и тот же массив. Т.е., например, b[0] и c[0] – это теперь один и тот же элемент. А тот массив, на который раньше указывала переменная b, больше недоступен (поскольку на него не указывает ни одна ссылка) и будет удален из памяти сборщиком мусора Java.
Можно присвоить ссылке «пустое значение» null и тогда она не будет ссылаться ни на какую область памяти:
b = null;
Необходимо обратить внимание, что с массивом, на который показывала переменная b, ничего не случится, просто обратиться к нему теперь можно будет только через переменную c. Если присвоить null переменной a, ее целочисленный массив был бы уничтожен.
Длину массива можно определить, используя запись:
идентификатор_массива.length
Например, a.length будет равняться 5.
Очень удобно перебирать все элементы массива в цикле типа for. При этом обычно используется следующая форма:
for (int i = 0; i < a.length; i++) {
// здесь можно что-нибудь сделать с элементом a[i]
}
Например, следующий код присваивает всем элементам массива b числа от 1 до 4 (поскольку в массиве b четыре элемента):
for (int i = 0; i < b.length; i++) {
b[i] = i;
}
За границы массива выходить нельзя. Т.е., если в массиве a пять элементов, то обращение к шестому или восьмому элементу приведет к ошибке (точнее, возбуждению исключения).
a[5] = 8; // Нельзя, в массиве a только 5 элементов: a[0], a[1], a[2], a[3], a[4]
Дата добавления: 2017-01-26; просмотров: 1264;