
Краткое оглавление
Вступление. О книге и не только 9
Часть I. Введение в Java 15
Глава 1. Основы Java 16
Глава 2. Управляющие инструкции Java 49
Глава 3. Массивы 80
Глава 4. Классы и объекты 110
Глава 5. Методы и конструкторы 153
Глава 6. Наследование и переопределение методов 198
Глава 12. Создание программ с графическим интерфейсом 318
Заключение 376
Литература 377
Приложение. Программное обеспечение 379
Алфавитный указатель 396
Оглавление
Вступление. О книге и не только 9
Объектно-ориентированное программирование и Java 10
Различия между Java и С++ 11
Программное обеспечение 12
Обратная связь 12
Программные коды 12
Благодарности 13
Часть I. Введение в Java 15
Глава 1. Основы Java 16
Простые программы 16
Комментарии 18
Простые типы данных и литералы 19
Приведение типов 23
Основные операторы Java 25
Примеры программ 32
Резюме 48
Глава 2. Управляющие инструкции Java 49
Условная инструкция if() 49
Условная инструкция switch() 53
Инструкция цикла for() 56
Инструкция цикла while() 59
Инструкция do-while() 60
Метки и инструкции break() и continue() 61
Примеры программ 63
Резюме 78
Глава 3. Массивы 80
Создание одномерного массива 80
Двухмерные и многомерные массивы 83
Символьные массивы 87
Присваивание и сравнение массивов 89
Оглавление 7
Примеры программ 92
Резюме 108
Глава 4. Классы и объекты 110
Знакомство с ООП 110
Создание классов и объектов 114
Статические элементы 118
Доступ к членам класса 121
Ключевое слово this 124
Внутренние классы 126
Анонимные объекты 128
Примеры программ 129
Резюме 151
Глава 5. Методы и конструкторы 153
Перегрузка методов 153
Конструкторы 156
Объект как аргумент и результат метода 159
Способы передачи аргументов 164
Примеры программ 166
Резюме 197
Глава 6. Наследование и переопределение методов 198
Создание подкласса 198
Доступ к элементам суперкласса 200
Конструкторы и наследование 202
Ссылка на элемент суперкласса 204
Переопределение методов при наследовании 208
Многоуровневое наследование 212
Объектные переменные суперкласса и динамическое
управление методами 215
Абстрактные классы 218
Примеры программ 220
Резюме 227
Глава 12. Создание программ с графическим интерфейсом 318
Создание простого окна 319
Обработка событий 323
Приложение с кнопкой 326
Классы основных компонентов 332
Создание графика функции 339
Калькулятор 355
Основы создания апплетов 363
Резюме 375
Заключение 376
Литература 377
Приложение. Программное обеспечение 379
Алфавитный указатель 396
Вступление. О книге и не только
Вниманию читателя предлагается книга по языку программирования Java. В ос- нову книги положены курсы лекций, прочитанные в разное время автором для магистров на физическом факультете Киевского национального университета имени Тараса Шевченко и бакалавров на медико-инженерном факультете Наци- онального технического университета «Киевский политехнический институт». Курс адаптирован для всех желающих самостоятельно изучать язык программи- рования Java и поэтому может использоваться в качестве самоучителя.
Материал книги разбит на две части, в каждой из которой по шесть глав, хотя следует признать, что деление это во многом условное. В первой части излага- ются основы синтаксиса языка Java. Этого материала вполне достаточно, чтобы начать писать простые программы. Во второй части описываются темы, интерес- ные тем, кто желает освоить язык на профессиональном уровне. Вообще же кни- га охватывает все базовые темы, необходимые для эффективного составления программ на Java, в том числе в ней описываются базовые типы данных, управ- ляющие инструкции, особенности создания классов и объектов в Java, спосо- бы создания пакетов и интерфейсов, перегрузка методов и наследование. Кроме того, отдельно рассматриваются вопросы создания приложений с графическим интерфейсом. Этой теме посвящена последняя глава книги.
Теоретический материал каждой главы иллюстрируется достаточно простыми примерами, позволяющими подчеркнуть особенности языка программирования Java. В конце каждой главы первой части имеется раздел с примерами решения задач. Это более сложные по сравнению с примерами основной части главы за- дачи и нередко для их решения приходится использовать специальные подходы или приемы. Разделы с примерами призваны продемонстрировать практические приемы применения программных средств Java для составления эффективных программных кодов. Для лучшего усвоения материала в конце каждой главы имеется краткое резюме.
Объектно-ориентированное программирование и Java
Язык Java является полностью объектно-ориентированным. Это означает, что любая программа, написанная на языке Java, должна поддерживать парадигму объектно- ориентированного программирования (сокращенно ООП). В отличие от традици- онного процедурного программирования, объектно-ориентированные программы подразумевают описание классов и, как правило, создание объектов. На сегод- няшний день существует несколько наиболее популярных языков программиро- вания, поддерживающих концепцию ООП. В первую очередь это C++, С# и Java. Исторически первым появился язык C++, ставший существенно усовершенство- ванной версией языка C. Усовершенствования касались главным образом под- держки парадигмы ООП. Именно С++ стал в известном смысле родительским для языков С# и Java. В этом несложно убедиться, если сравнить синтаксисы языков — они очень схожи. Язык C++ в известном смысле является «переход- ным», поскольку позволяет писать программы как с использованием классов, так и без них. В то же время такие языки, как Java и C#, для составления даже самой простой программы требуют использовать концепцию классов.
Язык Java является продуктом компании Sun Microsystems (теперь эта компания поглощена корпорацией Oracle), язык C# поддерживается компанией Microsoft. Языки программирования Java и C# можно рассматривать как попытку «усовер- шенствовать» и «адаптировать» используемые в C++ подходы для эффективного создания программных кодов, ориентированных на Интернет. В данном случае задачи и проблемы, которые решали создатели языка C#, нас интересовать не будут, а вот об особенностях языка Java хочется сказать несколько слов.
«Написано однажды — работает везде!» — эти слова можно назвать главным принципом, положенным в основу технологии Java. Именно на создание универ- сальной технологии программирования были направлены усилия разработчиков компании Sun Microsystems, в результате чего и появился язык программирова- ния Java. Периодом создания языка принято считать годы с 1991 по 1995. К тому времени остро встала проблема составления эффективных программ для работы в Интернете. В этом случае важное место занимают вопросы совместимости программного обеспечения, поскольку особенностью интернет-среды является принципиальное разнообразие используемых операционных систем и аппарат- ного обеспечения. Другими словами, задача состояла в том, чтобы эффектив- ность и корректность написанных на Java программ не зависела (или почти не зависела) от типа процессора или операционной системы.
Решение задачи было найдено в рамках концепции виртуальной Java-машины. Так, если обычно при компиляции программы (например, написанной на C++) на выходе мы получаем исполнительный машинный код, то в результате ком- пиляции Java-программы получают промежуточный байт-код, который выпол- няется не операционной системой, а виртуальной Java-машиной ( Java Virtual Machine, JVM). Разумеется, предварительно виртуальная Java-машина должна быть установлена на компьютер пользователя. С одной стороны, это позволяет создавать достаточно универсальные программы (в том смысле, что они могут
Различия между Java и С++ 11
использоваться с разными операционными системами). Однако, с другой сто- роны, платой за такую «универсальность» является снижение скорости выпол- нения программ.
Кроме того, следует четко понимать, что язык Java создавался для написания больших и сложных программ. Писать на Java консольные программы, которые выводят сообщения вроде «Hello, world!» — это все равно, что на крейсере от- правиться на ловлю карасей. Тем не менее Java позволяет решать и такие задачи (имеются в виду программы, а не караси). Хотя большинство примеров в кни- ге представляют собой как раз простые программные коды, в данном случае это оправдано, поскольку в учебе хороши любые приемы — главное, чтобы они были эффективными.