Похожие презентации:
Типы данных и переменные
1.
Data Types and Variables2.
LecturerMaksym Dobrynin (Максим Добрынин)
Full-stack Java Developer
3.
Agenda1. Primitive types
a. Integers
b. Floating-point
2. Variables
a. Naming rules
3. Arithmetic operations and priority
a. Basic
b. Modulus
c. Compound
4. Class Math as utility
5. Type conversion and incompatible type casting
6. Auto type promotion
4.
Primitive typesВ Java существует 8 примитивных типов данных:
byte (целые числа, 1 байт)
short (целые числа, 2 байта)
int (целые числа, 4 байта)
long (целые числа, 8 байтов)
float (вещественные числа, 4 байта)
double (вещественные числа, 8 байтов)
char (символ Unicode, 2 байта)
boolean (значение истина/ложь, 1 байт)
5.
Primitive types. IntegersСледующие типы относятся к целочисленными, могут хранить знания в следующих диапазонах и занимать
соответствующие количество памяти в системе
6.
Primitive types. Floating-pointСледующие типы так называемые с плавающеей запятой либо чаще употреблямые как дробнодесятичные, могут хранить знания в следующих диапазонах и занимать соответствующие количество
памяти в системе
7.
VariablesПеременная - это именованная область памяти конкретного типа данных, которая может хранить значение или
другими словами - некий контейнер, в котором может храниться значение для дальнейшего использования в
программе
В Java все переменные должны быть объявлены до их использования. Основная форма объявления
переменных выглядит следующим образом: тип идентификатор [=значение]
int a; // объявление
int a, int b, double c; // объявление нескольких переменных
int a = 1; // инициаализация
int a = 1, int b = 0; // инициализация нескольких переменных
8.
VariablesПримитивные типы хранятся в области
памяти JVM под названием Stack
9.
Variables. Naming rules1.
2.
3.
4.
Имя переменной должно начинаться с буквы (маленькой) и состоять из букв (Unicode) цифр и символа
подчеркивания «_». Технически возможно начать имя переменной также с «$» или «_», однако это запрещено
соглашением по оформлению кода в Java (Java Code Conventions). Кроме того, символ доллара «$», по
соглашению, никогда не используется вообще. В соответствии с соглашением имя переменной должно
начинаться именно с маленькой буквы (с заглавной буквы начинаются имена классов). Пробелы при именовании
переменных не допускаются
Имя переменной не должно быть ключевым или зарезервированным словом языка Java
Имя переменной чувствительно к регистру. youngOne и youngone — разные имена
Если выбранное вами имя переменной состоит только из одного слова — запишите его маленькими буквами. Если
оно состоит из более чем одного слова, то отделяйте каждое последующее слово в имени переменной заглавной
буквой. Например: masterJedi, supremeChancellor
10.
Arithmetic operations and priorityАрифметические операции применяются в математических выражениях таким же образом, как и в
алгебре. Следующие операции, доступные в Java
11.
Arithmetic operations and priority. BasicК базовым операциям стоит отнести привычные нам математические операции (сложение, вычитание,
умножение и деление)
int a = 1 + 1;
int b = a * 3;
int c = b / 4;
int d = c - а;
double da = 1 + 1;
double db = da * 3;
double dc = db / 4;
12.
Arithmetic operations and priority. ModulusОперация деления по модулю % возвращает остаток от деления. Эту операцию можно выполнять как над
числовыми типами данных с плавающей точкой, так и над целочисленными
public static void main(String args[]) {
int x = 42;
double y = 42.25;
System.out.println("x mod 10 = " + x % 10);
System.out.println("y mod 10 = " + y % 10);
}
На выходе мы получим
х mod 10 = 2
у mod 10 = 2.2 5
13.
Arithmetic operations and priority. CompoundВ Java имеются специальные операции , объединяющие арифметические операции с операциями
присваивания
int a = 1, b = 2, c = 3;
a = a + 5;
b = b * 4;
c = c+ a * b;
c = c % 6;
a += 5;
b *= 4;
c += a * b;
c %= 6;
Такого рода объединенные операция порой облегчают читаемость кода и к сокращают его, поскольку никогда не
стоит забывать, что каждый символ в операции (в коде) имеет свою меру в памяти и занимают ее, что ведет к
увеличению веса программы в целомом
14.
Class Math as utilityClass Math - предназначен для группирования общих (элементарных), если хотите часто используемых операций
(экспоненциальных, логарифмических, получение квадратного корня, тригонометрические функции и т.д.)
Полезные ссылки:
1.
2.
Официальная документация и описание
Краткое описание на русском языке
public static void main(String args[]) {
double a = 3.0, b = 4.0;
double c = Math.sqrt(a * a + b * b);
В данном выражении мы без труда получаем квадратный корень числа
15.
Type conversion and incompatible typecasting
Когда данные одного типа присваиваются переменной другого типа, выполняется автоматическое
преобразование типов, если удовлетворяются два условия:
1.
2.
оба типа совместимы
длина целевого типа больше длины исходного типа
При соблюдении этих условий выполняется расширяющее преобразование. Например, тип данных int
всегда достаточно велик, чтобы хранить все допустимые значения типа byte, поэтому никакие операторы
явного приведения типов в данном случае не требуются
16.
Auto type promotionПомимо операций присваивания, определенное преобразование типов может выполняться и в
выражениях. Это может происходить в тех случаях, когда требуемая точность промежуточного значения
выходит за пределы допустимого диапазона значений любого из операндов в выражении. В качестве
примера рассмотрим следующий фрагмент кода:
byte a = 40;
byte b = 50;
byte c = 100;
int d = a * b / c;
17.
Auto type promotionНесмотря на все удобства автоматического продвижения типов, оно может приводить к досадным
ошибкам во время компиляции. Например, следующий правильный на первый взгляд код приводит к
ошибке:
byte b = 50;
b = b * 2;
ОШИБКА ! Значение типа int не может быть присвоено переменной типа byte
18.
Auto type promotionВ языке Java определен ряд правил продвижения типов, применяемых к выражениям. Сначала все
значения типа byte, short и char продвигаются к типу int, как объяснялось выше. Затем тип всего
выражения продвигается к типу long, если один из его операндов относится к типу long. Если же один из
операндов относится к типу float, то тип всего выражения продвигается к типу float. А если любой из
операндов относится к типу double, то и результат вычисления всего выражения относиться к типу double
19.
Recommended literatureJava 8. Полное руководство. 9-е издание - Шилдт Г.