【操作符】 - 逻辑操作符

来源:互联网 发布:淘宝上的泡脚粉有用吗 编辑:程序博客网 时间:2024/06/05 20:19

一:逻辑操作符:

与:&&

或:||

非:!

二:&& 和 & 

&& 逻辑与运算,返回boolean类型,只有当所有条件同时满足时才返回ture,并且有短路作用;

&   既可以做逻辑与运算也可以当做位运算符,当做位运算符时,会将两个数字先转化为二进制数字,然后相同位的数字进行与运算,如果两个数字位数不等,则较少的那个数字高位补足之后再进行计算。

public class Caozuofu {static boolean xy(int x,int y){boolean xy = x==y;System.out.println("执行xy()方法并返回结果:"+xy);return xy;}static boolean yz(int y,int z){boolean yz = y==z;System.out.println("执行yz()方法并返回结果:"+yz);return yz;}public static void main(String[] args) {int a = 1;int b = 2;int c = 3;System.out.println("下面测试“&&”的用法:");boolean two = xy(a,b) && yz(b,c);System.out.println("“&&”测试结束:" + two);System.out.println("***************************  我是分割线    ****************************");System.out.println("下面测试“&”的用法:");boolean one = xy(a,b) & yz(b,c);System.out.println("“&”测试结束:" + one);System.out.println("***************************  我是分割线    ****************************");if(a==b && b==c){System.out.println("相等");}else{System.out.println("不相等");}System.out.println("***************************  我是分割线    ****************************");System.out.println(170&204);}}

输出结果:

下面测试“&&”的用法:执行xy()方法并返回结果:false“&&”测试结束:false***************************  我是分割线    ****************************下面测试“&”的用法:执行xy()方法并返回结果:false执行yz()方法并返回结果:false“&”测试结束:false***************************  我是分割线    ****************************不相等***************************  我是分割线    ****************************136
可知,&会运算所有的方法,但是&&只要第一个方法不满足就不再进行运算,这就是传说中的“短路”现象。


三:实验遇到的问题:

1:xy()和yz()方法为什么不能放在main方法之内?

2:xy()&&yz()前面为什么必须boolean boo ?而不能只有一个运算式不管他的返回值?也就是必须这样:boolean boo = xy()&&yz(),不能这样:xy()&&yz()




原创粉丝点击