Skip to content

Latest commit

 

History

History
104 lines (67 loc) · 23.5 KB

intro.md

File metadata and controls

104 lines (67 loc) · 23.5 KB

Введение

Java считается одним из самых значительных и широко распространенных языков программирования, поскольку ему принадлежит исключительная роль в разработке приложений для Интернета. Для того чтобы профессионально заниматься разработкой веб-приложений, нужно досконально знать Java. Поэтому, если хотите связать свое будущее с программированием веб-приложений, вам нужно выбрать подходящий для этого язык и как следует изучить его. Кроме того, Java принадлежит ведущая роль в программировании смартфонов на платформе Android. Проще говоря, программирование на Java составляет основу большей части современной вычислительной техники.

Цель этой книги — обучить вас, читатель, основам программирования на языке Java. В ней применяется поэтапный подход к освоению языковых средств на многочисленных примерах, упражнениях на самопроверку и несложных проектах. Для изучения Java по этой книге не обязательно иметь какой-то опыт программирования. Книга начинается с самых основных понятий, включая компилирование и выполнение программ на Java. Затем речь пойдет о ключевых словах и языковых средствах и конструкциях, составляющих основу Java. После этого рассматриваются более сложные языковые средства Java, в том числе многопоточное программирование и обобщения. И завершается книга введением в библиотеку Swing. Все это позволит вам получить ясное представление об основах программирования на Java.

Но эта книга — лишь первый шаг на пути к освоению Java, поскольку для профессионального программирования на Java нужно знать не только составные элементы этого языка, но и многочисленные библиотеки и инструменты, существенно упрощающие процесс разработки программ. Проработав материал этой книги, вы получите достаточно знаний, чтобы приступить к изучению всех остальных аспектов Java.

Эволюция Java

Немногие языки могут похвастаться тем, что им удалось изменить общее представление о программировании. Но и в этой “элитной” группе один язык выделяется среди прочих. Его влияние очень быстро почувствовали все программисты. Речь, конечно же, идет о Java. Не будет преувеличением сказать, что выпуск в 1995 году компанией Sun Microsystems Inc. версии Java 1.0 вызвал настоящую революцию в программировании. В результате Всемирная паутина стала по-настоящему интерактивной средой. Между тем Java установил новый стандарт в разработке языков программирования.

Со временем Java усовершенствовался. В отличие от многих других языков, в которых новые средства внедрялись относительно медленно, Java всегда находился на переднем крае разработки языков программирования. Одной из причин, позволивших добиться этого, послужило создание вокруг Java плодотворной атмосферы, способствовавшей внедрению новых идей. В результате язык Java постоянно совершенствовался: одни его изменения были незначительными, а другие — весьма существенными.

Первым существенным обновлением Java стала версия 1.1. Изменения в ней были более значительны, чем это обычно подразумевает переход к новой версии языка программирования. В версии Java 1.1 были добавлены многие библиотечные элементы, переопределены средства обработки событий, перекомпонованы многие функциональныесредства исходной библиотеки версии 1.0.

Следующим этапом развития данного языка стала платформа Java 2, где цифра 2 обозначает “второе поколение”. Ее создание стало поворотным событием, ознаменовавшим начало “новой эпохи” Java. Первым выпуском Java 2 стала версия 1.2. На первый взгляд, несоответствие номеров в обозначениях Java 2 и версии 1.2 может показаться странным. Дело в том, что номером 1.2 сначала обозначались библиотеки Java и только затем весь выпуск. Компания Sun перекомпоновала программный продукт Java в J2SE (Java 2 Platform Standard Edition — Стандартная версия платформы Java 2), и с тех пор номера версии стали относиться именно к этому продукту.

Затем появилась версия J2SE 1.3, в которую были внесены первые значительные изменения по сравнению с первоначальным выпуском Java 2. Новые функциональные средства были в основном добавлены к уже существующим и более тесно связаны со средой разработки. Версия J2SE 1.4 стала очередным этапом в развитии Java. Она содержала новые важные средства, в том числе цепочки исключений, канальный ввод-вывод и ключевое слово assert.

