С этим файлом связано 10 файл(ов). Среди них: Missia_GPON.doc, Fayn_Ya_-_Programmirovanie_na_Java_dlya_detey_r.pdf, file.png, Geneticheskiy_ko1.doc, Magic_DeLime_prod__-_Karavan.mp3, Biologia.doc, file.jpg, Gomofobam_Alex_Burkov.png, robert_pattinson_-_bellas_lullaby.m4r. Показать все связанные файлы Программирование на Java для детей, родителей, дедушек и бабушек ii Java Programming for Kids, Parents and Grandparents by Yakov Fain Copyright 2011 Yakov Fain All rights reserved. No part of this book may be reproduced, in any form or by any, without permission in writing from the publisher. Cover design and illustrations: Yuri Fain Adult technical editor: Yuri Goncharov Kid technical editor: David Fain May 2004: First Electronic Edition (English) June 2005: Second Electronic Edition (French) Programmation Java pour les enfants, les parentset les grands-‐parents October 2011: Third Electronic Edition (Russian) Программирование на Java для детей, родителей, дедушек и бабушек The information in this book is distributed without warranty. Neither the author nor the publisher shall have any liability to any person or entitle to any liability, loss or damage to be caused directly or indirectly by instructions contained in this book or by the computer software or hardware products described herein. Java and all Java-‐based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries. Windows 7 and Windows XP are trademarks of Microsoft Corporation. All other product names and company names are the property of their respective owners. ISBN: 0-‐9718439-‐5-‐3
Программирование на Java для детей, родителей, дедушек и бабушек iii Предисловие к русскому изданию Здравствуйте дети, родители, а также родители родителей. Спасибо, что взяли в руки (хоть и виртуально) мою книжку. Написал я ее в 2004 году по-‐английски, ибо живу я в США и первым читателем этой книги должен был стать мой младший сын Дейв, для которого английский – основной язык общения. Книжка эта была выложена бесплатно в электронном виде. Рисунки к ней нарисовал мой старший сын Юрий, который тогда еще учился в колледже на мультипликатора. Сейчас он уже работает, а сайт его http://yurifain.com . Специально для русского издания Юрий нарисовал новую обложку. Нравится? Книжка пользовалась успехом во всем англоязычном мире, а через год-‐другой ее перевели и на французский язык. Прошло много лет, и я стал записывать аудио подкасты на русском языке на всякие житейские темы. Подкасты – это mp3 файлы, которые можно слушать на любом аудио плеере или прямо на компе. Подкасты мои выкладываются в интернете по адресу http://americhka.us и слушают их тысячи русскоговорящих людей по всему миру. И вот, однажды, я спросил, не найдется-‐ли среди моих подслушателей 3-‐4 человека, которые и английский хорошо знают , и на языке Java программировать умеют , и готовы в жесткие сроки бесплатно перевести по паре глав на русский язык. На следующий день мне написали пять человек, сказав, что они и знают, и умеют, и готовы. Вот имена этих добрых людей: Александр Коноплев Денис Лунев Константин Медведенко Юрий Ополев Александр Тетерин Спасибо вам, ребята, за то, что слово сдержали, а главное, выполнили работу в срок! Ибо есть много мальчиков с моторчиками, которые быстро загораются, берутся за работу, а потом, также быстро их интерес пропадает. К счастью, к нашим переводчикам это не относится. Когда перевод был закончен, я его перечитал и слегка отредактировал. Затем один сибиряк по имени Юрий Мякотин снова перечитал и отредактировал текст, так что, если вы заметите сибирский акцент, то знайте, кого винить J. В конце каждой главы есть практические упражнения и ссылки материалы для дополнительного чтения, правда на английском языке. Если вы серьезно относитесь к изучению программирования, то я вам советую и английский свой подтянуть. В мире программистов английский – это основной язык общения. Я Программирование на Java для детей, родителей, дедушек и бабушек iv знаю, что и в России есть много хороших программистов и авторов пишущих по русски. Но зачем себя ограничивать, когда есть столько полезной технической литературы на английском? На самом деле, задача была сложнее, чем перевод и легкое редактирование. За семь лет, прошедших после выхода английской книжки, язык программирования Java несколько изменился , и нужно было внести соответствующие корректировки в разных местах, что и было сделано. Поэтому, пользуясь издательским языком, можно смело сказать, что это издание исправленное и дополненное. Исправленное-‐то оно исправленное, но, все-‐же я вполне допускаю, что несколько опечаток могли проскочить незамеченными. Поэтому, напишите мне лично (yakovfain@gmail.com), если что заметите. А теперь, усаживайтесь поудобнее, попкорн слева, ноут справа и, как говорят у нас в Америке, инджойте шоу под названием Учимся Программировать на языке Java! Программирование на Java для детей, родителей, дедушек и бабушек v Предисловие Однажды, мой сын Дэйв-‐пароход появился у меня в офисе, держа мой учебник по Java для взрослых. Он попросил меня научить его программированию, чтобы создавать компьютерные игры. На тот момент я уже написал пару книг по языку Java и провел обучение программированию на компьютерах в нескольких группах, но это были взрослые! В результатах поиска на Amazon (крупнейший американский интернет-‐магазин) не было ничего, кроме книжек «для чайников», но Дэйв не был «чайником»! После того, как я провел несколько часов поиска в Google, мне удалось найти , либо несколько не самых удачных попыток создать курсы Java для детей, либо несколько книг, написанных в стиле популярной в Америке детской серии Reader-‐Rabbit. Угадайте, что я решил сделать? Я решил написать книгу по программированию для детей. С целью понимания детского образа мыслей, я попросил Дэйва стать моим первым учеником-‐ ребенком. Так появилась эта книга, которая подойдет следующим группам людей: • детям в возрасте от 11 до 18 лет; • школьным преподавателям информатики; • родителям, желающим обучить программированию своих детей; • абсолютным новичкам в программировании (возраст значения не имеет). Несмотря на то, что при объяснении программирования я использую простой язык, обещаю уважительное отношение к моим читателям. Я не планирую писать, что-‐либо похожее на «Дорогие друзья! Вы собираетесь начать новое и удивительное путешествие…». Да, конечно! Просто возьмемся за дело. Первые главы книги завершатся небольшой программой-‐игрой, которая сопровождается подробными инструкциями о том, как сделать ее рабочей. Также мы создадим калькулятор, который выглядит и работает аналогично калькулятору вашего компьютерa. Во второй части книги мы вместе создадим программы для игры в крестики-‐нолики и пинг-‐понг. Вам потребуется привыкнуть к языку профессиональных программистов. Все важные слова будут напечатаны вот таким шрифтом. Программирование на Java для детей, родителей, дедушек и бабушек vi Элементы языка Java и программ также будут выделены, например, String . Эта книга не охватывает все элементы языка Java. В противном случае, это сделало бы ее слишком толстой и скучной.Однако в конце каждой главы помещен раздел с материалaми для дополнительного чтения, который содержит ссылки на англоязычные веб-‐сайты с более подробными сведениями о рассматриваемой теме. Кроме того, в конце каждой главы вы найдете задания для самостоятельного выполнения. Каждый читатель должен выполнить задания, которые содержатся в разделе Практические упражнения. Если эти задания покажутся вам слишком легкими, то попробуйте выполнить задания из раздела Практические упражнения повышенной сложности. В самом деле, если вы решили читать эту книгу, то вы наверняка способный человек и должны попытаться выполнить все задания. Чтобы получить максимум из этой книги, прочитайте ее от начала до конца. Не следует двигаться дальше, пока вы не поймете содержание текущей главы. Подростки, родители, дедушки и бабушки должны справиться с этой книгой, не прибегая к посторонней помощи, однако маленькие дети должны читать эту книгу вместе с о взрослыми. Программирование на Java для детей, родителей, дедушек и бабушек vii Благодарности Благодарю всех архитекторов и разработчиков, безвозмездно работающих над программой Eclipse, которая является одной из лучших из доступных сред интегрированной разработки программ Особая благодарность водителям междугородних автобусов компании New Jersey Transit за плавное вождение — половина этой книги была написана по пути на работу на автобусе № 139. Благодарю жену Наташу за успешное управление бизнесом под названием семья. Особая благодарность Юрию Гончарову, эксперту в области программирования на Java из Торонто, Канада. Он выполнил редактирование книги, проверил каждый пример кода и предоставил ценный отзыв, который позволил улучшить эту книгу. Программирование на Java для детей, родителей, дедушек и бабушек viii Содержание ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ ......................................... III ПРЕДИСЛОВИЕ ...................................................................................... V БЛАГОДАРНОСТИ ............................................................................... VII СОДЕРЖАНИЕ ..................................................................................... VIII ГЛАВА 1. ПЕРВАЯ ПРОГРАММА ....................................................... 13 Установка Среды Java ............................................................................................................. 14 Три основных шага в программировании ........................................................................... 18 Шаг 1 – ввод текста программы ............................................................................................. 18 Шаг 2 – компиляция программы ........................................................................................... 20 Шаг 3 – запуск программы ..................................................................................................... 21 Материалы для дополнительного чтения ............................................................................ 22 ГЛАВА 2. ПЕРЕХОД К ECLIPSE IDE .................................................. 23 Установка Eclipse IDE .............................................................................................................. 23 Приступаем к работе с Eclipse ................................................................................................ 28 Создание программ в Eclipse IDE ........................................................................................... 32 Запуск HelloWorld в Eclipse ................................................................................................... 35 Как работает программа HelloWorld ..................................................................................... 36 Материалы для дополнительного чтения ............................................................................ 38 Практические упражнения ...................................................................................................... 38 Практические упражнения для умников и умниц ............................................................. 39 ГЛАВА 3. ДОМАШНЕЕ ЖИВОТНОЕ И РЫБА НА ЯЗЫКЕ JAVA .... 40 Классы и объекты ..................................................................................................................... 40 Типы Данных ............................................................................................................................. 42 Создаём Домашнее Животное ................................................................................................. 46 Наследование – Рыбка Тоже Домашнее Животное ............................................................ 52 Переопределение методов ........................................................................................................ 56 Дополнительное чтение ........................................................................................................... 57
Программирование на Java для детей, родителей, дедушек и бабушек ix Практические упражнения ..................................................................................................... 57 Практические упражнения для умников и умниц ............................................................. 58 ГЛАВА 4. ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА JAVA .................... 59 Комментарии в программе ...................................................................................................... 59 Принятие решений с помощью оператора if ....................................................................... 60 Логические операторы ............................................................................................................. 62 Во втором случае логическое не применяется к результату вычисления выражения в скобках. ............................................................................................................ 63 Условный оператор ................................................................................................................... 63 Использование else if ............................................................................................................... 64 Оператор switch и принятие решений .............................................................................. 65 Как долго живут переменные? ............................................................................................... 66 Специальные методы: конструкторы ................................................................................... 67 Ключевое слово this ............................................................................................................... 68 Массивы ...................................................................................................................................... 69 Повторение действий с помощью циклов ............................................................................ 71 Материалы для дополнительного чтения ............................................................................ 74 Практические упражнения ...................................................................................................... 74 Практические упражнения для умников и умниц ............................................................. 75 ГЛАВА 5. ДЕЛАЕМ ГРАФИЧЕСКИЙ КАЛЬКУЛЯТОР ....................... 76 AWT и Swing ............................................................................................................................... 76 Пакеты и ключевое слово import ........................................................................................... 77 Основные элементы Swing ...................................................................................................... 78 Схемы Размещения ................................................................................................................... 81 FlowLayout - построчное расположение ................................................................................ 82 GridLayout - табличное расположение ................................................................................. 82 BorderLayout - размещение по областям .............................................................................. 84 Комбинирование схем размещения ....................................................................................... 85 BoxLayout - расположение по горизонтали или вертикали .............................................. 88 GridBag Layout - более гибкое табличное расположение .................................................. 89
Программирование на Java для детей, родителей, дедушек и бабушек x CardLayout – колода карт ........................................................................................................ 90 Можно ли создавать окна, не используя схемы? ................................................................. 91 Компоненты окна ...................................................................................................................... 91 Материалы для дополнительного чтения ............................................................................ 95 Практические упражнения ...................................................................................................... 95 Практические упражнения для умников и умниц ............................................................. 96 ГЛАВА 6. СОБЫТИЯ ОКНА ............................................................... 97 Интерфейсы ................................................................................................................................ 98 Слушатель по имени ActionListener .................................................................................... 100 Регистрация компонентов с ActionListener ........................................................................ 101 Из-за кого событие-то? ......................................................................................................... 102 Приведение типов - casting .................................................................................................... 102 Как передавать данные между классами ........................................................................... 105 Доделываем калькулятор ...................................................................................................... 106 Некоторые другие слушатели событий .............................................................................. 112 Как использовать адаптеры .................................................................................................. 114 Материалы для дополнительного чтения .......................................................................... 115 Практические упражнения .................................................................................................... 115 Практические упражнения для умников и умниц ........................................................... 115
перейти в каталог файлов
|