Настоящее, 6-е издание бестселлера Герберта Шилдта "Java 8. Руководство для начинающих", обновленное с учетом всех новинок последнего выпуска Java Platform, Standard Edition 8 (Java SE 8), позволит новичкам сразу же приступить к программированию на языке Java. Герберт Шилдт, всемирно известный автор множества книг по программированию, уже в начале книги знакомит читателей с тем, как создаются, компилируются и выполняются программы, написанные на языке Java. Далее объясняются ключевые слова, синтаксис и языковые конструкции, образующие ядро Java. Кроме того, в книге "Java 8. Руководство для начинающих" рассмотрены темы повышенной сложности: многопоточное программирование, обобщенные типы, средства библиотеки Swing.
Название: Java 8. Руководство для начинающих, 6-е издание Автор: Герберт Шилдт Издательство: Вильямс Год: 2015 Страниц: 712 Формат: PDF Размер: 105 Мб ISBN: 978-5-8459-1955-7 Качество: Отличное Язык: Русский
Содержание:
Об авторе О техническом редакторе Введение Эволюция Java Java SE 8 Структура книги Основные навыки и понятия Вопросы и упражнения для самопроверки Вопросы к эксперту Упражнения к главам Книга для всех программистов Необходимое программное обеспечение Исходный код примеров программ Для дальнейшего изучения От издательства Глава 1. Основы Java Истоки Java Взаимосвязь межд у Java и языками С и С++ Взаимосвязь между Java и языком С# Вклад Java в развитие Интернета Jаvа-аплеты Безопасность Переносимость Волшебный байт-код Java Основные характеристики Java Объект но-ориентированное программирование Инкапсуляция Полиморфизм Наследование Установка комплекта Java Development Кit Первая программа на Java Ввод исходного кода программ Компиляция программы Построчный анализ исходного кода первого примера программы Обработка синтаксических ошибок Еще одна простая программа Другие типы данных Два управляющих оператора Оператор if Цикл for Создание блоков кода Использование точки с запятой в коде программы Стилевое оформление текста программ с помощью отступов Ключевые слова Java Идентификаторы в Java Библиотеки классов Java Глава 2. Введение в типы данных и операции над ними Особая важность типов данных Элементарные типы данных Java Целочисленные типы данных Типы данных с плавающей точкой Символы Логический тип данных Литералы Шестнадцатеричные, восьмеричные и двоичные литералы Управляющие последовательности символов Строковые литералы Подробнее о переменных Инициализация переменных Динамическая инициализация Область действия и время жизни переменных Операции Арифметические операции Операции инкремента и декремента Операции сравнения и логические операции Укороченные логические операции Операция присваивания Составные операции присваивания Преобразование типов при присваивании Приведение несовместимых типов Приоритеты операций Выражения Преобразование типов в выражениях Пробелы и круглые скобки Глава 3. Управляющие операторы Ввод символов с клавиатуры Условный оператор if Вложенные условные операторы if Многоступенчатая конструкция if-else-if Оператор switch Вложенные операторы switch Цикл for Некоторые разновидности цикл а for Пропуск отдельных частей в определении цикла for Бесконечный цикл Циклы без тела Объявление управляющих переменных в цикле for Расширенный цикл for Цикл while Цикл do-while Применение оператора break для выхода из цикла Оператор break в роли оператора goto Применение оператора continue Вложенные циклы Глава 4. Введение в классы, объекты и методы Основные сведения о классах Общая форма определения класса Определение класса Порядок создания объектов Переменные ссылочного типа и присваивание Методы Добавление метода в класс Vehicle Возврат из метода Возврат значения Использование параметров Добавление параметризированного метода в класс Vehicle Конструкторы Параметризированные конструкторы Добавление конструктора в класс Vehicle Еще раз об операторе new Сборка мусора и методы завершения Метод finalize() Ключевое слово this Глава 5. Дополнительные сведения о типах данных и операциях Массивы Одномерные массивы Многомерные массивы Двумерные массивы Нерегулярные массивы Трехмерные, четырехмерные и многомерные массивы Инициализация много мерных массивов Альтернативный синтаксис объявления массивов Присваивание ссылок на массивы Применение переменной экземпляра length Разновидность for-each цикла for Циклическое обращение к элементам многомерных массивов Использование расширенного цикла for Символьные строки Создание строк Операции над символьными строками Массивы строк Неизменяемость строк Использование строк для управления оператором switch Использование аргументов командной строки Поразрядные операции Поразрядные операции И, ИЛ И, исключающее ИЛИ и НЕ Операции сдвига Поразрядные составные операции присваивания Оператор ? Глава 6. Дополнительные сведения о методах и классах Управление доступом к членам класса Модификаторы доступа в Java Передача объектов методам Способы передачи аргументов методу Возврат объектов Перегрузка методов Перегрузка конструкторов Рекурсия Применение ключевого слова static Статические блоки Вложенные и внутренние классы Переменное число аргументов Использование методов с переменным числом аргументов Перегрузка методов с переменным числом аргументов Переменное число аргументов и неопределенность Глава 7. Наследование Основы наследования Наследование и доступ к членам класса Конструкторы и наследование Использование ключевого слова super для вызова конструктора суперкласса Применение ключевого слова super для доступа к членам суперкласса Создание многоуровневой иерархии классов Очередность вызова конструкторов Ссылки на суперкласс и объекты подклассов Переопределение методов Поддержка полиморфизма в переопределяемых методах Для чего нужны переопределенные методы Демонстрация механизма переопределения методов на примере класса TwoDShape Использование абстрактных классов Использование ключевого слова final Предотвращение переопределения методов Предотвращение наследования Применение ключевого слова final к переменным экземпляра Класс Object Глава 8. Пакеты и интерфейсы Пакеты Определение пакета Поиск пакета и переменная среды CLASSPATH Простой пример применения пакета Пакеты и доступ к членам классов Пример доступа к пакету Защищенные члены классов Импорт пакетов Библиотечные классы Java, содержащиеся в пакетах Интерфейсы Реализация интерфейсов Применение интерфейсных ссылок Переменные в интерфейсах Наследование интерфейсов Методы интерфейсов, используемые по умолчанию Основные сведения о методах по умолчанию Практический пример использования метода по умолчанию Множественное наследование Использование статически х методов интерфейса Последние замечания относительно пакетов и интерфейсов Глава 9. Обработка исключений Иерархия исключений Общее представление об обработке исключений Использование ключевых слов try и catch Простой пример обработки исключений Необработанные исключений Обработка исключений - изящный способ устранения программных ошибок Множественные операторы catch Перехват исключений, генерируемых подклассами Вложенные блоки try Генерирование исключений Повторное генерирование исключений Подробнее о классе ThrowaЫe Использование ключевого слова finally Использование ключевого слова throws Новые средства обработки исключений, появившиеся в версии JDK 7 Встроенные классы исключений Java Создание подклассов, производных от класса Exception Глава 10. Ввод-вывод данных Потоковая организация системы ввода-вывода Java Байтовые и символьные потоки Классы байтовых потоков Классы символьных потоков Встроенные потоки Использование байтовых потоков Консольный ввод Запись консольного вывода Чтение и запись файлов с использованием байтовых потоков Ввод данных из файла Запись в файл Автоматическое закрытие файлов Чтение и запись двоичных данных Файлы с произвольным доступом Использование символьных потоков Java Консольный ввод с использованием символьных потоков Консольный вывод с использованием символьных потоков Файловый ввод-вывод с использованием символьных потоков Класс FileWriter Использование класса FileReader Использование классов-оболочек для преобразования числовых строк Глава 11. Многопоточное программирование Общее представление о многопоточной обработке Класс Thread и интерфейс RunnaЫe Создание потока Несложные усовершенствования многопоточной программы Создание нескольких потоков Определение момента завершения потока Приоритеты потоков Синхронизация Использование синхронизированных методов Синхронизированные блоки Организация взаимодействия потоков с помощью методов notify(), wait() иnotifyAll() Пример применения методов wait() и notify() Приостановка, возобновление и остановка потоков Глава 12. Перечисления, автоупаковка, статический импорт и аннотации Перечисления Основные сведения о перечислениях Перечисления Java являются типами классов Методы values() и valueOf() Конструкторы, методы, переменные экземпляра и перечисления Два важных ограничения Перечисления наследуются от класса Enшn Автоупаковка Оболочки типов Основные сведения об автоупаковке Автоупаковка и методы Автоупаковка и автораспаковка в выражениях Предупреждение относительно использования автоупаковки и автораспаковки Статический импорт Аннотации (метаданные) Глава 13. Обобщения Основные сведения об обобщениях Простой пример обобщений Обобщения работают только с объектами Различение обобщений по аргументам типа Обобщенный класс с двумя параметрами типа Общая форма обобщенного класса Ограниченные типы Использование шаблонов аргументов Ограниченные шаблоны Обобщенные методы Обобщенные конструкторы Обобщенные интерфейсы Базовые типы и унаследованный код Автоматическое определение аргументов типов компилятором Очистка Ошибки неоднозначности Ограничения в отношении использования обобщений Невозможность создания экземпляров параметров типа Ограничения статических членов класса Ограничения обобщенных массивов Ограничения обобщенных исключений Дальнейшее изучение обобщений Глава 14. Лямбда-выражения и ссылки на методы Введение в лямбда-выражения Основные сведения о лямбда-выражениях Функциональные интерфейсы Применение лямбда-выражений Блочные лямбда-выражения Обобщенные функциональные интерфейсы Лямбда-выражения и захват переменных Генерация исключений в лямбда-выражениях Ссылки на методы Ссылки на статические методы Ссылки на методы экземпляров Ссылки на конструкторы Предопределенные функциональные интерфейсы Глава 15. Аплеты, события и другие вопросы Основные сведения об аплетах Организация аплета и его основные элементы Архитектура аплетов Завершенный каркас аплета Инициализация и прекращение работы аплета Запрос на перерисовку окна аплета Метод update (} Использование окна состояния Передача параметров аплету Класс Applet Обработка событий Модель делегирования событий События Источники событий Слушатели событий Кл ассы событий Интерфейсы слушателей событий Применение модели делегирования событий Обработка событий мыши Простой пример аплета, демонстрирующий обработку событий от мыши Другие ключевые слова Java Модификаторы transient и volatile Оператор instanceof Модификатор strictfp Ключевое слово assert Машинно-зависимые методы Глава 16. Введение в Swing Происхождение и философия Swing Компоненты и контейнеры Компоненты Контейнеры Панели контейнеров верхнего уровня Менеджеры компоновки Первая простая Swing-пporpaммa Построчный анал из первой Swing-пporpaммы Использование компонента JButton Работа с компонентом JТextField Создание флажков с помощью компонента JCheckBox Класс Jlist Применение анонимных внутренних классов для обработки событий Создание аплета средствами Swing Глава 17. Введение в JavaFX Базовые понятия JavaFX Пакеты JavaFX Классы Stage и Scene Узлы и графы сцены Панели компоновки Класс Application и жизненный цикл приложения Запуск приложения JavaFX Каркас приложения JavaFX Компиляция и выполнение программы JavaFX Поток выполнения приложения Простой элемент управления JavaFX: компонент Label Использование кнопок и событий Основные сведения о событиях Элемент управления Button Демонстрация обработки событий кнопки Три других элемента управления JavaFX Компонент CheckBox Компонент ListView Компонент TextField Введение в эффекты и преобразования Эффекты Преобразования Демонстрация эффектов и преобразований Что дальше Приложение А. Ответы на вопросы и решения упражнений для самопроверки Глава 1. Основы Java Глава 2. Введение в типы данных и операции над ними Глава 3. Управляющие операторы Глава 4. Введение в классы, объекты и методы Глава 5. Дополнительные сведения о типах данных и операциях Глава 6. Дополнительные сведения о методах и классах Глава 7. Наследование Глава 8. Пакеты и интерфейсы Глава 9. Обработка исключений Глава 10. Ввод-вывод данных Глава 11l. Многопоточное программирование Глава 12. Перечисления, автоупаковка, статический импорт и аннотации Глава 13. Обобщения Глава 14. Лямбда-выражения и ссылки на методы Глава 15. Аплеты, события и другие вопросы Глава 16. Введение в Swing Глава 17. Введение в JavaFX Приложение Б. Применение документирующих комментариев в Java Дескрипторы javadoc Дескриптор @author Дескриптор {@code} Дескриптор @deprecated Дескриптор {@docRoot} Дескриптор @exception Дескриптор {@inheritDoc} Дескриптор {@link} Дескриптор {@linkplain} Дескриптор {@literal} Дескриптор @param Дескриптор @return Дескриптор @see Дескриптор @serial Дескриптор @serialData Дескриптор @serialField Дескриптор @since Дескриптор @throws Дескриптор @value Дескриптор @version Общая форма документирующих комментариев Результат, выводимый утилитой javadoc Пример применения документирующих комментариев Предметный указатель