java. lecture 01. introducing java

28

Upload: colriot

Post on 05-Dec-2014

1.199 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Java. Lecture 01. Introducing Java
Page 2: Java. Lecture 01. Introducing Java

Немного истории

• 1990 - Oak, Green (James Gosling)

• 1995 - Java 1.0

• 1998 - Java 2 (Java 1.2)

• …

• 2011 - Java 7

Page 3: Java. Lecture 01. Introducing Java

Знакомство с 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

Page 4: Java. Lecture 01. Introducing Java

Java Platform

Page 5: Java. Lecture 01. Introducing Java

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

Page 6: Java. Lecture 01. Introducing Java

Точка входа в программу

(пример: HelloWorld.java)

Page 7: Java. Lecture 01. Introducing Java

Точка входа в программу

public static void main(String[] args) {// the very first lines of code follow

}

• Название метода – только main• Аргументы метода – массив аргументов командной

строки

Page 8: Java. Lecture 01. Introducing Java

Точка входа в программу

(пример: HelloWorld2.java)

Page 9: Java. Lecture 01. Introducing Java

Примитивные типы данных

• Логический• Целые числа• Вещественные числа• Символы

Page 10: Java. Lecture 01. Introducing Java

Примитивные типы данных

• Основной тип – boolean• Только два значения: true и false• В отличие от C, булев и целочисленный тип различаются.

Логический

Page 11: Java. Lecture 01. Introducing Java

Примитивные типы данных

• Основной тип – int• Есть расширенные и сокращённые диапазоны (byte, short,

long)• Допускается запись в десятичном, восьмеричном и

шестнадцатеричном виде• Для long надо указывать суффикс l

Целые числа

Page 12: Java. Lecture 01. Introducing Java

Примитивные типы данных

• Двойная точность IEEE 754 (double)– Длина — 8 байт– Используется по умолчанию

• Одинарная точность IEEE 754 (float)– Длина — 4 байт– Числа оканчиваются суффиксом f: 3.1415f

При записи чисел можно пользоваться как обычной, так и экспоненциальной формой

Вещественные числа

Page 13: Java. Lecture 01. Introducing Java

Примитивные типы данных

• Основной тип – сhar• Идеологически – коды символов в Unicode• На самом деле, 16-битные целые

Символы

Page 14: Java. Lecture 01. Introducing Java

Примитивные типы данных

(пример: PrimitiveDataTypes.java)

Page 15: Java. Lecture 01. Introducing Java

Примитивные типы данных

• Арифметические и логические операции – так же, как и в C/C++• Есть бинарные операции ~, ^, &,|, >>, <<, >>>. Последний

работает с беззнаковыми числами (заполняет левый бит нулём)

Операции

Page 16: Java. Lecture 01. Introducing Java

Простые типы данных

• Основной тип – String• Идеологически – набор unicode-символов• На самом деле, не просто массив!• Строки нельзя менять• Строки можно конкатенировать, используя операцию «+».

Результатом будет новая строка (!)

Строки

Page 17: Java. Lecture 01. Introducing Java

Простые типы данных

• Объявляются с ключевым словом enum• Автоматически приводятся к строке или целому числу• Можно получить значение из строковой константы

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

Page 18: Java. Lecture 01. Introducing Java

Простые типы данных

(пример: Enumerations.java)

Page 19: Java. Lecture 01. Introducing Java

Простые типы данных

• int → Integer• float → Float• double → Double• char → Character

Классы-обёртки

Page 20: Java. Lecture 01. Introducing Java

Простые типы данныхКлассы-обёртки

• Указанные классы – обёртки для простых типов• Обрабатываются как объекты, а не просто как значения• Имеют методы для преобразования строковых типов в

числовые, и обратно

Page 21: Java. Lecture 01. Introducing Java

Массивы

(пример: ArrayExamples.java)

Page 22: Java. Lecture 01. Introducing Java

Массивы

• Части массивов можно копировать• Массивы можно сортировать• Ссылка на массив – не то же самое, что сам массив

Page 23: Java. Lecture 01. Introducing Java

Работа с памятью

• Переменные объектного типа - ссылки• Выделение памяти и создание нового объекта – после

ключевого слова new• Следить за памятью не нужно: Сборщик Мусора учитывает

выделенную память, освобождая блоки, которые больше не используются.

Page 24: Java. Lecture 01. Introducing Java

Ветвление

• Условный оператор (if (condition) { })• Как вариант:

if (condition1) {} else if (condition2) {} else {}Условия – только выражения типа boolean.

• Оператор выбора

switch (expr) { case val1: stmt1; break; default: stmt2;

}

Page 25: Java. Lecture 01. Introducing Java

Циклы

• Всё, как в С/C++: – Предусловие (while (condition) { })– Постусловие (do { } while (condition))– For (for (int i; ;) { })

– Путешествие по массиву:

for (int i: new int[] {1, 2, 3}) { }

Page 26: Java. Lecture 01. Introducing Java

Работа с документацией

• Код можно содержать, если код документирован.• Встроенные средства документации программ – javadoc.• Можно документировать практически всё (классы, методы, …)

Page 27: Java. Lecture 01. Introducing Java

Работа с документацией

(пример: JavaDocExample.java)

Page 28: Java. Lecture 01. Introducing Java

Резюме

• Пишите красиво!• Используйте комментарии• Документируйте свой код• Внимательнее с приведением типов• Keep it simple and sweet :)