本帖最后由 垂天云 于 2013-9-11 18:54 编辑
- class Test1
- {
- public static void main(String[] args)
- {
- int x=0,y=1;
- if(++x==y-- & x++==1 || --y==0)
- System.out.println("x="+x+",y="+y);
- else
- System.out.println("y="+y+",x="+x);
- }
- }
- /*
- 解析:
- 从式子中可以看出,由于是单与和双或,因此执行顺序是从左往右的,然后
- 1. ++x -->x先自增,然后进行运算,即x=1;而y--则是先进行运算后再进行自减,
- 即1 == 1-- --> true,x值为1,y值为0;
- 2.由于是单与&符号,因此就要两边表达式都要进行判断,所以去执行 x++ ==1,
- x在值为1的前提下,所得1 == 1 -->true ,x再自增为2
- 3.由于是双或||符号,其规则就是只要左边为true右边则不进行运算,因此
- 通过分析得知if语句中的表达式为true,则执行作用域中的语句,即x=2,y=0
- */
复制代码 本练习
主要考察逻辑运算符:
优先级由高到低:
算术运算符
比较运算符
逻辑运算符:&& ,|| ,!
赋值运算符:= ,+=
建议楼主多看看老毕的视频,说的很详细的,嘿嘿。
|