806.61K
Категория: ПрограммированиеПрограммирование

Основы программирования на языке Java

1.

Основы программирования на языке Java
Занятие 2. Введение в программирование

2.

Java-приложение
• Работа любого приложения
Java начинается с выполнения
метода main() одного из
классов
• Фактически, метод public static
void main() – входная точка
Java приложения
• Класс, с которого начинается
выполнение приложения
называется - main class –
главным классом

3.

Public static void main(String[] args)

4.

Пакеты
Пакет (package), фактически - пространство имен в Java
Пакеты позволяют организовать классы логически в наборы.
По умолчанию Java уже имеет ряд встроенных пакетов.
Организация классов в виде пакетов позволяет избежать
конфликта имен между классами. Ведь нередки ситуации,
когда программисты называют свои классы одинаково.
Принадлежность к пакету позволяет гарантировать
однозначность имен.

5.

Некоторые стандартные packages
• java.lang - базовые классы,
необходимые для работы любого
приложения (название - сокращение от
language);
• java.io - работа с потоками данных
(streams) и с файлами
• java.util - многие полезные
вспомогательные классы
• java.math – математические функции
• java.net - работа с сетью

6.

Классы и пакеты в файловой системе
• Один тип (класс/интерфейс)
может принадлежать только
одному пакету
• Один файл исходного кода
может содержать только
один публичный (public)
тип, доступный за
пределами пакета
• Рекомендуется создавать
отдельный файл исходного
кода под отдельный тип
• Файл исходного кода должен
называться по имени
публичного типа
• Имя пакета ассоциируется с
иерархией папок в файловой
системе
• Рекомендуется использовать
в названии пакета только
символы нижнего регистра
• Стандартные пакеты java
начинаются со слов java. и
javax.
• Внешние компании
используют для именования
пакетов свои доменные
имена (например,
com.facebook, ru.mail и т.п.)

7.

Список ключевых слов

8.

Идентификаторы
Требования:
– чувствительны к регистру
– могут быть любой длины
– могут содержать:
• любые буквы Юникод
• цифры
• cимволы ‘$’ и ‘_’
– должны начинаться с буквы
или символов: ‘$’ и ‘_’
– не должны совпадать с
ключевыми словами Java
Идентификаторы (identifiers) - это имена,
которые даются различным элементам
языка для упрощения доступа к ним. Имена
имеют пакеты, классы, интерфейсы, поля,
методы, аргументы и локальные
переменные.

9.

Простые типы данных
byte
– 8-битное целое
– от -128 до 127
short
– 16-битное целое
– от -32 768 до 32 767
int
– 32-битное целое
– от -231 до 231-1
long
– 64-битное целое
– от -263 до 263-1
float
– 32-битное число с
плавающей точкой
double
– 64-битное число с
плавающей точкой
boolean
– логическое значение
– true / false
char
– 16-битный символ Unicode
– от 0 до 65535

10.

Переменные
Java является строго
типизированным языком. Это
означает, что любая переменная
И любое выражение имеют
известный тип еще на момент
компиляции. Все переменные
должны быть объявлены, перед тем,
как они будут использоваться.
Рекомендации по наименованию:
– если значение будет меняться:
• имя начинается с маленькой
буквы
• если имя состоит из
нескольких слов, второе и
последующие слова
начинаются с большой
буквы
– если значение не будет меняться
(именованные константы):
• имя записывается в верхнем
регистре
• слова отделяются друг от
друга символом ‘_’
https://www.oracle.com/technetwork/java/co
deconventions-150003.pdf

11.

Литералы
- Целочисленные
- Вещественные
- Символьные
- Строковые
- Булевские
Для указания типа константы применяются
суффиксы: l (или L) — long, f (или F) — float,
d (или D) — double. Например, 1L —
единица, но типа long.

12.

Объекты в Java
• Объект (object) – экземпляр класса. В Java все объекты.
Нельзя создать метод без создания класса.
• Создание объекта осуществляется динамически при
помощи оператора new:
new Random();
• Работа с объектом осуществляется через переменнуюссылку
Random random = new Random();
• null – пустая ссылка
Random value = null;
• Удаление объекта осуществляется автоматически
сборщиком мусора (garbage collector)

13.

Типы операций
Присваивание. Инкремент (декремент)

14.

Типы операций
Арифметические операции

15.

Типы операций
Операции сравнения
• ==
операция сравнивает два операнда на
равенство: c=a==b; c равно true, если a
равно b, иначе c будет равно false;
• !=
операция сравнивает два операнда на
не равенство: c=a!=b; c равно true,
если a не равно b, иначе c будет равно
false;
• <
c=a<b; c равно true, если a меньше b,
иначе c будет равно false;
• >
c=a<b; c равно true, если a больше b,
иначе c будет равно false;
• <=
c=a<=b; c равно true, если a
меньше или равно b, иначе c
будет равно false;
• >=
• c=a>=b; c равно true, если a
больше или равно b, иначе c
будет равно false.

16.

Типы операций
Операции сдвига
Производятся над разрядами чисел. Сдвиг может происходить вправо и
влево.
• a<<b
сдвигает число a влево на b
разрядов.
• a>>b
смещает число a вправо на b
разрядов.
• a>>>b
операция представляет
беззнаковый сдвиг - сдвигает
число a вправо на b разрядов.

17.

Типы операций
Побитовые операции
В данном случае числа рассматриваются в двоичном представлении,
например, 2 в двоичной системе равно 10 и имеет два разряда, число 7 111 и имеет три разряда.
• & - логическое умножение –
побитовое И
| - логическое сложение –
побитовое ИЛИ
• ^ - логическое исключающее
ИЛИ – побитовое
исключающее ИЛИ
• ~ логическое отрицание –
побитовое НЕ

18.

Типы операций
Условная операция и операция instanceof
Тернарная операция, т.е. операция, имеющая три операнда. Для нее
используется не один знак операции, а два.
instanceof проверяет принадлежность объекта заданному типу (классу)

19.

Выражения и приоритет операций
Выражения состоят из операндов и операций
Операции выполняются в соответствии с их приоритетами. С
одинаковым приоритетом выполняются в порядке:
• (1-13) справа налево
• (14) слева направо
Для обозначения приоритетов операций можно использовать
круглые скобки.
Операндом может быть: константа, переменная (объект),
вызов метода или выражение.
Приоритет
Операции
1
x++ x--
2
++x --x
+x -x ~ !
3
* / %
4
+ -
5
<< >> >>>
6
< > <= >=
instanceof
7
== !=
8
&
9
^
10
|
11
&&
12
||
13
?:
14
= += -= *=
/= %= &= ^=
|= <<= >>=
>>>=

20.

Преобразование простых типов
без потери точности
с возможными потерями
точности и значения
int x = 100;
double z = (double)x;
int x = 100;
double y = x;
Явное преобразование
Неявное преобразование

21.

Комментарии в Java

22.

Java code style
Рекомендации к стилю кода на Java
https://www.oracle.com/technetwork/java/codeconventions-150003.pdf
English     Русский Правила