63
Глухих Михаил Игоревич mailto: [email protected]

Глухих Михаил Игоревич mailto: [email protected]/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Глухих Михаил Игоревичmailto: [email protected]

Page 2: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Desktop-программы = Обыкновенные программы для PC

2

Page 3: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

3

Page 4: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

Мобильные (Android / iOS)

4

Page 5: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

Мобильные (Android / iOS)

Системные = Часть ОС (операционной системы)

5

Page 6: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

Мобильные (Android / iOS)

Системные = Часть ОС (операционной системы)

Встраиваемые = Часть ВСУ (встраиваемых систем управления, нет привычного PC)

6

Page 7: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых

7

Page 8: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

Java = для Web-серверов, для Android, для встраиваемых программ, для Desktop

8

Page 9: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

Java = для Web-серверов, для Android, для встраиваемых программ, для Desktop

JavaScript = для Web-клиентов

9

Page 10: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

Java = для Web-серверов, для Android, для встраиваемых программ, для Desktop

JavaScript = для Web-клиентов

Python = для Web-серверов, для Desktop

10

Page 11: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

Java = для Web-серверов, для Android, для встраиваемых программ, для Desktop

JavaScript = для Web-клиентов

Python = для Web-серверов, для Desktop

Swift = для iOS, для Desktop

11

Page 12: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

Java = для Web-серверов, для Android, для встраиваемых программ, для Desktop

JavaScript = для Web-клиентов

Python = для Web-серверов, для Desktop

Swift = для iOS, для Desktop

PHP = для Web-серверов

12

Page 13: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

Java = для Web-серверов, для Android, для встраиваемых программ, для Desktop

JavaScript = для Web-клиентов

Python = для Web-серверов, для Desktop

Swift = для iOS, для Desktop

PHP = для Web-серверов

C# = для Desktop (.NET)

13

Page 14: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine

Интерпретирует программы в байт-коде

14

Page 15: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine

Интерпретирует программы в байт-коде

◦ Готовые байт-коды стандартных библиотек

15

Page 16: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine

Интерпретирует программы в байт-коде

◦ Готовые байт-коды стандартных библиотек

JDK (Development Kit)◦ Платформа

◦ Стандартные библиотеки

16

Page 17: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine

Интерпретирует программы в байт-коде

◦ Готовые байт-коды стандартных библиотек

JDK (Development Kit)◦ Платформа

◦ Стандартные библиотеки

◦ Средства для языка Java

Компилятор, отладчик, архиватор, сборщик документации, …

17

Page 18: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

SE = Standard Edition (для Desktop)

18

Page 19: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

SE = Standard Edition (для Desktop)

EE = Enterprise Edition (для Web)

19

Page 20: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

SE = Standard Edition (для Desktop)

EE = Enterprise Edition (для Web)

Android (для мобильных устройств)

20

Page 21: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Kotlin◦ https://github.com/Kotlin-Polytech/KotlinAsFirst2016

Scala

Groovy

21

Page 22: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

«Спутник» Java

Может применяться везде, где применяется Java или JavaScript

В промышленном программировании: Android, Web (серверы + клиенты), …

Использует стандартную библиотеку Java + собственные расширения библиотеки

Проще Java в освоении

22

Page 23: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Лекции, 2 часа в неделю

Курсовой проект, 2 часа в неделю

В конце семестра – защита курсового проекта с выставлением оценки

Для не участвовавших в защите –теоретический зачёт

23

Page 24: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

JDK 1.8◦ Скачать с сайта Oracle и установить

24

Page 25: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Intellij IDEA Community Edition (бесплатна)◦ Скачать с сайта JetBrains и установить

Альтернативы◦ Eclipse

◦ Netbeans

25

Page 26: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

26

Структура курса

Технология Java

Типы, операции, конструкции, ввод-вывод

Структура проекта, классы, интерфейсы, наследование

Коллекции и утилиты

Тестирование на Java: JUnit

GUI на Java: AWT, Swing

Web на Java

Многопоточные приложения на Java

Page 27: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

27

Литература

Ильдар Хабибуллин. Java 7. СПб.: БХВ-Петербург, 2012

Арнольд К., Гослинг Дж., Холмс Д. Язык программирования Java, 3-е издание. М.: Издательский дом «Вильямс», 2001.

James Gosling, Bill Joy, Guy Steele, Gilad Bracha. The Java Language Specification, Second Edition.