Следующая версия J2SE 5, по сути, стала вторым революционным преобразованием Java. В отличие от большинства предыдущих модернизаций, которые сводились к важным, но предсказуемым усовершенствованиям, в J2SE 5 были существенно расширены рамки применения и функциональные возможности языка, а также повышена его производительность. Для более ясного представления о масштабах изменений, внесенных в версии J2SE 5, ниже приводится перечень новых средств, которые рассматриваются в этой книге.

  • Обобщения
  • Автоупаковка и автораспаковка
  • Перечисления
  • Усовершенствованный вариант for-each цила for
  • Аргументы переменной длины
  • Статический импорт
  • Аннотации

В этот список не вошли несущественные дополнения или поэтапные изменения, характерные для перехода к новой версии. Каждый элемент этого списка представляет собой существенное дополнение Java. Для поддержки одних нововведений, в том числе обобщений, варианта for-each цикла for и аргументов переменной длины, пришлось ввести новые синтаксические конструкции в язык. А другие нововведения, например автоупаковка и автораспаковка, повлияли на семантику языка. И наконец, аннотации открыли совершенно новые возможности для программирования.

Особое значение новых языковых средств проявилось в том, что новая версия получила номер 5. Логично предположить, что номером очередной версии Java должен бы стать 1.5. Но нововведения оказались настолько значительными, что переход от версии 1.4 к 1.5 не отражал масштабы внесенных изменений. Поэтому разработчики из компании Sun решили увеличить номер версии до 5, подчеркнув тем самым важность нововведений. В итоге новая версия получила название J2SE 5, а комплект инструментaльныx средств разработчиков стал называться JDK 5. Но ради согласованности с предыдущими версиями было решено использовать 1.5 в качестве внутреннего номера версии, на который можно ссылаться как на номер версии, используемый при разработке. Номер 5 в J2SE 5 означает номер версии данного программного продукта.

Следующая версия Java называется J2SE 6. Это означает, что в компании Sun вновь решили изменить название платформы Java. Прежде всего, из названия исчезла цифра 2. Теперь платформа называется Java SE, а официальное имя продукта — Java Platform, Standard Edition 6. Как и в J2SE 5, цифра 6 в Java SE 6 означает номер версии программного продукта. А внутренним номером версии для использования при разработке является 1.6.

Версия Java SE 6 была построена на основе J2SE 5, но отличается от последней рядом нововведений. Изменения в этой версии не такие масштабные, как в предыдущей, но в ней были усовершенствованы библиотеки прикладного пользовательского интерфейса (API), добавлен ряд новых пакетов и улучшена исполняющая система. По существу, в версии Java SE 6 были закреплены усовершенствования, внедренные в J2SE 5.

Самая последняя версия Java называется Java SE 7, а соответствующий комплект инструментальных средств разработчиков — JDK 7. Данной версии присвоен внутренний номер 1.7. Java SE 7 — это первая основная версия Java, выпущенная после того, как компания Sun Microsystems Inc. была приобретена компанией Oracle (этот процесс начался в апреле 2009 года и завершился в январе 2010 года). В версии Java SE 7 появилось немало новых средств, в том числе существенные дополнения в сам язык и в библиотеки API. Усовершенствована также исполняющая система Java, в которой теперь поддерживаются программы, написанные на других языках программирования.

Наиболее важные средства, внедренные в версии Java SE 7 и рассматриваемые в этой книге, были разработаны в рамках проекта под названием Project Coin. В этом проекте преследовалась цель определить ряд незначительных изменений в языке Java, которые должны быть внедрены в JDK 7. И хотя эти изменения в целом называются “незначительными”, их последствия довольно значительны для разрабатываемых программ. На самом деле для многих программистов они могут стать самыми важными среди всех новых средств, появившихся в Java SE 7. Ниже перечислены новые языковые средства Java SE 7, рассматриваемые в этой книге.

  • Возможность управлять оператором switch с помощью объектов типа String.
  • Двоичные целочисленные литералы.
  • Символы подчеркивания в числовых литералах.
  • Расширенный оператор try, называемый оператором try с ресурсами и поддерживающий автоматическое управление ресурсами. (Например, файловый поток может быть теперь закрыт, если он больше не нужен.)
  • Выводимость типов (посредством ромбовидного оператора) при построении обобщенного экземпляра объекта.
  • Усовершенствованная обработка исключений, благодаря которой два или более исключения могут быть перехвачены одним (многозаходным, как мышеловка) оператором catch, а также улучшенный контроль типов для исключений, которые генерируются повторно.

