Глухих Михаил Игоревич mailto:...
Transcript of Глухих Михаил Игоревич mailto:...
![Page 2: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/2.jpg)
Desktop-программы = Обыкновенные программы для PC
2
![Page 3: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/3.jpg)
Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
3
![Page 4: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/4.jpg)
Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
Мобильные (Android / iOS)
4
![Page 5: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/5.jpg)
Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
Мобильные (Android / iOS)
Системные = Часть ОС (операционной системы)
5
![Page 6: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/6.jpg)
Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
Мобильные (Android / iOS)
Системные = Часть ОС (операционной системы)
Встраиваемые = Часть ВСУ (встраиваемых систем управления, нет привычного PC)
6
![Page 7: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/7.jpg)
C / C++ = для системных программ, также для встраиваемых
7
![Page 8: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/8.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/9.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/10.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/11.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/12.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/13.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/14.jpg)
Платформа (~ 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/15.jpg)
Платформа (~ 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/16.jpg)
Платформа (~ 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/17.jpg)
Платформа (~ 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/18.jpg)
SE = Standard Edition (для Desktop)
18
![Page 19: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/19.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/20.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/21.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/22.jpg)
«Спутник» 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/23.jpg)
Лекции, 2 часа в неделю
Курсовой проект, 2 часа в неделю
В конце семестра – защита курсового проекта с выставлением оценки
Для не участвовавших в защите –теоретический зачёт
23
![Page 24: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/24.jpg)
JDK 1.8◦ Скачать с сайта Oracle и установить
24
![Page 25: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/25.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/26.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/27.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/28.jpg)
28
Основные принципы
Простота
Объектная ориентированность
Строгая типизация
Безопасность
Архитектурная независимость
Высокая производительность
Интерпретируемость
Многопоточность
![Page 29: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/29.jpg)
29
Язык Java
Полностью объектно-ориентированный язык
Многое заимствовано из языка Си++ (в частности, почти весь набор базовых конструкций и операций)
Из Си++ убраны сомнительные элементы и привнесены несколько новых
Программирование в значительной степени упрощено (меньше вероятность ошибок)
![Page 30: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/30.jpg)
30
Ключевые отличия от C++(общая структура)
Нет глобальных переменных и функций (есть классы и их члены)
Введена иерархия пакетов для разграничения действия имён
Убрано разделение на заголовочные файлы и файлы с исходным кодом
![Page 31: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/31.jpg)
31
Ключевые отличия от С++(типы)
Устранен тип «указатель» (оставлены ссылочные типы)
Введен самостоятельный тип «строка» (более не является массивом символов)
Разграничены целый и логический типы (их более нельзя перемешивать)
Запрещены некоторые преобразования типов
![Page 32: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/32.jpg)
32
Ключевые отличия от C++(безопасность)
Безопасный язык – гарантирует целостность своих собственных элементов
При интерпретации производится контроль:
границ массивов
доступа по нулевой ссылке
переполнения стека
преобразования типов
...
Ошибки приводят к исключениям
![Page 33: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/33.jpg)
33
Ключевые отличия от C++(работа с памятью)
Переменные примитивных типов (целый, символьный, вещественный, логический) в java хранятся в стеке (или в статической памяти)
Переменные других типов (массив, строка, класс, перечисление), в java хранятся в динамической памяти(при этом в стеке запоминается ссылка)
Нет деструкторов и операторов освобождения памяти (вместо них работает сборщик мусора)
![Page 34: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/34.jpg)
Введение в технологию 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/35.jpg)
35
Ключевые отличия от C++(иерархия классов)
Нет множественного наследования классов
Нет закрытого и защищенного наследования
Введено понятие интерфейса
интерфейс = класс без полей, только с чисто виртуальными методами (определяет, ЧТО можно делать, но не КАК)
есть множественное наследование интерфейсов
![Page 36: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/36.jpg)
Введение в технологию Java 36
Компиляция и исполнение программ на языке Java
Программа на java
Байт-коды JVM
Машинные команды
Компилятор (javac)
Интерпретатор (java)
![Page 37: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/37.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/38.jpg)
Версии 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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/39.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/40.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/41.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/42.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/43.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/44.jpg)
44
Комментарии
/* Комментарий
в стиле
языка C */
![Page 45: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/45.jpg)
45
Комментарии
/* Комментарий
в стиле
языка C */
// Комментарий
// в стиле языка C++
![Page 46: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/46.jpg)
46
Комментарии
/* Комментарий
в стиле
языка C */
// Комментарий
// в стиле языка C++
/**
* Документирующий комментарий
* в стиле языка Java
*/
![Page 47: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/47.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/48.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/49.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/50.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/51.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/52.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/53.jpg)
53
Константы
Символьные
'a', '?', ' ', '\n', '\t', '\\' (обычный вариант)
'\40', '\62' – восьмеричный код
'\u0053' – юникод
![Page 54: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/54.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/55.jpg)
55
Операции
Арифметические: + - * / % ++ --
![Page 56: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/56.jpg)
56
Операции
Арифметические: + - * / % ++ --
Логические: & && | || ^ !
![Page 57: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/57.jpg)
57
Операции
Арифметические: + - * / % ++ --
Логические: & && | || ^ !
Сравнения: > < >= <= == !=
![Page 58: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/58.jpg)
58
Операции
Арифметические: + - * / % ++ --
Логические: & && | || ^ !
Сравнения: > < >= <= == !=
Побитовые: ~ & | ^
![Page 59: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/59.jpg)
59
Операции
Арифметические: + - * / % ++ --
Логические: & && | || ^ !
Сравнения: > < >= <= == !=
Побитовые: ~ & | ^
Сдвиговые: << >> >>>
![Page 60: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/60.jpg)
60
Операции
Арифметические: + - * / % ++ --
Логические: & && | || ^ !
Сравнения: > < >= <= == !=
Побитовые: ~ & | ^
Сдвиговые: << >> >>>
Присваивания: = += -= *= /= %= &= |= ^= <<= >>= >>>=
![Page 61: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/61.jpg)
61
Операции
Арифметические: + - * / % ++ --
Логические: & && | || ^ !
Сравнения: > < >= <= == !=
Побитовые: ~ & | ^
Сдвиговые: << >> >>>
Присваивания: = += -= *= /= %= &= |= ^= <<= >>= >>>=
Условная: a>b?a:b
![Page 62: Глухих Михаил Игоревич mailto: glukhikh@mailkspt.icc.spbstu.ru/media/files/2016/course/java/slides/Java01.pdf5 Desktop-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/62.jpg)
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-программы = Обыкновенные](https://reader030.fdocuments.net/reader030/viewer/2022041223/5e0d54af56cd492f9a080bc0/html5/thumbnails/63.jpg)
63
Итоги
Рассмотрены особенности технологии Java
Рассмотрена простейшая программа
Рассмотрены примитивные типы
Рассмотрены константы и операции