- Книги автора
- ожидают 4 человека
- Книги издательства
- ожидают 37 человек
Книга написана на базе курса лекций, читаемых автором на кафедре вычислительной физики Санкт-Петербургского государственного университета. Второе издание ориентировано на использование среды NetBeans 6.5 и дополнено новыми материалами. Изложены основные синтаксические конструкции Java, принципы объектно-ориентированного программирования, особенности проведения численных расчетов. Приводятся сведения о разработке основных категорий программного обеспечения Java (ME, SE и EE). Рассказывается о создании сетевых приложений и приложений для мобильных устройств.
Книга написана на базе курса лекций, читаемых автором на кафедре вычислительной физики Санкт-Петербургского государственного университета. Второе издание ориентировано на использование среды NetBeans 6.5 и дополнено новыми материалами. Изложены основные синтаксические конструкции Java, принципы объектно-ориентированного программирования, особенности проведения численных расчетов. Приводятся сведения о разработке основных категорий программного обеспечения Java (ME, SE и EE). Рассказывается о создании сетевых приложений и приложений для мобильных устройств. Разбираются методики написания многопоточных приложений Java для систем с многоядерными процессорами. Материал сопровождается большим количеством примеров с подробным анализом их исходных кодов. На компакт-диске находятся дистрибутивы JDK 6u11 и NetBeans 6.5 для Windows и Linux, а также исходные тексты примеров
Содержание
- Введение
- Глава 1. Общие представления о языке Java
- 1.1. Java и другие языки программирования. Системное и прикладное программирование
- 1.2. Виртуальная Java-машина, байт-код, JIT-компиляция. Категории программ, написанных на языке Java
- 1.3. Алфавит языка Java. Десятичные и шестнадцатеричные цифры и целые числа. Зарезервированные слова
- Алфавит языка Java
- Десятичные и шестнадцатеричные цифры и целые числа
- Зарезервированные слова и литералы языка Java
- 1.4. Управляющие последовательности. Символы Unicode. Специальные символы
- Управляющие последовательности
- Управляющие последовательности — символы формирования текста
- Управляющие последовательности — символы Unicode
- Простые специальные символы
- Составные специальные символы
- 1.5. Идентификаторы. Переменные и типы. Примитивные и ссылочные типы
- 1.6. Процедурное и объектно-ориентированное программирование. Инкапсуляция
- 1.7. Работа со ссылочными переменными. Сборка мусора
- 1.8. Проекты. Пакеты. Уровни видимости классов. Импорт классов
- 1.9. Базовые пакеты и классы Java
- 1.10. Технологии Java, .NET, ASP, PHP
- 1.11. Среды разработки NetBeans, Eclipse, JDeveloper, JBuilder, IntelliJ IDEA
- NetBeans 6.5
- Eclipse 3.4.1 (Ganimede)
- JDeveloper 11
- JBuilder 2008
- IntelliJ IDEA 7.0.4
- Общий итог сравнения сред разработки
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 2. Среда NetBeans 6.5
- 2.1. Установка JDK 6
- 2.2. Установка среды NetBeans 6.5
- 2.3. Создание в NetBeans простейшего приложения Java
- 2.4. Компиляция файлов проекта и запуск приложения. Jar-файлы
- 2.5. Структура проекта NetBeans
- 2.6. Создание в NetBeans приложения Java с графическим интерфейсом
- 2.7. Редактор экранных форм
- 2.8. Свойства компонентов
- 2.9. Внешний вид приложения — технология Look and Feel
- 2.10. Ведение проектов
- 2.11. Редактирование меню экранной формы
- 2.12. Создание нового класса
- 2.13. Документирование исходного кода в Java
- 2.14. Основные компоненты пакетов swing и awt
- 2.15. Менеджеры размещения (Layout) и якоря (Anchor)
- 2.16. Создание приложения Desktop Application
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 3. Примитивные типы данных и операторы для работы с ними
- 3.1. Булевый (логический) тип
- 3.2. Целые типы, переменные, константы
- 3.3. Основные операторы для работы с целочисленными величинами
- 3.4. Вещественные типы и класс Math
- 3.5. Правила явного и автоматического преобразования типа при работе с числовыми величинами
- 3.6. Оболочечные классы. Упаковка (boxing) и распаковка (unboxing)
- 3.7. Приоритет операторов
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 4. Работа с числами в языке Java
- 4.1. Двоичное представление целых чисел
- Позиционные и непозиционные системы счисления
- Двоичное представление положительных целых чисел
- Двоичное представление отрицательных целых чисел. Дополнительный код
- Сложение положительного и отрицательного чисел
- Сложение отрицательных чисел
- Проблемы целочисленной машинной арифметики. Целочисленное переполнение
- Сложение положительных чисел
- Умножение положительных чисел
- Шестнадцатеричное представление целых чисел и перевод из одной системы счисления в другую
- Преобразование чисел из системы с меньшим основанием в систему с большим основанием
- Преобразование чисел из системы с большим основанием в систему с меньшим основанием
- Преобразование чисел в системах счисления с кратными основаниями
- 4.2. Побитовые маски и сдвиги
- 4.3. Двоичное представление вещественных чисел
- Двоичные дроби
- Мантисса и порядок числа
- Научная нотация записи вещественных чисел
- Стандарт IEEE 754 представления чисел в формате с плавающей точкой
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 5. Управляющие конструкции
- 5.1. Составной оператор
- 5.2. Условный оператор if
- 5.3. Оператор выбора switch
- 5.4. Условное выражение ...?... : ...
- 5.5. Операторы инкремента ++ и декремента --
- 5.6. Оператор цикла for
- 5.7. Ошибки при использовании вещественного счетчика цикла
- 5.8. Эффективная организация циклов при вычислениях в формате с плавающей точкой
- 5.9. Особенности целочисленных вычислений — организация циклов, приоритет операторов и арифметическое переполнение
- 5.10. Оператор цикла while — цикл с предусловием
- 5.11. Оператор цикла do...while — цикл с постусловием
- 5.12. Операторы прерывания continue, break, return, System.exit
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 6. Начальные сведения об объектном программировании
- 6.1. Наследование и полиморфизм
- 6.2. Функции. Модификаторы. Передача примитивных типов в функции
- 6.3. Локальные и глобальные переменные. Модификаторы доступа и правила видимости. Ссылка this
- 6.4. Передача ссылочных типов в функции. Проблема изменения ссылки внутри подпрограммы
- 6.5. Наследование. Суперклассы и подклассы. Переопределение методов
- 6.6. Наследование и правила видимости. Зарезервированное слово super
- 6.7. Статическое и динамическое связывание методов. Полиморфизм
- 6.8. Базовый класс Object
- 6.9. Конструкторы. Зарезервированные слова super и this. Блоки инициализации
- 6.10. Удаление неиспользуемых объектов и метод finalize. Проблема деструкторов для сложно устроенных объектов
- 6.11. Перегрузка методов
- 6.12. Правила совместимости ссылочных типов как основа использования полиморфного кода. Приведение и проверка типов
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 7. UML-диаграммы. Прямое и обратное проектирование. Рефакторинг
- 7.1. UML-диаграммы
- 7.2. Структура окон проектов с UML-диаграммами
- 7.3. Панель инструментов проектов с UML-диаграммами
- 7.4. Прямое проектирование (Forward engineering) — построение кода классов по UML-диаграммам
- 7.5. Обратное проектирование (Reverse engineering) — построение UML-диаграмм по разработанным классам
- 7.6. Рефакторинг
- Первый случай — переименование элементов программы
- Второй случай — перемещение класса
- Третий случай — копирование класса для его дальнейшей модификации
- Четвертый случай — безопасное удаление элемента программы
- Пятый случай — изменение списка параметров метода
- Шестой случай — инкапсуляция полей данных
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 8. Важнейшие объектные типы
- 8.1. Массивы
- 8.2. Коллекции, списки, итераторы
- 8.3. Перебор в цикле элементов коллекций. Оператор цикла for-each
- 8.4. Работа со строками в Java. Строки как объекты. Классы String, StringBuffer и StringBuilder
- 8.5. Типы-перечисления (enum)
- 8.6. Работа с датами и временем. Класс GregorianCalendar
- 8.7. Работа с графикой и графическим пользовательским интерфейсом
- Код визуализации и код бизнес-логики приложения
- Графические примитивы
- Пример метода, работающего с графикой
- 8.8. Исключительные ситуации
- Обработка исключительных ситуаций
- Иерархия исключительных ситуаций
- Объявление типа исключительной ситуации и оператор throw
- Объявление метода, который может возбуждать исключительную ситуацию. Зарезервированное слово throws
- 8.9. Работа с файлами и папками
- Работа с файлами и папками с помощью объектов типа File
- Выбор файлов и папок с помощью файлового диалога
- Работа с потоками ввода/вывода
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 9. Интерфейсы и композиция
- 9.1. Проблемы множественного наследования классов. Интерфейсы
- 9.2. Отличия интерфейсов от классов. Проблемы наследования интерфейсов
- 9.3. Пример работы с интерфейсами
- 9.4. Композиция — еще одна альтернатива множественному наследованию
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 10. Многопоточное программирование и многоядерные системы
- 10.1. Потоки выполнения (threads) и синхронизация
- 10.2. Преимущества и проблемы при работе с потоками выполнения
- 10.3. Синхронизация по ресурсам и событиям
- Синхронизация по ресурсам
- Синхронизация по событиям
- 10.4. Класс Thread и интерфейсы Runnable и Callable. Создание и запуск потока выполнения
- 10.5. Поля и методы, заданные в классе Thread
- 10.6. Работа многопоточных приложений в многопроцессорных и многоядерных системах
- Причины перехода к многопроцессорным и многоядерным системам
- Пример многопоточной программы
- Работа многопоточного приложения на многоядерном компьютере
- 10.7. Синхронизация на основе интерфейсов Lock и Condition
- Интерфейс Lock
- Интерфейс Condition
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 11. Введение в сетевое программирование
- 11.1. Краткая справка по языку HTML
- Система WWW и язык HTML
- Теги и их атрибуты
- Математические и специальные символы, греческие буквы
- 11.2. Апплеты
- Структура апплета
- Примеры апплетов. Аннотация @Override
- Создание проекта с апплетами
- Редактор HTML-документов, стилей CSS и кода JavaScript
- 11.3. Сервлеты
- Создание сервлета и конфигурирование сервера приложений
- Локализация сервлетов — работа с языковыми форматами
- 11.4. Технология JSP — Java Server Pages
- 11.5. Технология JSTL — JSP Standard Tag Library
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 12. Вложенные классы
- 12.1. Виды вложенных классов
- 12.2. Статические (static) вложенные классы и интерфейсы
- 12.3. Внутренние (inner) классы
- 12.4. Локальные (local) классы
- 12.5. Анонимные (anonimous) классы и обработчики событий
- 12.6. Анонимные (anonimous) классы и слушатели событий (listeners)
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 13. Приложение с графическим интерфейсом — DesktopApplication
- 13.1. Структура простой заготовки DesktopApplication
- 13.2. Исходный код класса DesktopApplication
- 13.3. Исходный код класса DesktopApplicationView
- 13.4. Конструктор главной формы приложения. Ресурсы приложения и концепция управляющих синглетонов
- 13.5. Аннотация @Action и показ справки
- 13.6. Концепция управляющего объекта-модели. Модель TaskMonitor, класс Task и обработчик propertyChange
- 13.7. Создание задачи типа Task. Назначение иконок и добавление изображений
- 13.8. Локализация приложения
- 13.9. Измерение времени и досрочное прекращение выполнения задания
- 13.10. Работа с межпрограммным буфером обмена — Сlipboard
- Копирование строк и изображений из буфера обмена в программу
- Копирование строк из программы в буфер обмена. Класс StringSelection
- Копирование изображений из программы в буфер обмена. Создание класса ImageSelection
- 13.11. Многопоточная система вычислений и индикации
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 14. Программирование мобильных телефонов
- 14.1. Спецификация Java Micro Edition. Конфигурации и профили. Мидлеты
- 14.2. Создание приложений для мобильных устройств
- 14.3. Дизайнер пользовательского интерфейса мидлета
- 14.4. Исходный код мидлета Hello, World!
- 14.5. Заготовка мидлета "Крестики-нолики"
- 14.6. Код бизнес-логики мидлета
- 14.7. Создание собственного компонента, являющегося наследником TableItem, и мидлета на его основе. Создание библиотеки
- 14.8. Запуск мидлета "Крестики-нолики" на реальном телефоне
- 14.9. Пример мидлета с переключением экрана и списком выбора
- 14.10. Примеры приложений для мобильных телефонов, поставляемые со средой NetBeans
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 15. Компонентное программирование
- 15.1. Компонентная архитектура JavaBeans
- 15.2. Создание компонента в NetBeans 6.5
- 15.3. Пример создания компонента в NetBeans 6.5 — панель с заголовком
- 15.4. Добавление в компонент новых свойств
- 15.5. Добавление в компонент новых событий
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 16. Платформо-зависимые методы и модуль C/C++ Pack
- 16.1. Использование динамических библиотек. Объявление платформо-зависимых (native) методов
- 16.2. Интерфейс JNI (Java Native Interface) взаимодействия Java с C/C++. Соответствие типов Java и C++
- 16.3. Пакет C/C++ Pack. Подключение компиляторов C++, C и библиотек
- 16.4. Создание приложений C++ и C
- 16.5. Примеры приложений с native-методами
- Первый этап. Создание исходного кода Java для native-методов
- Второй этап. Генерация h-файла заголовка C++, содержащего декларацию методов
- Третий этап. Написание на C++ реализации методов, заголовки которых заданы в сгенерированном файле jnipackage_JniMultiply.h
- Четвертый этап. Компиляция кода C++ в динамическую библиотеку (DLL)
- Пятый этап. Запуск приложения вместе с DLL в NetBeans
- Шестой этап. Распространение приложения вместе с DLL
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Глава 17. Отладка, тестирование и профилирование программ
- 17.1. Отладка приложений в среде NetBeans
- 17.2. Команды режима пошагового выполнения
- 17.3. Пример отладки неправильно работающего приложения
- 17.4. Принцип "презумпции виновности" и тестирование классов
- 17.5. Профилирование приложений
- 17.6. Профилирование отдельных методов
- 17.7. Настройка профилировщика "на лету". Точки профилирования
- 17.8. Нахождение проблем с использованием памяти — телеметрия
- 17.9. Профилирование использования памяти классами
- Краткие итоги по главе
- Типичные ошибки
- Задания
- Заключение
- Описание прилагаемого компакт-диска
- Литература
- Предметный указатель
<p>Книга написана на базе курса лекций, читаемых автором на кафедре вычислительной физики Санкт-Петербургского государственного университета. Второе издание ориентировано на использование среды NetBeans 6.5 и дополнено новыми материалами. Изложены основные синтаксические конструкции Java, принципы объектно-ориентированного программирования, особенности проведения численных расчетов. Приводятся сведения о разработке основных категорий программного обеспечения Java (ME, SE и EE). Рассказывается о создании сетевых приложений и приложений для мобильных устройств. Разбираются методики написания многопоточных приложений Java для систем с многоядерными процессорами. Материал сопровождается большим количеством примеров с подробным анализом их исходных кодов. На компакт-диске находятся дистрибутивы JDK 6u11 и NetBeans 6.5 для Windows и Linux, а также исходные тексты примеров</p>
В. Монахов
Книги > Компьютеры и Интернет > Языки программирования > Java, JavaScript, J++ > Java
isbn:978-5-9775-0671-7
159868
BYR
in stock
Язык программирования Java и среда NetBeans (+ DVD-ROM)
8.08
10
0
12
Давненько не встречал хороших книг, написанных русскими авторами.
Довольно неплохо, даже в сравнении с буржуями.
Шилдт отдыхает...
Хорошая книга, для начинающих - находка!
Из всей массы книг издаваемых сегодня в области программирования, эта иммено КНИГА и на мой
взгляд, наиболее умная, хорошо построенная и полезная...
Двоякое впечатление о книге. Не рекомендовал бы тем, кто хочет учить Java как первый язык, лучше взять что-нибудь из классики - Эккеля или Шилда.
Давайте на ТОВАР ДНЯ!!!