Как видите, средства, разработанные в проекте Project Coin в качестве незначительных языковых изменений, сулят выгоды, которые никак нельзя отнести к разряду “незначительных”. В частности, оператор try с ресурсами позволяет существенно сократить объем написанного кода.

Материал предыдущего издания этой книги был обновлен и отражает особенности версии Java SE 7. Новые средства, обновления и дополнения Java SE 7 обозначаются соответствующим образом на страницах нового издания книги.

Структура книги

Эта книга представляет собой учебное пособие, разделенное на 15 глав, в каждой из которых рассматриваются отдельные вопросы программирования на Java. Материал каждой последующей главы основывается на предыдущей. Отличительная особенность книги состоит в том, что в ней используется ряд специальных приемов, повышающих эффективность обучения.

Основные навыки и понятия

Каждая глава начинается с рассмотрения самых важных для программирования навыков, которыми нужно овладеть.

Упражнения для самопроверки

В конце каждой главы приведено упражнение для самопроверки, позволяющее читателю проверить приобретенные им знания. Ответы на вопросы к этим упражнениям приведены в приложении А.

Обращение к знатоку

На страницах книги вам будут встречаться врезки “Обращение к знатоку”. Они содержат дополнительные сведения или любопытные замечания по рассматриваемой теме в форме вопросов и ответов.

Примеры для опробования

В каждой главе содержится один или несколько примеров для опробования, которые представляют собой несложные проекты для закрепления полученных знаний на практике. Как правило, это реальные примеры, с которых можно начинать разработку собственных прикладных программ.

Навыки программирования

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

Необходимое программное обеспечение

Для компиляции и запуска программ, исходные коды которых представлены в этой книге, вам потребуется последняя версия комплекта Java Development Kit — (JDK). На момент написания данной книги это был комплект JDK 7 от компании Oracle для версии Java SE 7. О том, как найти и установить такой комплект, речь пойдет в главе 1.

Если вы пользуетесь более ранней версией Java, например Java 5, то и в этом случае сможете извлечь пользу из этой книги. Но вам не удастся скомпилировать и выполнить те программы, в которых используются новые функциональные возможности Java.

Исходный код примеров программ

Имейте в виду, что исходный код всех примеров программ и проектов, представленных в этой книге, свободно доступен по адресу www. oraclepressbooks . com.

Особая благодарность

Особая благодарность выражается Дэнни Кауэрду — научному рецензенту настоящего издания книги. Его советы, предложения и идеи оказались очень ценными и дельными.

Другая литература на данную тему

Эта книга — лишь одна из целого ряда книг по программированию, написанных Гербертом Шилдтом. Возможно, вас заинтересуют и другие труды этого автора. Тем, кто хочет больше узнать о программировании на Java, рекомендуются следующие книги данного автора.

Полный справочник по Java (ИД “Вильямс”, 2012 г.) ,

  • Java. Методики программирования Шилдта (ИД “Вильямс”, 2008 г.)
  • Искусство программирования на Java (ИД “Вильямс”, 2005 г.)
  • SWING:руководство для начинающих (ИД “Вильямс”, 2007 г.)

Если хотите изучить C++, вам помогут перечисленные ниже книги.

  • Полный справочник по C++ (ИД “Вильямс”, 2007 г.)
  • C++. Руководство для начинающих (ИД “Вильямс”, 2005 г.)
  • STL Programming From the Ground Up (об основах программирования на C++ средствами стандартной библиотеки шаблонов; издательство Osborne/McGraw-Hill, 1998 г.)
  • C++. Методики программирования Шилдта (ИД “Вильямс”, 2009 г.)

Если вас интересует язык С#, обратите внимание на следующие книги Г. Шилдта.

  • Полный справочник по C# 4.0 (ИД “Вильямс”, 2010 г.)
  • С#. Руководство для начинающих 3.0 (ИД “Вильямс”, 2008 г.)

И наконец, тем, кто хочет изучить язык С, можно порекомендовать книгу Полный справочник по С (ИД “Вильямс”, 2007 г.)

За дополнительными рекомендациями обращайтесь непосредственно к Герберту Шилдту — признанному авторитету в области программирования.