在java中,运算符构成了这种编程语言基础的重要部分。如果不能执行简单的操作,你就无法取得很大的进展。这就是为什么运算符是java的基础和重要组成部分,允许进行编程中最常见的操作。
进行计算、判断真假、确定关系,你都需要使用运算符。这不仅适用于java,也适用于其他所有编程语言。
在这篇博文中,我们将介绍java中最常用的运算符,以及一些示例,让你了解它们的工作原理。让我们开始吧!
什么是java运算符?
运算符在编程中经常被使用。基本上,运算符是允许你对一个或多个值(称为操作数)进行操作的符号。不管是赋值运算符(=)还是三元运算符(?),程序中经常会有大量的运算符。我们现在将介绍最常见的几种运算符。
算术运算符
顾名思义,算术运算符允许你进行数学运算。它们适用于任何数字数据类型。
此示例展示了算术、关系、逻辑、一元、三元和位运算符的作用。
©jingzhengli.com
加法(+)
加法运算符允许你将两个数相加。在这里,sum将是3和5的和:
int sum = 3 + 5; // sum将是8 |
它还可以用于连接(或添加)两个字符串。在这里,result变成了“hello ”和“world!”的连接。
string result = “hello ” + “world!”; // result将是“hello world!” |
减法(-)
减法运算符允许你从一个数中减去另一个数。在这里,difference将是5和3的差:
int difference = 5 – 3; // difference将是2 |
乘法(*)
乘法运算符允许你将两个数相乘。在这里,product将是5和3的积:
int product = 5 * 3; // product将是15 |
除法(/)
除法运算符允许你将两个数相除。如果两个操作数都是整数,则将进行“地板除法”,即商将被取整。为了避免这种情况,至少有一个操作数必须是浮点数。在这里,quotient将是5和3的地板除法商:
int quotient = 5 / 3; // quotient将是1 |
取余(%)
取余运算符允许你对一个数进行模运算,即除以另一个数后得到的余数。在这里,remainder将是10模3的余数:
int remainder = 10 % 3; // remainder将是1 |
递增(++)
递增运算符将一个变量增加1。如果运算符在变量之前,变量将增加1,并返回增加后的值。然而,如果运算符在变量之后,将返回增加前的值。
int a = 5; a++; // a将变成6 |
递减 (–)
递减操作符将变量减1。如果操作符在变量之前,变量将减1,并返回减少后的值。然而,如果操作符在变量之后,将返回减少之前的值。
int a = 5; a–; // a将变成4 |
赋值运算符
赋值运算符 (=)
赋值运算符很简单:它允许你将一个值赋给一个变量。例如,如果你写:
int a = 5; |
那么 a 的值将是5。
复合赋值运算符
赋值运算符可以与其他算术和位运算符结合使用(这些将在后面介绍)。这意味着你可以写成:
[变量] [复合赋值运算符] [操作数] |
搞不清楚?这些例子应该会帮到你。这包括所有的复合赋值运算符:
int x = 10; x += 5; // 等价于 x = x + 5; (x将变成15) int y = 8; int z = 6; int a = 16; int b = 11; int c = 9; int d = 7; int e = 10; int f = 16; int g = 32; int h = -16; |
比较运算符
比较运算符比较两个操作数,并根据结果返回一个布尔值 (true 或 false)。
等于 (==)
等于运算符检查两个值是否相等。
int a = 5; int b = 3; boolean result = (a == b); // result将是false |
不等于 (!=)
不等于运算符检查两个值是否不相等。
int a = 5; int b = 3; boolean result = (a != b); // result将是true |
大于 (>)
大于运算符检查左操作数是否大于右操作数。
int a = 5; int b = 3; boolean result = (a > b); // result将是true |
小于 (<)
小于运算符检查左操作数是否小于右操作数。
int a = 5; int b = 3; boolean result = (a < b); // 结果为false |
大于或等于 (>=)
大于或等于运算符检查两个操作数是否相等,或者左操作数是否大于右操作数。
int a = 5; int b = 3; boolean result = (a < b); // 结果为false |
小于或等于 (<=)
小于或等于运算符检查两个操作数是否相等,或者左操作数是否小于右操作数。
int a = 5; int b = 3; boolean result = (a <= b); // 结果为false |
逻辑运算符
逻辑运算符对布尔值进行操作,并根据操作数之间的关系返回布尔值。注意,操作数不一定是字面上的布尔值(true 或 false),它们通常是自己的表达式,其求值结果为布尔值。
逻辑与 (&&)
逻辑与运算符检查两个操作数是否都为true。
boolean a = true; boolean b = false; boolean result = (a && b); // 结果为false |
逻辑或 (||)
逻辑或运算符检查两个操作数是否至少有一个为true。
boolean a = true; boolean b = false; boolean result = (a || b); // 结果为true |
逻辑非 (!)
逻辑非运算符将操作数的真值取反。
boolean a = true; boolean result = !a; // 结果为false |
位运算符
位运算符是对数值进行位级操作的运算符。它们根据操作数的不同返回不同的数值。
位与 (&)
位与运算符返回一个数,其二进制位中,两个操作数的对应位都为1时,结果位为1,否则为0。
int a = 5; // 二进制:00000101 int b = 3; // 二进制:00000011 int result = a & b; // 二进制:00000001 (结果为1) |
位或 (|)
位或运算符返回一个数,其二进制位中,两个操作数的对应位中至少有一个为1时,结果位为1,否则为0。
int a = 5; // 二进制:00000101 int b = 3; // 二进制:00000011 int result = a | b; // 二进制:00000111 (结果为7) |
位异或 (^)
位异或运算符返回一个数,其二进制位中,两个操作数的对应位中有一个1,但不同时为1时,结果位为1,否则为0。
int a = 5; // 二进制: 00000101 int b = 3; // 二进制: 00000011 int result = a ^ b; // 二进制: 00000110 (结果为6) |
位非(~)
位非运算符将返回一个数字,其中操作数的位为0的地方将为1,操作数的位为1的地方将为0。
int a = 5; // 二进制: 00000101 int result = ~a; // 二进制: 11111010 (结果为-6) |
左移(<<)
左移运算符将返回一个数字,其所有位都是由右操作数指定的次数左移的左操作数的位。
int a = 5; // 二进制: 00000101 int result = a << 2; // 二进制: 00010100 (结果为20) |
右移(>>)
右移运算符将返回一个数字,其所有位都是由右操作数指定的次数右移的左操作数的位。左侧的新位位置将用原始符号位(第一位)填充。
int a = 16; // 二进制: 00010000 int result = a >> 2; // 二进制: 00000100 (结果为4) |
无符号右移(>>>)
无符号右移运算符将返回一个数字,其所有位都是由右操作数指定的次数右移的左操作数的位,但左侧的所有位将用0填充,而不管数字的符号如何。
int a = -16; // 二进制: 11110000 int result = a >>> 2; // 二进制: 00111100 (结果为60) |
三元运算符(?)
三元运算符的名称来源于它所操作的操作数的数量:三个。
逻辑非运算符是一元运算符,因为它作用于一个操作数。加法运算符是二元运算符,因为它作用于两个操作数。因此,作用于三个操作数的运算符是三元运算符。有道理,对吧?
三元运算符是在java中编写条件表达式的简洁方式。它的一般形式如下:
[条件] ? [真表达式] : [假表达式] |
如果条件为真,则三元运算符将返回真表达式,如果条件为假,则返回假表达式。例如,以下是使用三元运算符确定最大数的方法:
int a = 5; int b = 3; int max = (a > b) ? a : b; // max将等于a |
java中的运算符:总结
运算符是java的重要组成部分,并且它们将在通过编程实现的任何类型的任务中被使用。通过了解所有这些运算符,您将能够最好地处理问题,如您所知,最简单的方式。
如果您试图掌握这门语言,那么没有办法避免在java中使用运算符。因此,我们鼓励您学习更多关于运算符的知识,并在编程过程中充分利用它们!