算术运算符
操作符 | 描述 | 例子 |
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ | 除法 - 左操作数除以右操作数 | B / A等于2 |
% | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
++ | 自增: 操作数的值增加1 | B++ 或 ++B 等于 21 |
-- | 自减: 操作数的值减少1 | B-- 或 --B 等于 19 |
Java中,整数使用以上运算符,无论怎么计算,也不会得到小数
public static void main(String[] args){
int i = 1234;
System.out.println(i/10000*1000);//计算结果是1000
}
- 常见的三种用法
- 对于数值来说,就是加法
- 对于字符char类型来说,在计算之前,char会 被提升为int,然后再计算
- 对于字符串String来说,加号表示字符串连接操作
- ++运算,变量自己增长1,反之,--运算,变量自己减少1,用法与++一致
- ++、--在变量后,先赋值,后自身+1
- ++、--在变量前,先自身+1,后赋值
赋值运算符
操作符 | 描述 | 例子 |
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+= | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
-= | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
*= | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/= | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A等价于C = C / A |
%= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
注意事项
- 只有变量才能使用赋值运算符,常量不能进行赋值
- 复合赋值运算符其中隐含了强制类型转换
关系运算符
表格中的实例整数变量A的值为10,变量B的值为20
运算符 | 描述 | 例子 |
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假(非真)。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)非真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真。 |
案例:
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
/*
结果:
a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false
*/
注意事项
- 比较运算符的结果一定是一个boolean的值,成立则是true,不成立则是false
- 如果进行多次判断,不能连着写,例如:1<x<3(错误表示)
逻辑运算符
注意事项
- &&,||具有短路的用法
- &&表达式左边为false,右边不进行运算
- ||表达式左边为true,右边不进行运算
位运算符
三元运算符
条件运算符也被称为三元运算符。该运算符有三个操作数,并且需要判断布尔表达式的值。运算符的主要是决定哪个之应该复制给变量
数据类型 变量名 = 条件判断 ? 表达式A : 表达式B;
流程分析
- 首先判断条件是否成立
- 如果成立为true,那么将表达式A的值赋值给左侧的变量;
- 如果不成立为false,那么将表达式B的值赋值给左侧的变量;
- 二者选其一
注意事项
- 必须同时保证表达式A和表达式B都符合左侧数据类型的要求
int result = 3 > 4 ? 2.5:10;//错误举例
- 三元运算符的结果必须被使用
System.out.println(a > b ?a: b );