Download - Java. Lecture 01. Introducing Java
Немного истории
• 1990 - Oak, Green (James Gosling)
• 1995 - Java 1.0
• 1998 - Java 2 (Java 1.2)
• …
• 2011 - Java 7
Знакомство с Java
• Java Programming Language
• Java Platform– Java 2 Platform, Standard Edition (Java SE)– Java 2 Platform, Enterprise Edition (Java EE)– Java 2 Platform, Micro Edition (Java ME)– Java Card technology
Java Platform
Tools
• Java Runtime Environmen (JRE) и Java Development Kit (JDK)– JAVA_HOME– %JAVA_HOME%\bin\java.exe– %JAVA_HOME%\bin\javac.exe
• Integrated Development Environment (IDE)– Eclipse– IntelliJ IDEA– NetBeans
Точка входа в программу
(пример: HelloWorld.java)
Точка входа в программу
public static void main(String[] args) {// the very first lines of code follow
}
• Название метода – только main• Аргументы метода – массив аргументов командной
строки
Точка входа в программу
(пример: HelloWorld2.java)
Примитивные типы данных
• Логический• Целые числа• Вещественные числа• Символы
Примитивные типы данных
• Основной тип – boolean• Только два значения: true и false• В отличие от C, булев и целочисленный тип различаются.
Логический
Примитивные типы данных
• Основной тип – int• Есть расширенные и сокращённые диапазоны (byte, short,
long)• Допускается запись в десятичном, восьмеричном и
шестнадцатеричном виде• Для long надо указывать суффикс l
Целые числа
Примитивные типы данных
• Двойная точность IEEE 754 (double)– Длина — 8 байт– Используется по умолчанию
• Одинарная точность IEEE 754 (float)– Длина — 4 байт– Числа оканчиваются суффиксом f: 3.1415f
При записи чисел можно пользоваться как обычной, так и экспоненциальной формой
Вещественные числа
Примитивные типы данных
• Основной тип – сhar• Идеологически – коды символов в Unicode• На самом деле, 16-битные целые
Символы
Примитивные типы данных
(пример: PrimitiveDataTypes.java)
Примитивные типы данных
• Арифметические и логические операции – так же, как и в C/C++• Есть бинарные операции ~, ^, &,|, >>, <<, >>>. Последний
работает с беззнаковыми числами (заполняет левый бит нулём)
Операции
Простые типы данных
• Основной тип – String• Идеологически – набор unicode-символов• На самом деле, не просто массив!• Строки нельзя менять• Строки можно конкатенировать, используя операцию «+».
Результатом будет новая строка (!)
Строки
Простые типы данных
• Объявляются с ключевым словом enum• Автоматически приводятся к строке или целому числу• Можно получить значение из строковой константы
Перечисления
Простые типы данных
(пример: Enumerations.java)
Простые типы данных
• int → Integer• float → Float• double → Double• char → Character
Классы-обёртки
Простые типы данныхКлассы-обёртки
• Указанные классы – обёртки для простых типов• Обрабатываются как объекты, а не просто как значения• Имеют методы для преобразования строковых типов в
числовые, и обратно
Массивы
(пример: ArrayExamples.java)
Массивы
• Части массивов можно копировать• Массивы можно сортировать• Ссылка на массив – не то же самое, что сам массив
Работа с памятью
• Переменные объектного типа - ссылки• Выделение памяти и создание нового объекта – после
ключевого слова new• Следить за памятью не нужно: Сборщик Мусора учитывает
выделенную память, освобождая блоки, которые больше не используются.
Ветвление
• Условный оператор (if (condition) { })• Как вариант:
if (condition1) {} else if (condition2) {} else {}Условия – только выражения типа boolean.
• Оператор выбора
switch (expr) { case val1: stmt1; break; default: stmt2;
}
Циклы
• Всё, как в С/C++: – Предусловие (while (condition) { })– Постусловие (do { } while (condition))– For (for (int i; ;) { })
– Путешествие по массиву:
for (int i: new int[] {1, 2, 3}) { }
Работа с документацией
• Код можно содержать, если код документирован.• Встроенные средства документации программ – javadoc.• Можно документировать практически всё (классы, методы, …)
Работа с документацией
(пример: JavaDocExample.java)
Резюме
• Пишите красиво!• Используйте комментарии• Документируйте свой код• Внимательнее с приведением типов• Keep it simple and sweet :)