msu.center.lectures.j01 introducing java

29

Upload: olegol

Post on 05-Dec-2014

849 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Msu.Center.Lectures.J01 Introducing Java
Page 2: Msu.Center.Lectures.J01 Introducing Java

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

• 1990 - Oak, Green (James Gosling)

• 1995 - Java 1.0

• 1998 - Java 2 (Java 1.2)

• …

• 2010 - Java 7

Page 3: Msu.Center.Lectures.J01 Introducing Java

Знакомство с Java

• Java Programming Language

• Java Platform– Java 2 Platform, Standard Edition (J2SE)– Java 2 Platform, Enterprise Edition (J2EE)

– Java 2 Platform, Micro Edition (J2ME)– Java Card technology

Page 4: Msu.Center.Lectures.J01 Introducing Java

Java Platform

Page 5: Msu.Center.Lectures.J01 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: Msu.Center.Lectures.J01 Introducing Java

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

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

}

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

строки

Page 7: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 8: Msu.Center.Lectures.J01 Introducing Java

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

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

}

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

строки

Page 9: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 10: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 11: Msu.Center.Lectures.J01 Introducing Java

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

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

Логический

Page 12: Msu.Center.Lectures.J01 Introducing Java

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

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

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

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

Целые числа

Page 13: Msu.Center.Lectures.J01 Introducing Java

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

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

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

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

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

Page 14: Msu.Center.Lectures.J01 Introducing Java

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

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

Символы

Page 15: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 16: Msu.Center.Lectures.J01 Introducing Java

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

• Арифметические и логические операции – так же, как и в C/C++• Строки можно конкатенировать, используя операцию «+».

Результатом будет новая строка (!)• Есть бинарные операции ~, ^, |, >>, <<, >>>. Последний

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

Операции

Page 17: Msu.Center.Lectures.J01 Introducing Java

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

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

Строки

Page 18: Msu.Center.Lectures.J01 Introducing Java

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

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

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

Page 19: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 20: Msu.Center.Lectures.J01 Introducing Java

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

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

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

Page 21: Msu.Center.Lectures.J01 Introducing Java

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

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

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

Page 22: Msu.Center.Lectures.J01 Introducing Java

Массивы

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

Page 23: Msu.Center.Lectures.J01 Introducing Java

Массивы

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

Page 24: Msu.Center.Lectures.J01 Introducing Java

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

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

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

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

Page 25: Msu.Center.Lectures.J01 Introducing Java

Ветвление

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

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

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

switch (expr) { case val1: stmt1; else stmt2; }

Page 26: Msu.Center.Lectures.J01 Introducing Java

Циклы

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

for (int i: a) { hyuygjij}

Page 27: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 28: Msu.Center.Lectures.J01 Introducing Java

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

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

Page 29: Msu.Center.Lectures.J01 Introducing Java

Резюме

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