Java教程 - Java算术运算符
在数学表达式中使用算术运算符。
所有算术运算符
下表列出了算术运算符:
运算符 | 结果 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 余数 |
++ | 自增 |
+= | 加法分配 |
-= | 减法分配 |
*= | 乘法分配 |
/= | 除法分配 |
%= | 模量分配 |
- - | 自减 |
算术运算符的操作数必须是数字类型。您不能在 boolean
类型上使用算术运算符,但可以在 char
类型上使用它们。
基本算术运算是加法,减法,乘法和除法。他们的行为正如你所期望的。减运算符也有一个一元形式,它取消它的单个操作数。
下面的快速演示显示了如何在Java中进行简单的计算基本算术运算符。
public class Main {
public static void main(String args[]) {
System.out.println("Integer Arithmetic");
int a = 1 + 1;
int b = a * 3;
int c = b / 4;
int d = c - a;
int 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);
int x = 42;
System.out.println("x mod 10 = " + x % 10);
double y = 42.25;
System.out.println("y mod 10 = " + y % 10);
}
}
输出:
Integer Arithmetic
a = 2
b = 6
c = 1 //注意 6/4要想出现1.5 float c = 6/4f;/double c = 6/4d;
d = -1
e = 1
x mod 10 = 2
y mod 10 = 2.25
模运算符%
返回除法运算的余数。模运算符可以应用于浮点类型以及整数类型。
Java复合分配操作符
语句如下
a = a + 4;
可以重写为
a += 4;
两个语句执行相同的操作:它们将 a
的值增加4。
任何形式的声明
var = var op expression; //op代表运算符 + - * /
可以重写为
var op= expression;
这里是一个示例程序,显示了几个 op=
操作符赋值:
public class Main {
public static void main(String args[]) {
int a = 1;
int b = 2;
int c = 3;
a += 1;
b *= 2;
c += a * b;
c %= 3;
System.out.println("a = " + a);//2
System.out.println("b = " + b);//4
System.out.println("c = " + c);//5%3 =2
}
}
输出:
Java增量和减量运算符
++
和 --
是Java的递增和递减运算符。增量运算符++
会将其操作数增加1。递减运算符--
将其操作数减1。
增量和减量运算符之间的不同:
例如,这个语句:
x = x + 1;
//可以这样通过增量运算符重写
x++;
x = x - 1;
//可以这样通过增量运算符重写
x--;
递增和递减运算符是唯一的,因为它们可以以后缀形式和前缀形式出现。在后缀形式中,它们遵循操作数,例如 i++
。在前缀形式中,它们在操作数之前,例如, --i
。
当增量和/或减量运算符是部分时,这两种形式之间的差异出现的较大表达式。在前缀形式中,操作数在表达式中使用值之前递增或递减。在后缀形式中,在表达式中使用该值,然后修改操作数。
下表总结了前后递增和递减操作之间的差异:
x的初始值 | 表达 | y的最终值 | x的最终值 |
---|---|---|---|
5 | y = x ++ | 5 | 6 |
5 | y = ++ x | 6 | 6 |
5 | y = x- - | 5 | 4 |
5 | y = --x | 4 | 4 |
例如:
x = 42;
y = ++x;
//y 设置为43,因为增量在x分配给y之前发生。 因此
//y = ++x;是相当于这两个语句:
//x = x + 1;
//y = x;
//反之亦然
以下程序演示了增量运算符。
public class Main {
public static void main(String args[]) {
int a = 1;
int b = 2;
int c = ++b;
int d = a++;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
}
}
该程序的输出如下:
a = 2
b = 3
c = 3
d = 1
来源:CSDN
作者:bamboo_ch
链接:https://blog.csdn.net/bamboo_ch/article/details/104019911