Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
For (инициализация; завершение; итерация )Содержание книги
Поиск на нашем сайте { тело; } Любой цикл, записанный с помощью оператора for, можно записать в виде цикла while, и наоборот. Если начальные условия таковы, что при входе в цикл условие завершения не выполнено, то операторы тела и итерации не выполняются ни одного раза. В обычной форме цикла for происходит увеличение целого значения счетчика с минимального значения до определенного предела. class ForDemo { public static void main(String args[]) { for (int i = 1; i <= 10; i++) System.out.println("i = " + i); } } Следующий пример – вариант программы, ведущей обратный отсчет. class ForTick { public static void main(String args[]) { for (int n = 10; n > 0; n--) System.out.println("tick " + n); }} Обратите внимание – переменные можно объявлять внутри раздела инициализации оператора for. Переменная, объявленная внутри оператора for, действует в пределах этого оператора.
Оператор запятая Иногда возникают ситуации, когда разделы инициализации или итерации цикла for требуют нескольких операторов. Поскольку составной оператор в фигурных скобках в заголовок цикла for вставлять нельзя, Java предоставляет альтернативный путь. Применение запятой (,) для разделения нескольких операторов допускается только внутри круглых скобок оператора for. Ниже приведен пример цикла 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 Оператор continue В некоторых ситуациях возникает потребность досрочно перейти к выполнению следующей итерации, проигнорировав часть операторов тела цикла, еще не выполненных в текущей итерации. Для этой цели в Java предусмотрен оператор continue. Ниже приведен пример, в котором оператор 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 4 5 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 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 является класс. В этой главе Вы научитесь создавать и расширять свои собственные классы, работать с экземплярами этих классов и начнете использовать мощь объектно-ориентированного подхода. Напомним, что классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода – указать интерпретатору Java, откуда надо начинать выполнение программы. Для того чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним — допустимый идентификатор и пара фигурных скобок для его тела.
class Point {
} При этом имя исходного файла Java должно соответствовать имени хранящегося в нем класса. Регистр букв важен и в имени класса, и в имени файла. Класс – это шаблон для создания объекта. Класс определяет структуру объекта и его методы, образующие функциональный интерфейс. В процессе выполнения Java-программы система использует определения классов для создания представителей (объектов) классов. Представители являются реальными объектами. Термины «представитель», «экземпляр» и «объект» взаимозаменяемы. Ниже приведена общая форма определения класса.
class имя_класса extends имя_суперкласса { type переменная1_объекта: type переменная2_объекта: type переменнаяN_объекта: type имяметода1(список_параметров) { тело метода; } type имяметода2(список_параметров) { тело метода; } type имя методаМ(список_параметров) { тело метода; } } Ключевое слово extends указывает на то, что «имя_класса» – это подкласс класса «имя_суперкласса». Во главе классовой иерархии Java стоит единственный ее встроенный класс – Object. Если вы хотите создать подкласс непосредственно этого класса, ключевое слово extends и следующее за ним имя суперкласса можно опустить – транслятор включит их в ваше определение автоматически. Примером может служить класс Point, приведенный ранее.
Переменные представителей (instance variables) Данные инкапсулируются в класс путем объявления переменных между открывающей и закрывающей фигурными скобками, выделяющими в определении класса его тело. Эти переменные объявляются точно так же, как объявлялись локальные переменные в предыдущих примерах. Единственное отличие состоит в том, что их надо объявлять вне методов, в том числе вне метода main. Ниже приведен фрагмент кода, в котором объявлен класс Point с двумя переменными типа int. class Point { int х, у; } В качестве типа для переменных объектов можно использовать как любой из простых типов, так и классовые типы.
Создание объекта класса С помощью оператора new создается экземпляр указанного класса и возвращается ссылка на созданный объект. Ниже приведен пример создания и присваивание переменной р экземпляра класса Point.
Point р = new Point();
Вы можете создать несколько ссылок на один и тот же объект. Приведенная ниже программа создает два различных объекта класса Point и в каждый из них заносит свои собственные значения. Оператор точка используется для доступа к переменным и методам объекта. class TwoPoints { public static void main(String args[]) { Point p1 = new Point(); Point p2 = new Point(); p1.x = 10; p1.y = 20; р2.х = 42; р2.у = 99; System.out.println("x = " + p1.x + " у = " + p1.y); System.out.println("x = " + р2.х + " у = " + р2.у); } } В этом примере используется класс Point. В классе TwoPoints создали два объекта этого класса Point, и их переменным х и у присвоены различные зна-чения. Таким образом, мы продемонстрировали, что переменные различных объектов независимы на самом деле. Ниже приведен результат, полученный при выполнении этой программы. х = 10 у = 20 х = 42 у = 99
Объявление методов Методы – это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне, что и переменные объектов. При объявлении метода задаются тип возвращаемого им результата и список параметров. Общая форма объявления метода такова: тип имя_метода (список формальных параметров) { тело метода; } Тип результата, который должен возвращать метод может быть любым, в том числе и типом void – в тех случаях, когда возвращать результат не требуется. Список формальных параметров – это последовательность пар тип-идентификатор, разделенных запятыми. Если у метода параметры отсутствуют, то после имени метода должны стоять пустые круглые скобки. class Point { int х, у; void init(int a, int b) { х = а; y = b; } }
Вызов метода В Java отсутствует возможность передачи параметров «по ссылке» на простой тип. В Java все параметры простых типов передаются «по значению», а это означает, что у метода нет доступа к исходной переменной, использованной в качестве параметра. Заметим, что все объекты передаются по ссылке. Можно изменять содержимое того объекта, на который ссылается данная переменная.
|
||
|
Последнее изменение этой страницы: 2016-08-26; просмотров: 371; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.009 с.) |