Освой Java играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Java. Экспресс-курс

Очень многие программисты, которые начинают писать программы для Android, уже имеют за плечами опыт работы с другими языками программирования. И, они на ходу уже разбираются с особенностями Java. Тем более, что язык Java в своем синтаксисе очень похож на C++, C#, PHP и т.д.

Основой для логотипа языка Java послужил этот рисунок, но дизайнер, которому поручили перевести рисунок в вектор, был потомком Остапа Бендера, поэтому получилась какая-то фигня.

Логотип Java

Я пытался найти связь между котами и кофе, единственное что мне попалось - это высказывание дизайнера всея Руси про качество кофе в сетевых заведениях: Только не в макдачной и не в старбаксообразных заведениях! Там заваривают кипятком кошачьи какашки, пить это нельзя ни из какой чашки. Прямо как стихи получились.

А что делать тем, кто хочет научиться программировать для Android, но никогда не программировал раньше? Понятно, что нужно сначала получить какую-то базу - купить книгу, почитать статьи. Но если у человека уже есть общие представления о программировании (ведь в школе изучают информатику), то почему бы вам не начать программировать для своего любимого телефона прямо сейчас. В этом небольшом экспресс-курсе я постараюсь дать небольшие уроки по основным понятиям Java. А для экспериментов нам понадобится какая-то специальная учебная форма, скажем экран с текстовым полем, текстовой меткой и кнопкой. Мы будем писать код, производить вычисления, запускать пример, нажимать на кнопку и получать результат.

Возможно, сейчас программирование и язык Java вам кажутся чем-то очень сложным и страшным. А вы такой маленький и беззащитный перед началом освоения курса Java.

Котёнок

Переборов страх и изучив все уроки курса, вы станете уверенно писать программы для своего телефона. И станете настоящим гуру программирования.

Но, сначала, вам нужно научиться настроить среду разработки и написать первую программу Hello Kitty. Если это испытание вы успешно прошли, значит у вас действительно есть интерес к данной технологии. Осталось совсем немного, написать учебную программу или скачать у меня образец. И учиться, учиться, учиться...

На первых порах статьи будут выходить в разнобой. Со временем, надеюсь, всё устаканится и можно будет изучать в нормальном режиме, начиная с азов и заканчивая более сложными примерами.

Пишем учебную программу

Основы

Типы

Побитовые операторы

Операторы сравнения

Логические операторы

Литералы

Оператор if

Оператор switch

Цикл while

Цикл do-while

Цикл for

Операторы перехода break, continue, return

Классы и объекты

Класс Object

Методы

Видимость. Спецификаторы доступа

Ключевое слово static

Вложенные и внутренние классы

Конструктор

Шаблон Builder

Шаблон Singleton

Наследование

Абстрактные классы и методы

Пакеты

Интерфейсы

Слушатели

Исключения

Потоки. Класс Thread и интерфейс Runnable

Перечисления enum

Обобщения (Generic)

Рекурсия

Класс String

Классы StringBuffer и StringBuilder

Класс TextUtils (пакет android.text)

Класс Scanner

Класс Math

  BigDecimal и BigInteger

Классы Date, Calendar, DateFormat

Класс Currency

Locale

Массивы

  Массивы.Сортировка (закрытая зона)

  Массивы.Переворачиваем массив (закрытая зона)

Stack

Коллекции

 ArrayList

 LinkedList

Множества: Set, HashSet, LinkedHashSet, TreeSet

Map (Отображение)

  HashMap

  LinkedHashMap

  ArrayMap и SparseArray

Интерфейс Comparable

Интерфейс Comparator

Система ввода/вывода

  Класс File

  Класс InputStream

  Класс PrintStream

Классы NIO

Random

Таймер - классы Timer и TimerTask

Пакет java.net

Пакет java.util.concurrent

Обработка событий

Регулярные выражения

Java 7. Интерфейс Path

Новинки Java 8

  Java 8. Лямбды

  Java 8. Stream API

  Java 8. Optional

  Java 8. Date и Time API

  Java 8. StringJoiner

Пишем красивый код

JOptionPane

Необработанные записи

Лишнее

assert

native

strictfp

Задачник

Проверь свои знания, решив задачи на знание Java.

Книги

Изучаем Java

Новая толстая книга за 2020 год. Книги из этой серии хорошо себя зарекомендовали, поэтому стоит присмотреться.

Легкий способ выучить Java

Судя по оглавлению, там есть пример с обычной Java и под Android. А на обложке котик!

Легкий способ выучить Java

Заказать книгу

Head First. Паттерны проектирования

Довольно интересная книга, которая пытается объяснить, как создавать сложные приложения при помощи известных паттернов. В книге постоянно встречается класс Cat - жирный плюс автору.

Философия Java

Если на форуме вы попросите назвать самые лучшие книги по изучению Java, то в тройку лидеров обязательно попадет книга Философия Java (Thinking Java) от Брюса Эккеля. Данная книга даже в России выдержала четыре издания, что о многом говорит. Уже с первых страниц в разделе "Благодарности" автор, перечисляя своих друзей, которые помогали ему в написании книги, пишет:

Кошка Молли часто сидела у меня на коленях, пока я работал над книгой. Так она вносила свой теплый, пушистый вклад в мою работу.

Неужели после таких слов вы всё ещё сомневаетесь в полезности этой книги? Бегом в магазин!

Java. Полное руководство

Очень толстая книга (более 1000 страниц) известного автора Герберта Шилдта, который пишет, наверное, на всех языках программирования в мире. В его книге тоже иногда упоминаются кошки. Например, при объяснении термина класса, он приводит классификацию животного мира и вспоминает про отряд кошачьих. Но, похоже, он больше тяготеет к собакам и примеров с ними приводится больше. А фраза "Если собака ощутит запах кошки, она залает и погонится за ней..." мне не понравилась. Стоит ли покупать такую книгу?

Дополнительное чтение

Форум

Processing

Реклама