Арифметические операторы Java
Описание
Мы можем использовать арифметические операторы для выполнения вычислений со значениями в программах. Арифметические операторы используются в математических выражениях так же, как они используются в алгебре. Значение, используемое по обе стороны от оператора, называется операндом. Например, в приведенном ниже выражении выражения 47 + 3 числа 47 и 3 являются операндами. Арифметические операторы являются примерами бинарных операторов, потому что они требуют двух операндов. Операнды арифметических операторов должны быть числового типа. Вы не можете использовать их в логических типах, но вы можете использовать их в типах char, так как тип char в Java, по сути, является подмножеством int.
int a = 47 + 3;
оператор | использование | Описание | пример |
---|---|---|---|
+ | х + у | Добавляет х и у | число с плавающей запятой = 23,4 + 1,6; // номер = 25 |
- | х - у | Вычитает у из х | длинный n = 12,456-2,456; // п = 10 |
-Икс | Арифметически отрицает х | int i = 10; -я; // я = -10 | |
* | х * у | Умножает х на у | int m = 10 * 2; // m = 20 |
/ | х / у | Делит х на у | float div = 20/100; // div = 0.2 |
% | х% у | Вычисляет остаток от деления х на у | int rm = 20/3; // rm = 2 |
В Java вам нужно знать тип результата двоичного (с двумя аргументами) арифметического оператора.
- Если один из операндов имеет тип double, другой преобразуется в двойной.
- В противном случае, если один из операндов имеет тип float, другой преобразуется в float.
- В противном случае, если один из операндов имеет тип long, другой преобразуется в long.
- В противном случае оба операнда преобразуются в тип int.
Для унарных (с одним аргументом) арифметических операторов:
- Если операнд имеет тип byte, short или char, то результатом является значение типа int.
- В противном случае унарный числовой операнд остается как есть и не преобразуется.
Основные арифметические операции - сложение, вычитание, умножение и деление - ведут себя так, как и следовало ожидать для всех числовых типов. Оператор минус также имеет унарную форму, которая сводит на нет его единственный операнд. Помните, что когда оператор деления применяется к целочисленному типу, к результату не будет добавлен дробный компонент.
Следующая простая программа демонстрирует арифметические операторы. Это также иллюстрирует разницу между делением с плавающей точкой и целочисленным делением.
Java-код: перейти к редактору
public class ArithmeticOperatorDemo {
// Demonstrate the basic arithmetic operators.
public static void main(String args[]) {
// arithmetic using integers
System.out.println("Integer Arithmetic");
int i = 1 + 1;
int n = i * 3;
int m = n / 4;
int p = m - i;
int q = -p;
System.out.println("i =" + i);
System.out.println("n =" + n);
System.out.println("m =" + m);
System.out.println("p =" + p);
System.out.println("q =" + q);
// arithmetic using doubles
System.out.println("\nFloating Point Arithmetic");
double a = 1 + 1;
double b = a * 3;
double c = b / 4;
double d = c - a;
double e = -d;
System.out.println("a =" + a);
System.out.println("b =" + b);
System.out.println("c =" + c);
System.out.println("d =" + d);
System.out.println("e =" + e);
}
}
Выход:
Оператор модуля
Оператор модуля% возвращает остаток от операции деления. Его можно применять к типам с плавающей точкой, а также к целочисленным типам. В следующем примере программы демонстрируется%:
Java-код: перейти к редактору
public class RemainderDemo {
public static void main (String [] args) {
int x = 15;
int int_remainder = x % 10;
System.out.println("The result of 15 % 10 is the "
+ "remainder of 15 divided by 10. The remainder is " + int_remainder);
double d = 15.25;
double double_remainder= d % 10;
System.out.println("The result of 15.25 % 10 is the "
+ "remainder of 15.25 divided by 10. The remainder is " + double_remainder);
}
}
Выход:
Кроме того, есть несколько причуд, чтобы иметь в виду деление на 0:
- Ненулевое значение с плавающей точкой, деленное на 0, приводит к бесконечности со знаком. 0.0 / 0.0 результаты isNaN.
- Ненулевое целочисленное значение, деленное на целое число 0, приведет к ArithmeticException во время выполнения
Сокращенные арифметические операторы (оператор увеличения и уменьшения)
Оператор приращения увеличивает свой операнд на единицу. Оператор декремента уменьшает свой операнд на единицу. Например, это утверждение:
х = х + 1;
х ++;
Оператор декремента аналогичным образом
х = х - 1;
эквивалентно
Икс--;
Эти операторы уникальны тем, что могут появляться как в форме постфикса, где они следуют за операндом, как только что показано, так и в форме префикса, где они предшествуют операнду. В вышеприведенных примерах нет разницы между префиксной и постфиксной формами. Однако, когда операторы увеличения и / или уменьшения являются частью большего выражения, тогда появляется тонкое, но мощное различие между этими двумя формами. В префиксной форме операнд увеличивается или уменьшается до получения значения для использования в выражении. В постфиксной форме предыдущее значение получается для использования в выражении, а затем модифицируется операнд. Давайте разберем эту концепцию с помощью приведенного ниже примера,
Java-код: перейти к редактору
открытый класс ShortcutArithmeticOpdemo { public static void main (String [] args) { int a, b, c, d; а = Ь = с = d = 100; int p = a ++; int r = c--; int q = ++ b; int s = --d; System.out.println ("префиксный оператор приращения result =" + p + "& Value of a =" + a); System.out.println ("префиксный оператор декремента result =" + r + "& Value of c =" + c); System.out.println ("постфиксный оператор приращения result =" + q + "& Value of b =" + b); System.out.println ("оператор постфиксного декремента result =" + s + "& Value of d =" + d); } }
Выход:
Резюме
- Арифметические операторы используются в математических выражениях.
- Арифметические операторы: + (сложение), - (вычитание), * (умножение), / (деление) и% (напоминание).
- Java предоставляет встроенные операторы сложения и вычитания при коротком замыкании.
Редактор кода Java:
Предыдущий: оператор присваивания
Далее: условный оператор
Новый контент: Composer: менеджер зависимостей для PHP , R программирования