Программирование основано на математике. Математика является основополагающей любого языка программирования.
Не было бы математики — не было бы программирования. Любое действие компьютера является сплошной математикой.
Перемещение курсора по экрану — это геометрия, перемещение объекта по осям X и Y.
Любая игра — это совокупность алгебры, геометрии, математического анализа и много-много чего ещё.
Изображения, фотографии в цифровом формате — это ни что иное, как набор огромного множества разноцветных квадратиков очень маленького размера представленных в виде таблицы. Опять же, чтобы их все правильно разместить нужна геометрия.
Существует четыре основных операции над числами:
- Сложение (+);
- Вычитание (-);
- Умножение (*);
- Деление (/);
Эти четыре стандартные операции есть в любом языке программирования. Но помимо них в различных языках существуют дополнительные математические операции, но они ни что иное, как упрощение или модернизирование стандартных операций. Язык Java не исключение.
Дополнительной операцией является вычисление остатка от деления (%). Не густо, но и этого более чем достаточно.
Для примера создадим две переменные с какими-либо числами и произведём над ними вышеперечисленные операции.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static void main(String[] args) { int var1, var2; //создаём две целочисленные переменные var1 = 103; //присваиваем первой переменной значение var2 = 205; //присваиваем второй переменной значение System.out.println(var1 + " + " + var2 + " = " + (var1+var2)); //отформатированный вывод результата сложения System.out.println(var1 + " - " + var2 + " = " + (var1-var2)); //отформатированный вывод результата вычитания System.out.println(var1 + " * " + var2 + " = " + (var1*var2)); //отформатированный вывод результата умножения System.out.println(var1 + " / " + var2 + " = " + (var1/var2)); //отформатированный вывод результата деления System.out.println(var1 + " % " + var2 + " = " + (var1%var2)); //отформатированный вывод результата остатка от деления } } |
На экран получим:
1 2 3 4 5 |
103 + 205 = 308 103 - 205 = -102 103 * 205 = 21115 103 / 205 = 0 103 % 205 = 103 |
При делении произошло преобразование в целочисленный тип. В результате деления зачастую получаются дробные числа. Мы использовали тип int, в связи с чем произошло автоматическое преобразование в тип int и результата деления. На экран мы получили целую часть от деления. Чтобы происходило полноценное деление с выводом дробного результата, нужно использовать тип с плавающей точкой.
Поделим те же числа, но будем использовать не тип int, а тип float.
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String[] args) { float var1, var2; //создаём две целочисленные переменные var1 = 103F; //присваиваем первой переменной значение var2 = 205F; //присваиваем второй переменной значение System.out.println(var1 + " / " + var2 + " = " + (var1/var2)); //отформатированный вывод результата полноценного деления } } |
На экран получаем:
1 |
103.0 / 205.0 = 0.502439 |
Во-первых, появились дополнительные нули, которые не вводили. Это произошло автоматическое преобразование в дробный тип (тип с плавающей точкой). Все переменные типа double и float автоматически содержат в себе дробную часть, даже если считается, что её и нет.
Например: цифра 1 является целочисленной, так как не содержит в себе дробную часть. Но на самом деле её дробная часть равна нулю, то есть 1.0 это всё та же цифра 1, но с указанием дробной части. 1 то же самое, что и 1.0.
В программировании очень важно различать целые и дробные значения (они требуют под себя разное количество памяти). По этому принято отображать целые числа без дробной части, а дробные значения напротив, с указанием дробной части, даже если эта самая дробная часть равна нулю.
Отсюда и появились наши дополнительные нолики.
Во-вторых, теперь наше выражение посчитано привычным для нас образом.
Таким нехитрым образом мы разорались с темой: «Математика и математические операции на языке Java«!