Similar presentations:
Введение в программирование
1.
Введение2.
Области программирования• Низкоуровневое программирование:
– Встроенного программного обеспечения (Embedded)
…
• Высокоуровневое программирование:
– Десктоп программирование
– В области искусственного интеллекта (Artificial intelligence)
– Мобильная разработка:
• Android
• IOS
– Веб-программирование:
• Front-end
• Back-end
…
3.
• Высокоуровневый (high-level):Java
– Неоптимальный (*)
– Простой в понимании
• Строго типизированный (strongly typed):
– Надёжный
– Негибкий
• Объектно-ориентированный (object-oriented):
– Простота
• Кроссплатформенный/архитектурно независимый (Cross-platform):
– Переносимость/Интерпретируемость
– Низкая производительность
–
Высокая производительность (**; JIT)
Общего назначения
Многопоточный (Multithreading)
Распределённость (distributed)
Автоматическое управление памятью:
– Нет утечек памяти (memory-leak)
– Невозможно самому освободить память (*)
• Популярный и «старый»:
– Большое сообщество и поддержка
– Актуальный
– Платная лицензия (*)
4.
Редакции Java (Editions)• Standard Edition (SE):
– Индивидуальное пользование
– Масштабы малого предприятия
• Enterprise Edition (EE)
– Расширение функциональности SE
– Средние и крупные предприятия
Micro Edition (ME):
– Устройства, ограниченные в ресурсах
Java Card:
– Для устройств с ограниченными вычислительными ресурсами (изменены байткод, стандартные библиотеки и т.д.)
Пакет (package) – способ ОРГАНИЗАЦИИ классов
Библиотека (library) – чётко определённый интерфейс для внешнего
использования
Часто библиотека включает один пакет. Но библиотека != пакет
5.
Структура кода6.
Структура проекта7.
Java Virtual Machine (JVM)• Java Development Kit (JDK):
– JRE + инструменты
разработки
• Java Runtime Environment
(JRE):
– Развёртывание
– Пользовательский
интерфейс
– Базовые библиотеки
– Утилиты параллелизма
– JVM
• Java Virtual Machine (JVM):
– Интерпретатор (*)
www.javatpoint.com
8.
Виды типизации• Сильная/строгая (strong)
– Определил один тип – со значением так и работаешь
• Слабая (weak)
• Статическая (static)
• Динамическая (dynamic)
– Тип определяется во время выполнения программы
• Явная (explicit)
– int a = 0;
• Неявная (implicit)
– a = 0;
9.
Типы данных в Java10.
ПамятьСборщик мусора (Garbage collector):
1. Куча
2. несколько вариантов реализаций
3. нельзя напрямую управлять, но можно “посоветовать” очистить память
11.
Ссылочные типы данных12.
Приведение типов• Явные/повышающие (делаются
автоматически):
• Неявные/понижающие (явно указываем
тип)
https://metanit.com/
13.
Арифметические операторыhttp://opensourcerules.net
14.
Логические операторыhttp://opensourcerules.net
15.
Битовые операторы16.
Операторы отношенийhttp://opensourcerules.net
17.
Управляющие операторы• Операторы ветвления
• Операторы итерации (для задания циклов)
• Переход (break/continue/return)