Оглавление
Вступление .............................................................................................................9
О книге и не только.................................................................................................9
Объектно-ориентированное программирование и Java ............................................9
Особенности языка Java ........................................................................................ 11
Java и другие языки программирования................................................................. 12
Программное обеспечение .................................................................................... 14
Особенности книги ................................................................................................ 16
Полезные ресурсы................................................................................................. 17
Обратная связь...................................................................................................... 18
Благодарности....................................................................................................... 19
От издательства .................................................................................................... 19
Глава 1. Основы Java................................................................................................. 20
Простые программы .............................................................................................. 20
Знакомство с переменными ................................................................................... 27
Базовые типы данных............................................................................................ 31
Приведение типов ................................................................................................. 33
Основные операторы............................................................................................. 35
Использование основных операторов .................................................................... 42
Полет тела, брошенного под углом к горизонту ............................................... 43
Вычисление скорости на маршруте .................................................................. 45
Орбита спутника .............................................................................................. 47
Комплексные числа .......................................................................................... 48
Прыгающий мячик............................................................................................ 50
4 Оглавление
Решение тригонометрического уравнения........................................................ 52
Кодирование символов..................................................................................... 54
Расчет параметров цепи................................................................................... 56
Резюме.................................................................................................................. 58
Глава 2. Управляющие инструкции Java .................................................................... 60
Условный оператор if............................................................................................. 60
Оператор выбора switch ........................................................................................ 70
Оператор цикла for................................................................................................ 75
Оператор цикла while ............................................................................................ 80
Оператор цикла do-while ....................................................................................... 81
Использование управляющих инструкций.............................................................. 83
Вычисление экспоненты................................................................................... 83
Числа Фибоначчи ............................................................................................. 84
Вычисление числа π ......................................................................................... 85
Метод последовательных итераций.................................................................. 89
Решение квадратного уравнения...................................................................... 91
Полет в атмосфере........................................................................................... 94
Резюме................................................................................................................ 100
Глава 3. Массивы .................................................................................................... 102
Одномерные массивы .......................................................................................... 102
Двумерные и многомерные массивы.................................................................... 106
Символьные и текстовые массивы ....................................................................... 111
Присваивание и сравнение массивов................................................................... 117
Использование массивов ..................................................................................... 123
Кодирование и декодирование текста ............................................................ 123
Умножение векторов ...................................................................................... 124
Числа Фибоначчи ........................................................................................... 126
Работа с полиномами ..................................................................................... 127
Сортировка массива ....................................................................................... 129
Транспонирование квадратной матрицы ........................................................ 131
Произведение квадратных матриц.................................................................. 133
Задача перколяции ........................................................................................ 134
Резюме................................................................................................................ 140
Оглавление   5
Глава 4. Классы и объекты...................................................................................... 142
Знакомство с ООП ............................................................................................... 142
Создание классов и объектов .............................................................................. 147
Статические поля и методы................................................................................. 152
Закрытые члены класса....................................................................................... 156
Ключевое слово this ............................................................................................ 158
Внутренние классы.............................................................................................. 160
Анонимные объекты ............................................................................................ 162
Работа с классами и объектами ........................................................................... 163
Схема Бернулли ............................................................................................. 163
Математические функции............................................................................... 166
Динамический список из объектов ................................................................. 171
Работа с матрицами ....................................................................................... 173
Резюме................................................................................................................ 180
Глава 5. Методы и конструкторы............................................................................. 182
Перегрузка методов ............................................................................................ 182
Конструктор ........................................................................................................ 187
Объект как аргумент и результат метода............................................................. 191
Механизм передачи аргументов........................................................................... 194
Применение методов на практике ....................................................................... 196
Интерполяционный полином .......................................................................... 196
Геометрические фигуры................................................................................. 201
Матричная экспонента ................................................................................... 205
Операции с векторами ................................................................................... 211
Операции с полиномами................................................................................. 217
Бинарное дерево............................................................................................ 224
Резюме................................................................................................................ 229
Глава 6. Наследование............................................................................................ 230
Знакомство с наследованием............................................................................... 230
Наследование и закрытые члены......................................................................... 233
Пакеты и защищенные члены.............................................................................. 235
Конструкторы и наследование............................................................................. 238
6 Оглавление
Переопределение методов .................................................................................. 241
Замещение полей при наследовании ................................................................... 247
Многоуровневое наследование............................................................................ 249
Объектные переменные суперкласса ................................................................... 252
Абстрактные классы ............................................................................................ 256
Анонимные классы .............................................................................................. 258
Резюме................................................................................................................ 266
Глава 7. Интерфейсы и лямбда-выражения ............................................................. 268
Знакомство с интерфейсами ................................................................................ 268
Интерфейсные переменные................................................................................. 273
Расширение интерфейсов.................................................................................... 277
Анонимный класс на основе интерфейса ............................................................. 279
Лямбда-выражения и функциональные интерфейсы............................................ 284
Ссылки на методы ............................................................................................... 291
Резюме................................................................................................................ 298
Глава 8. Работа с текстом........................................................................................ 300
Объекты класса String ......................................................................................... 301
Метод toString()................................................................................................... 305
Базовые операции с текстом................................................................................ 307
Сравнение текстовых строк ................................................................................. 309
Поиск символов и подстрок в тексте.................................................................... 311
Методы для работы с текстом.............................................................................. 313
Форматированный текст ...................................................................................... 316
Класс StringBuffer ................................................................................................ 320
Класс StringBuilder............................................................................................... 326
Обработка текста ................................................................................................ 328
Резюме................................................................................................................ 332
Глава 9. Обработка исключений.............................................................................. 334
Исключительные ситуации .................................................................................. 334
Классы исключений............................................................................................. 336
Оглавление   7
Пример обработки исключений ........................................................................... 339
Использование объекта исключения.................................................................... 341
Использование нескольких catch-блоков ............................................................. 343
Вложенные конструкции try-catch........................................................................ 346
Генерирование исключений................................................................................. 351
Методы и контролируемые исключения............................................................... 354
Создание классов исключений............................................................................. 355
Резюме................................................................................................................ 357
Глава 10. Многопоточное программирование.......................................................... 359
Создание дочернего потока................................................................................. 360
Управление потоками.......................................................................................... 369
Фоновые потоки .................................................................................................. 372
Создание нескольких потоков.............................................................................. 373
Главный поток..................................................................................................... 376
Синхронизация потоков....................................................................................... 378
Резюме................................................................................................................ 383
Глава 11. Обобщенные типы................................................................................... 384
Обобщенные методы ........................................................................................... 384
Перегрузка обобщенных методов ........................................................................ 393
Обобщенные классы............................................................................................ 395
Обобщенные интерфейсы.................................................................................... 400
Обобщенные классы и наследование................................................................... 401
Ограничения на обобщенные параметры............................................................. 403
Знакомство с коллекциями .................................................................................. 406
Списки................................................................................................................. 408
Множества .......................................................................................................... 414
Резюме................................................................................................................ 417
Глава 12. Программы с графическим интерфейсом ................................................. 419
Создание простого окна ...................................................................................... 420
Окно с кнопками и меткой................................................................................... 425
8 Оглавление
Компоненты и события ........................................................................................ 433
Создание графика функции................................................................................. 440
Калькулятор ........................................................................................................ 458
Резюме................................................................................................................ 466
Глава 13. Немного о разном.................................................................................... 468
Работа с файлами................................................................................................ 468
Аргументы командной строки .............................................................................. 476
Методы с произвольным количеством аргументов ............................................... 477
Цикл по коллекции.............................................................................................. 481
Рекурсия.............................................................................................................. 483
Перечисления...................................................................................................... 487
Резюме................................................................................................................ 495
Заключение. Итоги и перспективы......................................................................... 497
Приложение. Программное обеспечение................................................................ 498
Загрузка программного обеспечения ................................................................... 498
Использование среды IntelliJ IDEA ....................................................................... 502