Презентация по Программированию. Книга Программирование на Java для начинающих
Скачать 4.47 Mb.
|
УДК 004.43 ББК 32.973.26-018.1 М15 Mike McGrath JAVA IN EASY STEPS, 5TH EDITION By Mike McGrath. Copyright ©2015 by In Easy Steps Limited. Translated and reprinted under a licence agreement from the Publisher: In Easy Steps, 16 Hamolton Terrace, Holly Walk, Leamington Spa, Warwickshire, U.K. CV32 4LY. МакГрат, Майк. Программирование на Java для начинающих / Майк Мак- Грат ; [пер. с англ. М.А. Райтмана]. – Москва : Издательство «Э», 2016. – 192 с. – (Программирование для начинающих). ISBN 978-5-699-85743-2 Книга «Программирование на Java для начинающих» является исчерпыва- ющим руководством для того, чтобы научиться программировать на языке Java. В этой книге с помощью примеров программ и иллюстраций, показываю- щих результаты работы кода, разбираются все ключевые аспекты языка. Уста- новив свободно распространяемый Java Development Kit, вы с первого же дня сможете создавать свои собственные исполняемые программы! УДК 004.43 ББК 32.973.26-018.1 ISBN 978-5-699-85743-2 © Райтман М.А., перевод на русский язык, 2016 © Оформление. ООО «Издательство «Э», 2016 М15 Оглавление Оглавление Предисловие Предисловие 8 8 1 1 Введение Введение 9 9 Установка JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Создание первой программы на Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Компиляция и запуск программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Создание переменных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Распознавание типов данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Создание констант . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Добавление комментариев . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Проблемы отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2 2 Выполнение операций Выполнение операций 2 27 7 Выполнение арифметических операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Присваивание значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Сравнение величин . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Оценочная логика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Проверка условий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Приритет операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Управляющие литералы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Работа с битами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3 3 Создание операторов 4 Создание операторов 45 5 Ветвление с помощью условного оператора if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Альтернативное ветвление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Ветвление с помощью переключателей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Цикл for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Цикл while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Циклы do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Выход из циклов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Возврат управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4 4 Работа с данными 6 Работа с данными 63 3 Преобразование типов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Создание массивов переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Передача аргументов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Передача множественных аргументов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Обход элементов в цикле. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Изменение значений элемента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Добавление размеров массива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Перехват исключений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5 5 Работа с данными 8 Работа с данными 81 1 Изучение классов Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Математические вычисления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Округление чисел. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Генерация случайных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Управление строками . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Сравнение строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Поиск строк. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Обработка символов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6 6 Создание классов 9 Создание классов 99 9 Программа как набор методов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Область видимости. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Использование множественных классов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Расширение существующего класса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Создание объектного класса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Создание экземпляра объекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Инкапсуляция свойств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Создание объектных данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 7 7 Импортирование функций 11 Импортирование функций 117 7 Работа с файлами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Чтение консольного ввода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Чтение файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Запись файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Сортировка элементов массива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Создание списочных массивов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Работа с датой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Форматирование чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 8 8 Построение интерфейсов 13 Построение интерфейсов 135 5 Создание окна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Добавление кнопок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Добавление меток . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Добавление текстовых полей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Добавление элементов выбора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Добавление переключателей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Изменение внешнего вида интерфейса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Размещение компонентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 9 9 Распознавание событий 15 Распознавание событий 153 3 «Прослушивание» событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Генерация событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Обработка событий кнопок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Обработка событий элементов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Реагирование на события клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Ответ на события мыши. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Вывод сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Запрос пользовательского ввода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Воспроизведение звука. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 1 10 0 Развертывание программ 17 Развертывание программ 171 1 Методы развертывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Распространение программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Построение архивов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Развертывание приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Подписывание jar-файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Использование технологии Web Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Создание апплетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Встраивание апплетов в код веб-страницы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Развертывание апплетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Предметный указатель 18 Предметный указатель 189 9 Предисловие В этой книге мои предыдущие публикации по Java-программированию дополнены новинками данной технологии. Все приведенные здесь примеры демонстрируют возможности Java, которые поддерживают- ся современными компиляторами в операционных системах Windows и Linux, а представленные скрин- шоты отражают реальные результаты компиляции и исполнения приведенного кода. Некоторые соглашения Листинги кода, приведенные в книге, выглядят вот так: // Примечание к коду String message = "Добро пожаловать в язык Java!" ; System.out.println( message ) ; Кроме того, для идентификации каждого исходного файла, описанного в пошаговых инструкциях, на полях рядом с каждым пунктом будет появляться значок и имя соответствующего файла: JAVA 110100101010 000101101011 110100101010 000101101011 110100101011 CLASS JAR JNLP App.java App.class App.jar App.jnlp Получение исходных кодов Для удобства я поместил файлы исходных кодов всех примеров, представленных в этой книге, в один ZIP-архив. Вы можете получить весь архив, выполнив следующие простые шаги. 1. Откройте браузер и загрузите архив по ссылке www.eksmo.ru. 2. Извлеките содержимое архива в любое удобное место на вашем компьютере. Я искренне надеюсь, что вам понравится открывать для себя интересные возможности языка про- граммирования Java и вы получите при этом не меньшее удовольствие, чем я во время работы над этой книгой . 1 1 Введение Введение Добро пожаловать Добро пожаловать в удивительный мир в удивительный мир программирования программирования на Java. В этой главе на Java. В этой главе демонстрируется, как демонстрируется, как создавать и запускать создавать и запускать на выполнение простые на выполнение простые Java-программы и как Java-программы и как хранить в них данные. хранить в них данные. • Установка JDK • Установка JDK • Создание первой программы на Java • Создание первой программы на Java • Компиляция и запуск программ • Компиляция и запуск программ • Создание переменных • Создание переменных • Распознавание типов данных • Распознавание типов данных • Создание констант • Создание констант • Добавление комментариев • Добавление комментариев • Проблемы отладки • Проблемы отладки • Заключение • Заключение 1. Введение 10 Язык программирования Java разработан в 1990 году Джеймсом Гос- лингом (James Gosling), инженером из компании Sun Microsystems. Он решил создать новый язык, так как был не очень доволен используемым языком программирования C++, и назвал его сначала Oak* — в честь дуба, который он мог наблюдать из окна своего офиса. По мере роста популярности Всемирной паутины компания Sun пред- положила, что язык, разработанный Гослингом, может быть использо- ван для интернет-разработок. Впоследствии языку дали название Java (просто потому что это звучит лучше), и в 1995 году он стал свобод- но доступным. Разработчики по всему миру быстро адаптировались к прекрасному новому языку и, благодаря его модульному дизайну, получили возможность создавать новую функциональность, обогащая тем самым языковое ядро. В последующих версиях языка было добав- лено множество впечатляющих функций, превративших Java в очень мощный инструмент на сегодня. Основную сущность языка Java составляют библиотеки файлов, назы- ваемые классами, каждый из которых содержит небольшие фрагмен- ты проверенного, готового к выполнению кода. Подобно кирпичам в стене, любые из этих классов можно встраивать в новую программу, и таким образом, для окончательного завершения программы обычно остается написать небольшую часть кода. Такая методика экономит программистам много времени и является одной из основных причин широкой популярности программирования на Java. К тому же такая модульная организация упрощает процесс отладки: ведь найти ошиб- ку в небольшом модуле гораздо проще, чем в одной большой про- грамме. Технология Java является одновременно и платформой, и языком про- граммирования. Исходные коды программ языка Java написаны в че- ловекочитаемом виде в обычном текстовом файле с расширением .java, который затем компилируется в файлы с расширением .class при помо- щи компилятора javac. После этого программа исполняется интерпре- татором java при помощи виртуальной машины Java (Java VM): |