一. 知识梳理
1. 算术运算
算术运算符:+,-,*,/,%;
除法又分为浮点除法和整数除法;
整数被0除会产生异常,浮点数被0除得到无穷大;
2. 位运算
位运算符:&,|,^,~
3.关系运算
关系运算符:==,!=,!,<,>,<=,>=,&&,||,?:等;
其中&&与||如果第一个操作数已经能够确定结果则第二个操作数不用计算了;
4.自增&自减
前缀法,后缀法;
二. Q&A
>>, <<左移右移操作??
自增,自减与其他运算符的优先级碰撞??
语法分析的顺序??
运算符的优先级顺序??
三. 实例分析
(1)
double a = 1;
double b = 0;
System.out.print(a/b);
输出:Infinity
(2)
int a = 1;
int b = 0;
System.out.print(a/b);
输出:Exception in thread "main" java.lang.ArithmeticException: / by zero
(3)
int a = 1;
int c = a++;
System.out.print(c);
输出:1
(4)
int a = 1;
int c = ++a;
System.out.print(c);
输出:2
(5)
int a = 1;
int b = 2;
int c = a+++b;
System.out.print(c);
输出:3
(6)
int a = 1;
int b = 2;
int c = ++a+b;
System.out.print(c);
输出:4