Основы программирования на Java - страница 12

Шрифт
Интервал

стр.

Ниже приведен пример цикла for, в котором в разделах инициализации и итерации стоит несколько операторов.

>class Comma {

>public static void main(String args[]) {

>int a, b;

>for (a = 1, b = 4; a < b; a++, b--) {

> System.out.println("a = " + a);

> System.out.println("b = " + b);

>    }

}

>}

Вывод этой программы показывает, что цикл выполняется всего два раза,

>а= 1

>b = 4

>а = 2

>b = 3

6.4. Оператор continue

В некоторых ситуациях возникает потребность досрочно перейти к выполнению следующей итерации, проигнорировав часть операторов тела цикла, еще не выполненных в текущей итерации. В этом случае необходимо сделать переход из текущей точки в конец цикла, т.е. в точку после последнего оператора тела цикла. Для этой цели в Java предусмотрен оператор continue. В случае циклов while и do-while оператор continue приводит к пропуску операторов тела цикла, не выполненных на данной итерации, и к передаче управления на код, проверяющий условие завершения цикла. Оператор continue, стоящий в цикле for, приводит к тому, что управление немедленно передается третьей части заголовка цикла, т.е. коду, который, выполняется на каждой итерации после операторов тела цикла. Ниже приведен пример, в котором оператор continue используется для того, чтобы в каждой строке печатались два числа,


>class ContinueDemo {

>public static void main(String args[]) {

>for (int i=0; i < 10; i++) {

> System.out.print(i + " ");

> if (i % 2 = 0) continue;

> System.out.println("");

>      }

>}

>}

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

0 1

>2 3

>5 7

>8 9

Как и в случае оператора break, в операторе continue можно задавать метку, указывающую, в каком из вложенных циклов вы хотите досрочно прекратить выполнение текущей итерации. Для иллюстрации служит программа, использующая оператор continue с меткой для вывода треугольной таблицы умножения для чисел от 0 до 9:

>class ContinueLabel {

>public static void main(String args[]) {

>outer: for (int i=0; i < 10; i++) {

>       for (int j = 0; j < 10; j++) {

>   if(j>i){

>                     System.out.println("");

>                     continue outer;

         }

>              System.out.print(" " + (i * j));

>         }

}

>} }

Оператор continue в этой программе приводит к завершению внутреннего цикла со счетчиком j и переходу к очередной итерации внешнего цикла со счетчиком i. В процессе работы эта программа выводит следующие строки:

>0

>0 1

>0 2 4

>0 3 6 9

>0 4 8 12 16

>0 5 10 15 20 25

>0 6 12 18 24 30 36

>0 7 14 21 28 35 42 49

>0 8 16 24 32 40 48 56 64

>0 9 18 27 36 45 54 63 72 81

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА JAVA

7. КЛАССЫ


Базовым элементом объектно-ориентированного программирования в языке Java является класс. В этой главе Вы научитесь создавать и расширять свои собственные классы, работать с экземплярами этих классов. Напомним, что классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода — указать интерпретатору Java, откуда надо начинать выполнение программы. Для того чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним — допустимый идентификатор и пара фигурных скобок для его тела.


>class Point { }

ЗАМЕЧАНИЕ: Имя исходного файла Java должно соответствовать имени хранящегося в нем класса. Регистр букв важен и в имени класса, и в имени файла.

Класс — это шаблон для создания объекта. Класс определяет структуру объекта и его методы, образующие функциональный интерфейс. В процессе выполнения Java-программы система использует определения классов для создания представителей классов. Представители являются реальными объектами. Термины «представитель», «экземпляр» и «объект» взаимозаменяемы. Ниже приведена общая форма определения класса.

>class имя_класса extends имя_суперкласса {

>type переменная1_объекта:

>type переменная2_объекта:

>type переменнаяN_объекта:

>type имяметода1(список_параметров) {

>тело метода;

>}

>type имяметода2(список_параметров) {

>тело метода;

>}

>type имя методаM(список_параметров) {

>тело метода;

>}

>}

Ключевое слово extends указывает на то, что «имя класса» — это подкласс класса «имя_суперкласса». Во главе классовой иерархии Java стоит единственный ее встроенный класс — Object. Если вы хотите создать подкласс непосредственно этого класса, ключевое слово extends и следующее за ним имя суперкласса можно опустить — транслятор включит их в ваше определение автоматически. Примером может служить класс Point, приведенный выше.


стр.

Похожие книги