2.06M
Category: programmingprogramming

Введение в программирование

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.

Типы данных в Java

10.

Память
Сборщик мусора (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)

18.

If/else

19.

switch
English     Русский Rules