赋值运算符以符号“=”表示。
- int a = 10;
- int b = 5;
- int c = a + b;
| 运算符 | 说明 | 实例 | 结果 |
| + | 加 | 12.45f + 15 | 27.45 |
| - | 减 | 4.56 - 0.16 | 4.4 |
| * | 乘 | 5L * 12.45f | 62.25 |
| / | 除(取整) | 7 / 2 | 3 |
| % | 除(取余数) | 7 / 2 | 1 |
除法精确计算:如果希望得到一个精确的结果,可以将操作数之一或两者都转换为浮点数
- double a = 7;
- int b = 2;
- double result = a / b; // result=3.5
-
自增自减运算符可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。
放在操作元之前:会先将变量的值+1(或-1),然后再将变量参与表达式的运算;
放在操作元之后:会先将变量参与表达式的运算,然后再将变量的值+1(或-1);
- ++a(--a); //表示在使用变量a之前,先使a的值加(减)1;
- a++(a--); //表示在使用变量a之后,再使a的值加(减)1;
-
-
- // ++a与a++的作用都相当于 a=a+1;假设a=4,则:
- b = ++a; //先将a的值+1,然后赋值给b,此时a=5,b=5;
-
- b = a++; //先将a赋值给b,再将a的值+1,此时a=5,b=4;
比较运算符的值为boolean类型。
| 运算符 | 作用 | 举例 | 操作数据 | 结果 |
| > | 比较左方是否大于右方 | 'a' > 'b' | 整型、浮点型,字符型 | false |
| < | 比较左方是否小于右方 | 156 < 157 | 整型、浮点型,字符型 | true |
| == | 比较左方是否等于右方 | 'c' == 'c' | 基本数据类型,引用型 | true |
| >= | 比较左方是否大于等于右方 | 479 >= 479 | 整型、浮点型,字符型 | true |
| <= | 比较左方是否小于等于右方 | 12.45 <= 45.5 | 整型、浮点型,字符型 | true |
| != | 比较左方是否不等于右方 | 'y' != 't' | 基本数据类型,引用型 | true |
| 运算符 | 含义 | 用法 | 结合方向 |
| &&、& | 逻辑与 | op1 && op2 | 从左到右 |
| || | 逻辑或 | op1 || op2 | 从左到右 |
| ! | 逻辑非 | !op | 从右到左 |
逻辑运算符【&&】与【&】的区别:
都表示逻辑与,【&】会判断两个表达式,而【&&】则针对boolean类型的类进行判断,当第一个表达式为false时则不会去判断第二个表达式,所以【&&】属于“短路”运算符,【&】属于非短路运算符。常用【&&】”短路“运算符。
- public class Caculation {
- public static void main(String[] args) {
- int a = 2;
- int b = 5;
- boolean result = ((a > b) && (a != b));
- boolean result2 = (a > b || a != b);
- System.out.println(result);
- System.out.println(result2);
- }
- }
-
- 输出:
- false
- true
平时一般用不到,忽略。
三元运算符运算规则:若条件式的值为true,则整个表达式取值1,否则取值2.
- public class Caculation {
- public static void main(String[] args) {
- String c = 20 < 40 ? "错误" : "正确";
- System.out.println(c);
- //等价于
- String d;
- if(20<40)
- d = "错误";
- else
- d = "正确";
- System.out.printf(d);
- }
- }
- 输出:
- 错误
- 错误
| 优先级 | 描述 | 运算符 |
| 1 | 括号 | () |
| 2 | 正负号 | +、- |
| 3 | 一元运算符 | ++、--、! |
| 4 | 乘除 | *、/、% |
| 5 | 加减 | +、- |
| 6 | 移位运算 | >>、>>>、<< |
| 7 | 比较大小 | <、>、>=、<= |
| 8 | 比较是否相等 | ==、!= |
| 9 | 按位与运算 | & |
| 10 | 按位异或运算 | ^ |
| 11 | 按位或运算 | | |
| 12 | 逻辑与运算 | && |
| 13 | 逻辑或运算 | || |
| 14 | 三元运算符 | ? : |
| 15 | 赋值运算符 | = |
编写程序时尽量使用括号运算符【()】来限定运算次序,以免产生错误的运算顺序。