1.分隔符(;(){})小括号的优先级最高
2.单目运算符 ++ -- ~ !
3.强制类型转换符 如:double a=(double)20;
4.乘法,除法,摸运算(%)
5.加法和减法
6.位运算的移位运算 << >> >>>
7.关系运算符的比较运算 < <= > >=
8.关系运算符的等价符 ==和 =!
9.位运算的按位与 &
10.位运算的按位异或 ^
11.位运算的按位或 |
12.短路与 &&
13.短路或 ||
14.三目运算符
15.赋值运算符
import java.util.*;
class Expression{
public static void main(String[] args){
boolean q,w,e,r,t,y,u,i,o,p;
int a,b,c,d;
a=1;
b=2;
c=3;
d=4;
//1.
q=(a*b++)>a||c+b>a;
//因为刚开始,所以要点简单
//先算左边的都对,右边也是,所以这道题是true
//2.
w=(a ^ b)>c||d*c<a++;
//因为第一题 b=3 了,所以a^b=2 比c小 错
//右边的也是错的 false a=2
//3.
e=b!=a++&&(a & b)<d;
//左边是对的,所以a=3 a&b=3<d, true
//4.
r=(a | c++)==b&&a++ + d>d;
// a|c++=3 == b 右边也对 true
//5.
t=d==(c&d)&&d++ - c+a==c;
//true d=5 了
//6.
y=(a^b)<d||a+c==d&&c*d>d;
// (a^b)<d || (a+c==d && c*d>d) a+c==d 错的 false
//7.
u=d+c>a&&(d|c)==d|| ++a/d<b;
// (d+c>a&&(d|c)==d) || ++a/d<b 都是对的 true
//因为这是短路或 且 左边的对了 所以右边的不再计算
//8.
i=a*b<c*d||a<c||a>b;
//就算 a<c 是错的 但表达式是短路或 且左边对了 所以还是true
//9.
o=++d/b<c||a++*c>d||b++>d;
//因为这是短路或 且 左边的对了 所以右边的不再计算 true
//d=6 a和b不变
//10.
p=a<<2>d>>2||(b^c)== ++d&&d-c==b;
//a<<2=16 > d>>2=1 短路或 true
System.out.println(q);
System.out.println(w);
System.out.println(e);
System.out.println(r);
System.out.println(t);
System.out.println(y);
System.out.println(u);
System.out.println(i);
System.out.println(o);
System.out.println(p);
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("c:"+c);
System.out.println("d:"+d);
}
}