结论
-
>>> 和 ^ 的顺序、>> 和 ^ 的顺序、<< 和 ^ 的顺序
- >>>(>>、<<) 比 ^ 先执行
-
^ | 的顺序
-
^ | 的顺序 从左至右
-
^ & 的顺序
-
& 比 ^ 先执行
-
& | 的顺序
-
& | 从左至右
- ……我只是依照现在的数据得到的结果,建议大家根据自己所使用的结果去进行一些判断,想要保障结果的绝对性,使用()去进行操作,从而让程序按照我们设定的步骤去走
演算 基于 jdk1.8.0_51
System.out.println(">>> 和 ^ 的顺序:");
System.out.println("'d' ^ 'a' >>> 8 => "+('d' ^ 'a' >>> 8));
System.out.println("('d' ^ 'a') >>> 8) => "+(('d' ^ 'a') >>> 8));
System.out.println("'d' ^ ('a' >>> 8)) => "+('d' ^ ('a' >>> 8)));
System.out.println(">> 和 ^ 的顺序:");
System.out.println("'d' ^ 'a' >> 8 => "+('d' ^ 'a' >> 8));
System.out.println("('d' ^ 'a') >> 8) => "+(('d' ^ 'a') >> 8));
System.out.println("'d' ^ ('a' >> 8)) => "+('d' ^ ('a' >> 8)));
System.out.println("<< 和 ^ 的顺序:");
System.out.println("'d' ^ 'a' << 8 => "+('d' ^ 'a' << 8));
System.out.println("('d' ^ 'a') << 8) => "+(('d' ^ 'a') << 8));
System.out.println("'d' ^ ('a' << 8)) => "+('d' ^ ('a' << 8)));
System.out.println(">> 和 >>>的顺序");
System.out.println("('d' >> 'a' >>> '8') ==> "+('d' >> 'a' >>> '8'));
System.out.println("(('d' >> 'a') >>> '8') ==> "+(('d' >> 'a') >>> '8'));
System.out.println("('d' >> ('a' >>> '8')) => "+('d' >> ('a' >>> '8')));
System.out.println("^ | 的顺序:");
System.out.println("('d' ^ 'a' | 8) => "+('d' ^ 'a' | 8));
System.out.println("(('d' ^ 'a') | 8) => "+(('d' ^ 'a') | 8));
System.out.println("('d' ^ ('a' | 8)) => "+('d' ^ ('a' | 8)));
System.out.println("^ & 的顺序:");
System.out.println("('d' ^ 'a' & 8) => "+('d' ^ 'a' & 8));
System.out.println("(('d' ^ 'a') & 8) => "+(('d' ^ 'a') & 8));
System.out.println("('d' ^ ('a' & 8)) => "+('d' ^ ('a' & 8)));
System.out.println("^ | 的顺序:");
System.out.println("('d' ^ 'a' | 8) => "+('d' ^ 'a' | 8));
System.out.println("(('d' ^ 'a') | 8) => "+(('d' ^ 'a') | 8));
System.out.println("('d' ^ ('a' | 8)) => "+('d' ^ ('a' | 8)));
System.out.println("& | 的顺序:");
System.out.println("('d' & 'a' | 8) => "+('d' & 'a' | 8));
System.out.println("(('d' & 'a') | 8) => "+(('d' & 'a') | 8));
System.out.println("('d' & ('a' | 8)) => "+('d' & ('a' | 8)));