Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 232; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.54.147 (0.012 с.) |