Joshua Bloch. Effective Java: Programming Language Guide, second edition. ISBN 978-0-321-35668-0, 2008.

Page 28: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

28

Основные принципы

Простота

Объектная ориентированность

Строгая типизация

Безопасность

Архитектурная независимость

Высокая производительность

Интерпретируемость

Многопоточность

Page 29: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

29

Язык Java

Полностью объектно-ориентированный язык

Многое заимствовано из языка Си++ (в частности, почти весь набор базовых конструкций и операций)

Из Си++ убраны сомнительные элементы и привнесены несколько новых

Программирование в значительной степени упрощено (меньше вероятность ошибок)

Page 30: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

30

Ключевые отличия от C++(общая структура)

Нет глобальных переменных и функций (есть классы и их члены)

Введена иерархия пакетов для разграничения действия имён

Убрано разделение на заголовочные файлы и файлы с исходным кодом

Page 31: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

31

Ключевые отличия от С++(типы)

Устранен тип «указатель» (оставлены ссылочные типы)

Введен самостоятельный тип «строка» (более не является массивом символов)

Разграничены целый и логический типы (их более нельзя перемешивать)

Запрещены некоторые преобразования типов

Page 32: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

32

Ключевые отличия от C++(безопасность)

Безопасный язык – гарантирует целостность своих собственных элементов

При интерпретации производится контроль:

границ массивов

доступа по нулевой ссылке

переполнения стека

преобразования типов

...

Ошибки приводят к исключениям

Page 33: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

33

Ключевые отличия от C++(работа с памятью)

Переменные примитивных типов (целый, символьный, вещественный, логический) в java хранятся в стеке (или в статической памяти)

Переменные других типов (массив, строка, класс, перечисление), в java хранятся в динамической памяти(при этом в стеке запоминается ссылка)

Нет деструкторов и операторов освобождения памяти (вместо них работает сборщик мусора)

Page 34: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Введение в технологию Java 34

Ключевые отличия от C++(ссылочные типы)

"Hello, world"String a =

"Hello, world!"

String b = a

String c = null

Page 35: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

35

Ключевые отличия от C++(иерархия классов)

Нет множественного наследования классов

Нет закрытого и защищенного наследования

Введено понятие интерфейса

интерфейс = класс без полей, только с чисто виртуальными методами (определяет, ЧТО можно делать, но не КАК)

есть множественное наследование интерфейсов

Page 36: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Введение в технологию Java 36

Компиляция и исполнение программ на языке Java

Программа на java

Байт-коды JVM

Машинные команды

Компилятор (javac)

Интерпретатор (java)

Page 37: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

37

Java VS C/C++ (достоинства)

C/C++ Высокая производительность программ

Меньшие затраты памяти

Возможность системного программирования

Java Высокая скорость и удобство

разработки

Кроссплатформенность

Page 38: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

Версии Java SE

Java SE 8 – 2014 год, довольно существенные усовершенствования

Java SE 7 – 2011 год, включает ряд небольших изменений в языке (с обратной совместимостью)

Java SE 6 – 2006 год

38

Page 39: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

39

Простейшая программа на Java

// Файл Hello.java

// См. пример

package test;

public class Hello {

public static void main(String[] args) {

System.out.println("Здравствуй, мир!");

}

}

Page 40: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

40

Имена в языке Java

Формируются по правилам С/С++

Общепринятые соглашения Java-разработчиков (Java Code Style): имя класса (интерфейса) начинается с

прописной буквы (Collection, LinkedList)

Page 41: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

41

Имена в языке Java

Формируются по правилам С/С++

Общепринятые соглашения Java-разработчиков (Java Code Style): имя класса (интерфейса) начинается с

прописной буквы (Collection, LinkedList)

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

Page 42: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

42

Имена в языке Java

Формируются по правилам С/С++

Общепринятые соглашения Java-разработчиков (Java Code Style): имя класса (интерфейса) начинается с

прописной буквы (Collection, LinkedList)

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

имя функции начинается со строчной буквы и является глаголом (addAll)

Page 43: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

43

Имена в языке Java

Формируются по правилам С/С++

Общепринятые соглашения Java-разработчиков (Java Code Style): имя класса (интерфейса) начинается с

прописной буквы (Collection, LinkedList)

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

имя функции начинается со строчной буквы и является глаголом (addAll)

имя константы состоит из прописных букв(INSTANCE)

