Java: руководство для начинающих 🔍
Герберт Шилдт ; [перевод с английского и редакция А. П. Сергеева]
Диалектика; Диалектика, 7-е изд., Москва, Санкт-Петербург, Russia, 2019
俄语 [ru] · PDF · 12.1MB · 2019 · 📘 非小说类图书 · 🚀/lgli/lgrs/nexusstc/zlib · Save
描述
Ocherednoe izdanie bestsellera, obnovlennoe s uchetom vsekh novinok Java Platform, Standard Edition 9 (Java SE 9), pozvolit chitateljam v kratchajshie sroki pristupit k programmirovaniju na jazyke Java. Opytnejshij avtor Gerbert Shildt uzhe v nachale knigi poznakomit chitatelej s tem, kak sozdajutsja, kompilirujutsja i vypolnjajutsja programmy, napisannye na Java. Dalee obsuzhdajutsja kljuchevye slova, sintaksis i jazykovye konstruktsii, sostavljajuschie osnovu Java. Takzhe budut rassmotreny temy povyshennoj slozhnosti, vkljuchaja mnogopotochnoe programmirovanie, obobschenija, ljambda-vyrazhenija, Swing, JavaFX i kljuchevoe novovvedenie Java SE 9 - moduli. V kachestve bonusa chitatelej zhdet znakomstvo s JShell - novoj interaktivnoj obolochkoj Java.Effektivnye instrumenty u eksperta. V etikh vrezkakh soderzhatsja dopolnitelnye svedenija ili kommentarii k rassmatrivaemoj teme v vide voprosov i otvetov.Uprazhnenija k glavam. Eto neslozhnye proekty, kotorye pomogut chitateljam zakrepit poluchennye znanija na praktike.Voprosy i uprazhnenija dlja samoproverki. V kontse kazhdoj glavy privedeny voprosy i uprazhnenija dlja samoproverki, pozvoljajuschie chitateljam proverit svoi znanija.Kommentarii k listingam. Vse primery koda vkljuchajut kommentarii avtora, v kotorykh opisano naznachenie tekh ili inykh fragmentov koda programmy.Gerbert Shildt obschepriznannyj ekspert po jazyku Java, avtor mnozhestva bestsellerov, posvjaschennykh programmirovaniju, za plechami kotorogo bolee chem 30 let pisatelskoj dejatelnosti.Ego knigi perevedeny na mnogie jazyki i prodajutsja millionnymi tirazhami. Interesuetsja vsem, chto svjazano s kompjuterami, no osnovnaja sfera ego interesov - jazyki programmirovanija. Okonchil Universitet shtata Illinojs i tam zhe poluchil uchenuju stepen.7-e izdanie.
备用文件名
lgli/Шилдт Г. Java. Руководство для начинающих. (2019)(12 Mb).pdf
备用文件名
lgrsnf/Шилдт Г. Java. Руководство для начинающих. (2019)(12 Mb).pdf
备用文件名
zlib/Computers/Programming/Герберт Шилдт/Java: руководство для начинающих_16367654.pdf
备选标题
Java. Rukovodstvo dlya nachinayuschih
备选作者
Shildt Gerbert
备选作者
Шилдт, Герберт
备用出版商
Dialektika / Vilyams
备用出版商
б. и.; Диалектика
备用版本
7-е изд., Москва, Санкт-Петербург, Russia, 2020
备用版本
Russia, Russian Federation
备用版本
PS, 2018
备用版本
2021
元数据中的注释
lg3027597
元数据中的注释
{"edition":"7-е изд.","isbns":["5604139459","9785604139455"],"publisher":"Диалектика"}
元数据中的注释
Фактическая дата выхода в свет - 2018
Предм. указ.: с. 803-809
Пер.: Schildt, Herbert Java: a beginner's guide 7-th ed. 978-1-259-58931-7
Предм. указ.: с. 803-809
Пер.: Schildt, Herbert Java: a beginner's guide 7-th ed. 978-1-259-58931-7
元数据中的注释
РГБ
元数据中的注释
Russian State Library [rgb] MARC:
=001 009807337
=005 20181128132439.0
=008 181120s2019\\\\ru\a\\\\\\\\\\000\|\rus\d
=017 \\ $a КН-П-18-086153 $b RuMoRKP
=020 \\ $a 978-5-6041394-5-5 $c 500 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018.19Java.я22 $2 rubbk
=100 1\ $a Шилдт, Герберт
=245 00 $a Java $h [Текст] : $b руководство для начинающих $c Герберт Шилдт ; [перевод с английского и редакция А. П. Сергеева]
=250 \\ $a 7-е изд.
=260 \\ $a Москва $b [б. и.] ; $a Санкт-Петербург $b Диалектика $c 2019
=300 \\ $a 809 с. $b ил., табл. $c 25 см
=336 \\ $a текст (text) $b txt $2 rdacontent
=337 \\ $a неопосредованный (unmediated) $b n $2 rdamedia
=338 \\ $a том (volume) $b nc $2 rdacarrier
=500 \\ $a Фактическая дата выхода в свет - 2018
=500 \\ $a Предм. указ.: с. 803-809
=534 \\ $p Пер.: $a Schildt, Herbert $t Java: a beginner's guide $b 7-th ed. $z 978-1-259-58931-7
=650 \7 $a Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Персональные компьютеры -- Программирование -- Языки программирования -- Java -- Справочник $2 rubbk
=852 \\ $a РГБ $b FB $j 2 18-69/137 $x 90
=852 7\ $a РГБ $b CZ2 $h З973.2-018/Ш57 $x 83
=001 009807337
=005 20181128132439.0
=008 181120s2019\\\\ru\a\\\\\\\\\\000\|\rus\d
=017 \\ $a КН-П-18-086153 $b RuMoRKP
=020 \\ $a 978-5-6041394-5-5 $c 500 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018.19Java.я22 $2 rubbk
=100 1\ $a Шилдт, Герберт
=245 00 $a Java $h [Текст] : $b руководство для начинающих $c Герберт Шилдт ; [перевод с английского и редакция А. П. Сергеева]
=250 \\ $a 7-е изд.
=260 \\ $a Москва $b [б. и.] ; $a Санкт-Петербург $b Диалектика $c 2019
=300 \\ $a 809 с. $b ил., табл. $c 25 см
=336 \\ $a текст (text) $b txt $2 rdacontent
=337 \\ $a неопосредованный (unmediated) $b n $2 rdamedia
=338 \\ $a том (volume) $b nc $2 rdacarrier
=500 \\ $a Фактическая дата выхода в свет - 2018
=500 \\ $a Предм. указ.: с. 803-809
=534 \\ $p Пер.: $a Schildt, Herbert $t Java: a beginner's guide $b 7-th ed. $z 978-1-259-58931-7
=650 \7 $a Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Персональные компьютеры -- Программирование -- Языки программирования -- Java -- Справочник $2 rubbk
=852 \\ $a РГБ $b FB $j 2 18-69/137 $x 90
=852 7\ $a РГБ $b CZ2 $h З973.2-018/Ш57 $x 83
元数据中的注释
Предм. указ.: с. 803-809
Пер.: Schildt, Herbert Java: a beginner's guide 7-th ed. 978-1-259-58931-7
Пер.: Schildt, Herbert Java: a beginner's guide 7-th ed. 978-1-259-58931-7
元数据中的注释
Russian State Library [rgb] MARC:
=001 010233678
=005 20200131153345.0
=008 200123s2020\\\\ru\||||\\\\\\\0||\|\rus|d
=017 \\ $a КН-П-20-003137 $b RuMoRKP
=020 \\ $a 978-5-6041394-5-5 $c 700 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018.19Java.я22 $2 rubbk
=100 1\ $a Шилдт, Герберт
=245 00 $a Java : $b руководство для начинающих $c Герберт Шилдт ; перевод с английского и редакция А. П. Сергеева
=250 \\ $a 7-е изд.
=260 \\ $a Москва $b Диалектика ; $c 2020 $a Санкт-Петербург $b Диалектика
=300 \\ $a 809 с. $b ил., табл. $c 24 см
=336 \\ $a Текст (визуальный)
=337 \\ $a непосредственный
=500 \\ $a Предм. указ.: с. 803-809
=534 \\ $p Пер.: $a Schildt, Herbert $t Java: a beginner's guide $b 7-th ed. $z 978-1-259-58931-7
=650 \7 $a Техника. Технические науки -- Энергетика. Радиоэлектроника -- Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Персональные компьютеры -- Программирование -- Языки программирования -- Java -- Справочник $2 rubbk
=852 \\ $a РГБ $b FB $j 2 20-4/77 $x 90
=852 \\ $a РГБ $b ORF $x 82
=001 010233678
=005 20200131153345.0
=008 200123s2020\\\\ru\||||\\\\\\\0||\|\rus|d
=017 \\ $a КН-П-20-003137 $b RuMoRKP
=020 \\ $a 978-5-6041394-5-5 $c 700 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018.19Java.я22 $2 rubbk
=100 1\ $a Шилдт, Герберт
=245 00 $a Java : $b руководство для начинающих $c Герберт Шилдт ; перевод с английского и редакция А. П. Сергеева
=250 \\ $a 7-е изд.
=260 \\ $a Москва $b Диалектика ; $c 2020 $a Санкт-Петербург $b Диалектика
=300 \\ $a 809 с. $b ил., табл. $c 24 см
=336 \\ $a Текст (визуальный)
=337 \\ $a непосредственный
=500 \\ $a Предм. указ.: с. 803-809
=534 \\ $p Пер.: $a Schildt, Herbert $t Java: a beginner's guide $b 7-th ed. $z 978-1-259-58931-7
=650 \7 $a Техника. Технические науки -- Энергетика. Радиоэлектроника -- Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Персональные компьютеры -- Программирование -- Языки программирования -- Java -- Справочник $2 rubbk
=852 \\ $a РГБ $b FB $j 2 20-4/77 $x 90
=852 \\ $a РГБ $b ORF $x 82
备用描述
Содержание
Об авторе
О техническом редакторе
Введение
Эволюция Java
Java SE 10
Структура книги
Вопросы и упражнения для самопроверки
Вопросы к эксперту
Упражнения к главам
Книга для всех программистов
Необходимое программное обеспечение
Исходный код примеров программ
Ждем ваших отзывов!
Глава 1. Основы Java
Истоки Java
Связь Java с языками С и C++
Вклад Java в развитие Интернета
Облегчение разработки интернет-приложений с помощью Java
Java-аплеты
Безопасность
Переносимость
Волшебный байт-код Java
За пределами аплетов
Основные характеристики Java
Объектно-ориентированное программирование
Инкапсуляция
Полиморфизм
Наследование
Установка Java Development Kit
Первая программа на 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
Сборка мусора
Ключевое слово this
Глава 5. Подробнее о типах данных и операторах
Массивы
Одномерные массивы
Многомерные массивы
Двумерные массивы
Нерегулярные массивы
Трехмерные, четырехмерные и многомерные массивы
Инициализация многомерных массивов
Альтернативный синтаксис объявления массивов
Присваивание ссылок на массивы
Применение переменной экземпляра length
Цикл типа f or-each
Циклическое обращение к элементам многомерных массивов
Использование расширенного цикла for
Символьные строки
Создание строк
Операции над символьными строками
Массивы строк
Неизменяемость строк
Использование строк для управления инструкцией switch
Использование аргументов командной строки
Побитовые операторы
Побитовые операции И, ИЛИ, исключающее ИЛИ и НЕ
Операции побитового сдвига
Побитовые составные операторы присваивания
Оператор?
Глава 6. Подробнее о методах и классах
Управление доступом к членам класса
Модификаторы доступа в Java
Передача объектов методам
Способы передачи аргументов методу
Возврат объектов методами
Перегрузка методов
Перегрузка конструкторов
Рекурсия
Применение ключевого слова static
Статические блоки
Вложенные и внутренние классы
Переменное число аргументов
Использование методов с переменным числом аргументов
Перегрузка методов с переменным числом аргументов
Переменное число аргументов и неоднозначность
Глава 7. Наследование
Основы наследования
Наследование и доступ к членам класса
Конструкторы и наследование
Использование ключевого слова super для вызова конструктора суперкласса 274 Использование ключевого слова super для доступа к членам суперкласса 278 Создание многоуровневой иерархии классов
Очередность вызова конструкторов
Ссылки на суперкласс и объекты подклассов
Переопределение методов
Поддержка полиморфизма в переопределяемых методах
Для чего нужны переопределяемые методы
Демонстрация механизма переопределения методов на примере класса TwoDShape
Использование абстрактных классов
Использование ключевого слова final
Предотвращение переопределения методов
Предотвращение наследования
Применение ключевого слова final к переменным экземпляра
Класс Object
Глава 8. Пакеты и интерфейсы
Пакеты
Определение пакета
Поиск пакетов и переменная среды CLASSPATH
Простой пример применения пакета
Пакеты и доступ к членам классов
Пример доступа к пакету
Защищенные члены классов
Импорт пакетов
Библиотечные классы Java, содержащиеся в пакетах
Интерфейсы
Реализация интерфейсов
Применение интерфейсных ссылок
Переменные в интерфейсах
Наследование интерфейсов
Методы интерфейсов, используемые по умолчанию
Основные сведения о методах по умолчанию
Практический пример использования метода по умолчанию
Множественное наследование
Использование статических методов интерфейса
Закрытые методы интерфейса
Итоговые замечания относительно пакетов и интерфейсов
Глава 9. Обработка исключений
Иерархия исключений
Общие сведения об обработке исключений
Использование инструкций try и catch
Простой пример обработки исключений
Необработанные исключения
Обработка исключений — изящный способ устранения программных ошибок 357 Множественные блоки catch
Перехват исключений, генерируемых подклассами
Вложенные блоки try
Генерирование исключений
Повторное генерирование исключений
Подробнее о классе Throwable
Использование ключевого слова finally
Использование ключевого слова throws
Три дополнительных средства обработки исключений
Встроенные классы исключений Java
Создание подклассов, производных от класса Exception
Глава 10. Ввод-вывод данных
Потоковая организация ввода-вывода в Java
Байтовые и символьные потоки
Классы байтовых потоков
Классы символьных потоков
Встроенные потоки
Использование байтовых потоков
Консольный ввод
Вывод на консоль
Чтение и запись файлов с использованием байтовых потоков
Чтение данных из файла
Запись в файл
Автоматическое закрытие файлов
Чтение и запись двоичных данных
Файлы с произвольным доступом
Использование символьных потоков Java
Консольный ввод с использованием символьных потоков
Вывод на консоль с использованием символьных потоков
Файловый ввод-вывод с использованием символьных потоков
Класс FileWriter
Класс FileReader
Использование классов-оболочек для преобразования числовых строк
Глава 11. Многопоточное программирование
Основы многопоточной обработки
Класс Thread и интерфейс Runnable
Создание потока
Несложные усовершенствования многопоточной программы
Создание нескольких потоков
Определяем момент завершения потока
Приоритеты потоков
Синхронизация
Использование синхронизированных методов
Синхронизированные блоки кода
Организация взаимодействия потоков с помощью методов notifу(), wait() HnotifyAll()
Пример использования методов wait () и notify ()
Приостановка, возобновление и остановка потоков
Глава 12. Перечисления; автоупаковка; статический импорт и аннотации
Перечисления
Основные сведения о перечислениях
Перечисления Java являются типами классов
Методы values () и valueOf ()
Конструкторы, методы, переменные экземпляра и перечисления
Два важных ограничения
Перечисления наследуются от класса Enum
Автоупаковка
Оболочки типов
Основные сведения об автоупаковке
Автоупаковка и методы
Автоупаковка и автораспаковка в выражениях
Предупреждение относительно использования автоупаковки и автораспаковки
Статический импорт
Аннотации (метаданные)
Глава 13. Обобщения
Основные сведения об обобщениях
Простой пример обобщений
Обобщения работают только с объектами
Различение обобщений по аргументам типа
Обобщенный класс с двумя параметрами типа
Общая форма обобщенного класса
Ограниченные типы
Использование шаблонов аргументов
Ограниченные шаблоны
Обобщенные методы
Обобщенные конструкторы
Обобщенные интерфейсы
Базовые типы и унаследованный код
Выведение типов с помощью ромбовидного оператора
Очистка
Ошибки неоднозначности
Ограничения на использование обобщений
Невозможность создания экземпляров параметров типа
Ограничения статических членов класса
Ограничения обобщенных массивов
Ограничения обобщенных исключений
Дальнейшее изучение обобщений
Глава 14. Лямбда-выражения и ссылки на методы
Знакомство с лямбда-выражениями
Основные сведения о лямбда-выражениях
Функциональные интерфейсы
Применение лямбда-выражений
Блочные лямбда-выражения
Обобщенные функциональные интерфейсы
Лямбда-выражения и захват переменных
Генерация исключений в лямбда-выражениях
Ссылки на методы
Ссылки на статические методы
Ссылки на методы экземпляров
Ссылки на конструкторы
Предопределенные функциональные интерфейсы
Глава 15. Модули
Знакомство с модулями
Простой пример модуля
Компиляция и выполнение первого примера модуля
Подробное знакомство с инструкциями requires и exports
Платформенные модули и пакет j ava .base
Унаследованный код и безымянный модуль
Выполнение экспорта для определенного модуля
Использование инструкции requires transitive
Использование служб
Общие сведения о службах и провайдерах служб
Ключевые слова, используемые при работе со службами
Пример использования модульной службы
Дополнительные возможности модулей
Открытые модули
Инструкция opens
Инструкция requires static
Дополнительные сведения о модулях
Глава 16. Введение в Swing
Происхождение и философия Swing
Компоненты и контейнеры
Компоненты
Контейнеры
Панели контейнеров верхнего уровня
Менеджеры компоновки
Первая простая Swing-программа
Построчный анализ первой Swing-программы
Обработка событий Swing
События
Источники событий
Слушатели событий
Классы событий и интерфейсы слушателей
Использование компонента JButton
Работа с компонентом JTextField
Создание флажков с помощью компонента JCheckBox
Класс Jlist
Применение анонимных внутренних классов или лямбда-выражений для обработки событий
Глава 17. Введение в JavaFX
Базовые понятия JavaFX
Пакеты JavaFX
Классы Stage и Scene
Узлы и графы сцены
Панели компоновки
Класс Application и жизненный цикл приложения
Запуск приложения JavaFX
Каркас приложения JavaFX
Компиляция и выполнение программы JavaFX
Поток выполнения приложения
Простой компонент JavaFX: Label
Использование кнопок и событий
Основные сведения о событиях
Компонент Button
Обработка событий кнопки
Три других компонента JavaFX
Компонент CheckBox
КомпонентListview
Компонент TextField
Знакомство с эффектами и преобразованиями
Эффекты
Преобразования
Демонстрация эффектов и преобразований
Что дальше
Приложение А. Ответы на вопросы и решения упражнений для самопроверки
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Глава 8
Глава 9
Глава 10
Глава 11
Глава 12
Глава 13
Глава 14
Глава 15
Глава 16
Глава 17
Приложение Б. Применение документирующих комментариев в Java
Дескрипторы javadoc
@author
{@code}
@deprecated
{@docRoot}
@exception
@hidden
{@index}
{@inheritDoc}
{@link}
{@linkplain}
{@literal}
@param
@provides
@return
@see
@serial
@serialData
@serialField
@since
@throws
@uses
{@value}
@version
Общая форма документирующих комментариев
Результат, выводимый утилитой javadoc
Пример использования документирующих комментариев
Приложение В. Обзор технологии Java Web Start
Знакомство с Java Web Start
Развертывание Java Web Start
Для приложений JavaWS требуется JAR-файл
Подписанные приложения JavaWS
Использование файлов JNLP при работе с приложениями JavaWS
Связывание с файлом JNLP
Эксперименты с Java Web Start в локальной файловой системе
Создание JAR-файла для приложения ButtonDemo
Создание хранилища ключей и подписание файла ButtonDemo. j ar
Создание файла JNLP для приложения ButtonDemo
Создание HTML-файла StartBD.html
Добавление файла ButtonDemo. jnlp в список исключений на панели управления Java
Выполнение приложения ButtonDemo в браузере
Запуск приложения JavaWS с помощью утилиты j avaws
Использование Java Web Start для запуска аплетов
Приложение Г. Введение в JShell
Основы JShell
Вывод, редактирование и повторное выполнение кода
Добавление метода
Создание класса
Использование интерфейса
Оценка выражений и использование встроенных переменных
Импорт пакетов
Исключения
Другие команды JShell
Дальнейшее изучение JShell
Приложение Д. Дополнительные сведения о ключевых словах Java
Модификаторы transient и volatile
Оператор instanceof
Ключевое слово strictfp
Инструкция assert
Собственные методы
Другая форма ключевого слова this
Приложение Е. Знакомство с JDK 10
Выведение типов локальных переменных
Выведение типов локальных переменных со ссылочными типами
Выведение типов локальных переменных и наследование
Выведение типов локальных переменных и обобщенные типы
Выведение типов локальных переменных в циклах for и блоках try
Ограничения ключевого слова var
Обновление схемы нумерации версий JDK и класс Runtime .Version
Предметный указатель
Об авторе
О техническом редакторе
Введение
Эволюция Java
Java SE 10
Структура книги
Вопросы и упражнения для самопроверки
Вопросы к эксперту
Упражнения к главам
Книга для всех программистов
Необходимое программное обеспечение
Исходный код примеров программ
Ждем ваших отзывов!
Глава 1. Основы Java
Истоки Java
Связь Java с языками С и C++
Вклад Java в развитие Интернета
Облегчение разработки интернет-приложений с помощью Java
Java-аплеты
Безопасность
Переносимость
Волшебный байт-код Java
За пределами аплетов
Основные характеристики Java
Объектно-ориентированное программирование
Инкапсуляция
Полиморфизм
Наследование
Установка Java Development Kit
Первая программа на 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
Сборка мусора
Ключевое слово this
Глава 5. Подробнее о типах данных и операторах
Массивы
Одномерные массивы
Многомерные массивы
Двумерные массивы
Нерегулярные массивы
Трехмерные, четырехмерные и многомерные массивы
Инициализация многомерных массивов
Альтернативный синтаксис объявления массивов
Присваивание ссылок на массивы
Применение переменной экземпляра length
Цикл типа f or-each
Циклическое обращение к элементам многомерных массивов
Использование расширенного цикла for
Символьные строки
Создание строк
Операции над символьными строками
Массивы строк
Неизменяемость строк
Использование строк для управления инструкцией switch
Использование аргументов командной строки
Побитовые операторы
Побитовые операции И, ИЛИ, исключающее ИЛИ и НЕ
Операции побитового сдвига
Побитовые составные операторы присваивания
Оператор?
Глава 6. Подробнее о методах и классах
Управление доступом к членам класса
Модификаторы доступа в Java
Передача объектов методам
Способы передачи аргументов методу
Возврат объектов методами
Перегрузка методов
Перегрузка конструкторов
Рекурсия
Применение ключевого слова static
Статические блоки
Вложенные и внутренние классы
Переменное число аргументов
Использование методов с переменным числом аргументов
Перегрузка методов с переменным числом аргументов
Переменное число аргументов и неоднозначность
Глава 7. Наследование
Основы наследования
Наследование и доступ к членам класса
Конструкторы и наследование
Использование ключевого слова super для вызова конструктора суперкласса 274 Использование ключевого слова super для доступа к членам суперкласса 278 Создание многоуровневой иерархии классов
Очередность вызова конструкторов
Ссылки на суперкласс и объекты подклассов
Переопределение методов
Поддержка полиморфизма в переопределяемых методах
Для чего нужны переопределяемые методы
Демонстрация механизма переопределения методов на примере класса TwoDShape
Использование абстрактных классов
Использование ключевого слова final
Предотвращение переопределения методов
Предотвращение наследования
Применение ключевого слова final к переменным экземпляра
Класс Object
Глава 8. Пакеты и интерфейсы
Пакеты
Определение пакета
Поиск пакетов и переменная среды CLASSPATH
Простой пример применения пакета
Пакеты и доступ к членам классов
Пример доступа к пакету
Защищенные члены классов
Импорт пакетов
Библиотечные классы Java, содержащиеся в пакетах
Интерфейсы
Реализация интерфейсов
Применение интерфейсных ссылок
Переменные в интерфейсах
Наследование интерфейсов
Методы интерфейсов, используемые по умолчанию
Основные сведения о методах по умолчанию
Практический пример использования метода по умолчанию
Множественное наследование
Использование статических методов интерфейса
Закрытые методы интерфейса
Итоговые замечания относительно пакетов и интерфейсов
Глава 9. Обработка исключений
Иерархия исключений
Общие сведения об обработке исключений
Использование инструкций try и catch
Простой пример обработки исключений
Необработанные исключения
Обработка исключений — изящный способ устранения программных ошибок 357 Множественные блоки catch
Перехват исключений, генерируемых подклассами
Вложенные блоки try
Генерирование исключений
Повторное генерирование исключений
Подробнее о классе Throwable
Использование ключевого слова finally
Использование ключевого слова throws
Три дополнительных средства обработки исключений
Встроенные классы исключений Java
Создание подклассов, производных от класса Exception
Глава 10. Ввод-вывод данных
Потоковая организация ввода-вывода в Java
Байтовые и символьные потоки
Классы байтовых потоков
Классы символьных потоков
Встроенные потоки
Использование байтовых потоков
Консольный ввод
Вывод на консоль
Чтение и запись файлов с использованием байтовых потоков
Чтение данных из файла
Запись в файл
Автоматическое закрытие файлов
Чтение и запись двоичных данных
Файлы с произвольным доступом
Использование символьных потоков Java
Консольный ввод с использованием символьных потоков
Вывод на консоль с использованием символьных потоков
Файловый ввод-вывод с использованием символьных потоков
Класс FileWriter
Класс FileReader
Использование классов-оболочек для преобразования числовых строк
Глава 11. Многопоточное программирование
Основы многопоточной обработки
Класс Thread и интерфейс Runnable
Создание потока
Несложные усовершенствования многопоточной программы
Создание нескольких потоков
Определяем момент завершения потока
Приоритеты потоков
Синхронизация
Использование синхронизированных методов
Синхронизированные блоки кода
Организация взаимодействия потоков с помощью методов notifу(), wait() HnotifyAll()
Пример использования методов wait () и notify ()
Приостановка, возобновление и остановка потоков
Глава 12. Перечисления; автоупаковка; статический импорт и аннотации
Перечисления
Основные сведения о перечислениях
Перечисления Java являются типами классов
Методы values () и valueOf ()
Конструкторы, методы, переменные экземпляра и перечисления
Два важных ограничения
Перечисления наследуются от класса Enum
Автоупаковка
Оболочки типов
Основные сведения об автоупаковке
Автоупаковка и методы
Автоупаковка и автораспаковка в выражениях
Предупреждение относительно использования автоупаковки и автораспаковки
Статический импорт
Аннотации (метаданные)
Глава 13. Обобщения
Основные сведения об обобщениях
Простой пример обобщений
Обобщения работают только с объектами
Различение обобщений по аргументам типа
Обобщенный класс с двумя параметрами типа
Общая форма обобщенного класса
Ограниченные типы
Использование шаблонов аргументов
Ограниченные шаблоны
Обобщенные методы
Обобщенные конструкторы
Обобщенные интерфейсы
Базовые типы и унаследованный код
Выведение типов с помощью ромбовидного оператора
Очистка
Ошибки неоднозначности
Ограничения на использование обобщений
Невозможность создания экземпляров параметров типа
Ограничения статических членов класса
Ограничения обобщенных массивов
Ограничения обобщенных исключений
Дальнейшее изучение обобщений
Глава 14. Лямбда-выражения и ссылки на методы
Знакомство с лямбда-выражениями
Основные сведения о лямбда-выражениях
Функциональные интерфейсы
Применение лямбда-выражений
Блочные лямбда-выражения
Обобщенные функциональные интерфейсы
Лямбда-выражения и захват переменных
Генерация исключений в лямбда-выражениях
Ссылки на методы
Ссылки на статические методы
Ссылки на методы экземпляров
Ссылки на конструкторы
Предопределенные функциональные интерфейсы
Глава 15. Модули
Знакомство с модулями
Простой пример модуля
Компиляция и выполнение первого примера модуля
Подробное знакомство с инструкциями requires и exports
Платформенные модули и пакет j ava .base
Унаследованный код и безымянный модуль
Выполнение экспорта для определенного модуля
Использование инструкции requires transitive
Использование служб
Общие сведения о службах и провайдерах служб
Ключевые слова, используемые при работе со службами
Пример использования модульной службы
Дополнительные возможности модулей
Открытые модули
Инструкция opens
Инструкция requires static
Дополнительные сведения о модулях
Глава 16. Введение в Swing
Происхождение и философия Swing
Компоненты и контейнеры
Компоненты
Контейнеры
Панели контейнеров верхнего уровня
Менеджеры компоновки
Первая простая Swing-программа
Построчный анализ первой Swing-программы
Обработка событий Swing
События
Источники событий
Слушатели событий
Классы событий и интерфейсы слушателей
Использование компонента JButton
Работа с компонентом JTextField
Создание флажков с помощью компонента JCheckBox
Класс Jlist
Применение анонимных внутренних классов или лямбда-выражений для обработки событий
Глава 17. Введение в JavaFX
Базовые понятия JavaFX
Пакеты JavaFX
Классы Stage и Scene
Узлы и графы сцены
Панели компоновки
Класс Application и жизненный цикл приложения
Запуск приложения JavaFX
Каркас приложения JavaFX
Компиляция и выполнение программы JavaFX
Поток выполнения приложения
Простой компонент JavaFX: Label
Использование кнопок и событий
Основные сведения о событиях
Компонент Button
Обработка событий кнопки
Три других компонента JavaFX
Компонент CheckBox
КомпонентListview
Компонент TextField
Знакомство с эффектами и преобразованиями
Эффекты
Преобразования
Демонстрация эффектов и преобразований
Что дальше
Приложение А. Ответы на вопросы и решения упражнений для самопроверки
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Глава 8
Глава 9
Глава 10
Глава 11
Глава 12
Глава 13
Глава 14
Глава 15
Глава 16
Глава 17
Приложение Б. Применение документирующих комментариев в Java
Дескрипторы javadoc
@author
{@code}
@deprecated
{@docRoot}
@exception
@hidden
{@index}
{@inheritDoc}
{@link}
{@linkplain}
{@literal}
@param
@provides
@return
@see
@serial
@serialData
@serialField
@since
@throws
@uses
{@value}
@version
Общая форма документирующих комментариев
Результат, выводимый утилитой javadoc
Пример использования документирующих комментариев
Приложение В. Обзор технологии Java Web Start
Знакомство с Java Web Start
Развертывание Java Web Start
Для приложений JavaWS требуется JAR-файл
Подписанные приложения JavaWS
Использование файлов JNLP при работе с приложениями JavaWS
Связывание с файлом JNLP
Эксперименты с Java Web Start в локальной файловой системе
Создание JAR-файла для приложения ButtonDemo
Создание хранилища ключей и подписание файла ButtonDemo. j ar
Создание файла JNLP для приложения ButtonDemo
Создание HTML-файла StartBD.html
Добавление файла ButtonDemo. jnlp в список исключений на панели управления Java
Выполнение приложения ButtonDemo в браузере
Запуск приложения JavaWS с помощью утилиты j avaws
Использование Java Web Start для запуска аплетов
Приложение Г. Введение в JShell
Основы JShell
Вывод, редактирование и повторное выполнение кода
Добавление метода
Создание класса
Использование интерфейса
Оценка выражений и использование встроенных переменных
Импорт пакетов
Исключения
Другие команды JShell
Дальнейшее изучение JShell
Приложение Д. Дополнительные сведения о ключевых словах Java
Модификаторы transient и volatile
Оператор instanceof
Ключевое слово strictfp
Инструкция assert
Собственные методы
Другая форма ключевого слова this
Приложение Е. Знакомство с JDK 10
Выведение типов локальных переменных
Выведение типов локальных переменных со ссылочными типами
Выведение типов локальных переменных и наследование
Выведение типов локальных переменных и обобщенные типы
Выведение типов локальных переменных в циклах for и блоках try
Ограничения ключевого слова var
Обновление схемы нумерации версий JDK и класс Runtime .Version
Предметный указатель
开源日期
2021-06-12
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您本月捐款,您将获得额外1个月。 适用于3个月以上的会员订阅。 每个账户最多获得1个额外月份。
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:Motrix -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.