- •Вступление. О книге и не только
- •Объектно-ориентированное программирование и Java
- •Часть I. Введение в Java Глава 1. Основы Java
- •Простые программы
- •Комментарии
- •Простые типы данных и литералы
- •Приведение типов
- •Основные операторы Java
- •Глава 2. Управляющие инструкции Java
- •Условная инструкция if()
- •Условная инструкция switch()
- •Инструкция цикла for()
- •Инструкция цикла while()
- •Инструкция do-while()
- •Метки и инструкции break() и continue()
Вступление. О книге и не только
Вниманию читателя предлагается книга по языку программирования 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 позволяет решать и такие задачи (имеются в виду программы, а не караси). Хотя большинство примеров в кни- ге представляют собой как раз простые программные коды, в данном случае это оправдано, поскольку в учебе хороши любые приемы — главное, чтобы они были эффективными.
