各位大大,这个是我们课本的答案,是不是有错了
题目是:简述&&与&的区别并举例说明。
答案:如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x < y & x / 2 > 0是不会出现这种异常的,因为x < y为false,表达式x / y不会执行。
是不是,应该改成
如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x < y & x / y > 0 表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x < y && x / y > 0 是不会出现这种异常的,因为x < y为false,表达式x / y不会执行。