Page 44: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

44

Комментарии

/* Комментарий

в стиле

языка C */

Page 45: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

45

Комментарии

/* Комментарий

в стиле

языка C */

// Комментарий

// в стиле языка C++

Page 46: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

46

Комментарии

/* Комментарий

в стиле

языка C */

// Комментарий

// в стиле языка C++

/**

* Документирующий комментарий

* в стиле языка Java

*/

Page 47: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

47

Примитивные типы

Целые

byte (1 байт, -128...127)

short (2 байта, -32768...32767)

int (4 байта, -231...231-1)

long (8 байт, -263...263-1)

Page 48: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

48

Примитивные типы

Целые

byte (1 байт, -128...127)

short (2 байта, -32768...32767)

int (4 байта, -231...231-1)

long (8 байт, -263...263-1)

Вещественные

float (4 байта)

double (8 байт)

Page 49: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

49

Примитивные типы

Целые

byte (1 байт, -128...127)

short (2 байта, -32768...32767)

int (4 байта, -231...231-1)

long (8 байт, -263...263-1)

Вещественные

float (4 байта)

double (8 байт)

Символьный

char (2 байта, Unicode, 0...65535)

Page 50: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

50

Примитивные типы

Целые

byte (1 байт, -128...127)

short (2 байта, -32768...32767)

int (4 байта, -231...231-1)

long (8 байт, -263...263-1)

Вещественные

float (4 байта)

double (8 байт)

Символьный

char (2 байта, Unicode, 0...65535)

Логический

boolean (true или false)

Page 51: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

51

Константы

Целые

57, +323, -48 (десятичная форма, 4 байта)

024, -0634, 0777 (восьмеричная форма)

0xabcd, -0x19f (шестнадцатеричная форма)

0b010001001 (двоичная форма, только в JDK 7)

43_934 (форма с _, только в JDK 7)

1234567890123L, 0xabcdef1234L (8-байтные)

Page 52: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

52

Константы

Целые

57, +323, -48 (десятичная форма, 4 байта)

024, -0634, 0777 (восьмеричная форма)

0xabcd, -0x19f (шестнадцатеричная форма)

0b010001001 (двоичная форма, только в JDK 7)

43_934 (форма с _, только в JDK 7)

1234567890123L, 0xabcdef1234L (8-байтные)

Вещественные

37.29, -19.41 (обычная форма, 8 байт)

3e+12, -1.1e-7 (экспоненциальная форма)

3.6F, -1.0e-1F (4-байтные)

Page 53: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

53

Константы

Символьные

'a', '?', ' ', '\n', '\t', '\\' (обычный вариант)

'\40', '\62' – восьмеричный код

'\u0053' – юникод

Page 54: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

54

Константы

Символьные

'a', '?', ' ', '\n', '\t', '\\' (обычный вариант)

'\40', '\62' – восьмеричный код

'\u0053' – юникод

Строковые

"Hello, world\n"

"Сложение " + "строк"

Page 55: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

55

Операции

Арифметические: + - * / % ++ --

Page 56: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

56

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Page 57: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

57

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Сравнения: > < >= <= == !=

Page 58: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

58

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Сравнения: > < >= <= == !=

Побитовые: ~ & | ^

Page 59: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

59

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Сравнения: > < >= <= == !=

Побитовые: ~ & | ^

Сдвиговые: << >> >>>

Page 60: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

60

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Сравнения: > < >= <= == !=

Побитовые: ~ & | ^

Сдвиговые: << >> >>>

Присваивания: = += -= *= /= %= &= |= ^= <<= >>= >>>=

Page 61: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

61

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Сравнения: > < >= <= == !=

Побитовые: ~ & | ^

Сдвиговые: << >> >>>

Присваивания: = += -= *= /= %= &= |= ^= <<= >>= >>>=

Условная: a>b?a:b

Page 62: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

62

Операции

Арифметические: + - * / % ++ --

Логические: & && | || ^ !

Сравнения: > < >= <= == !=

Побитовые: ~ & | ^

Сдвиговые: << >> >>>

Присваивания: = += -= *= /= %= &= |= ^= <<= >>= >>>=

Условная: a>b?a:b

Приведения типа: int a = (int)2.5;

Page 63: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные

63

Итоги

Рассмотрены особенности технологии Java

Рассмотрена простейшая программа

Рассмотрены примитивные типы

Рассмотрены константы и операции