黑马程序员技术交流社区
标题:
逻辑运算符用法 &与&& |与||
[打印本页]
作者:
yekong262
时间:
2013-12-29 17:50
标题:
逻辑运算符用法 &与&& |与||
逻辑运算符用法 |与|| &与&& 都嘛时候用啊
作者:
松子
时间:
2013-12-29 20:08
int a = 3;
a = a++; //右边a的值是3,先赋值给左边的变量a,也就是变量本身,所以它值还是3
System.out.println(a); //3
a = ++a; //a的值是3,先自增变成4,再赋值给左边,最终a是4
System.out.println(a); //4
作者:
范晓冲
时间:
2013-12-30 01:24
主要用于逻辑判断,非常典型的一个应用是判断用户注册时是否在表单中填写了内容。如果用户没有在表单中填写内容,当用户准备填写下一个表单内容时,用户界面会出现提示信息,提示用户填写内容,即也就是通过AJAX进行表单验证。代码如下: if(userName!=null && userName.trime().length>0){.....}else{.....}
作者:
刘旭升
时间:
2013-12-30 09:00
这个你记得意思就好了,什么时候用。我们都是记忆在代码里的,你写一些代码就能记住了。
只要晓得
|| &&
有短路见效果就好了,不晓得也没关系毕竟他们的运行结果是不一样。你可以分清楚
|
和
&
就可以分清楚
|
和
||
作者:
浮出一个美
时间:
2013-12-30 15:39
首先,你得明白,&&和||是逻辑运算符,而&和|是位运算符
逻辑运算符很常用,为运算符你可以暂时不去理解。
&&表示所有条件都成立才为真,只要一个条件不成立,都为假,并且不再执行后面的条件,这就是楼上说的短路。 比如(x==5 && y==6),如果x!=5,第一个条件不成立,y==6都不用判断了,直接返回false
||表示只要有一个条件成立,就为真,还是举这个例子(x==5 ||y==5),如果x==5,那么y==5就不用判断了,直接返回true。
至于位运算符,你只要知道0为假,1为真就可以了,判断和逻辑运算符一样。
也许我说的很啰嗦,呵呵。
作者:
tuanjie
时间:
2013-12-31 11:20
位逻辑运算符:
&(与操作AND)、^(异或操作XOR)、|(或操作OR)
逻辑运算符:
&&(与操作AND)、||(或操作符OR)
区别:
“&”与“&&”的区别:使用&,左边无论真假,右边都进行参与运算;使用&&,如果左边为真,右边参与运算,如果左边为假、右边不参与运算
“|”与“||”的区别:使用“|”,左边无论真假,右边都参与运算,使用“||”,如果左边为真,右边不参与运算,如果左边为假,右边参与运算
public class TestDemo {
public static void main(String[] args) {
test7();
}
//验证"&"的使用,左边无论真假,右边都进行参与运算
//左边为假
public static void test(){
if(10!=10 & 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//左边为真
public static void test1(){
if(10==10 & 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//验证"&&"的使用,如果左边为真,右边参与运算,如果左边为假、右边不参与运算
//左边为假
public static void test2(){
if(10!=10 && 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//结果为false
//左边为真
public static void test3(){
if(10==10 && 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//验证"|"的使用,左边无论真假,右边都参与运算
//左边为假
public static void test4(){
if(10!=10 | 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//左边为真
public static void test5(){
if(10==10 | 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//验证"||"的使用,如果左边为真,右边不参与运算,如果左边为假,右边参与运算
//左边为假
public static void test6(){
if(10!=10 || 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
//左边为真
public static void test7(){
if(10==10 || 10/0==0){
System.out.println("true");
}else{
System.out.println("false");
}
}
}
/*
*测试结果:
* test()、test1()、test3()、test4()、test5()和test6()方法结果为:
* Exception in thread "main" java.lang.ArithmeticException: / by zero
*at com.cn.TestDemo.test2(TestDemo.java:29)
*at com.cn.TestDemo.main(TestDemo.java:5)
*
*test2()方法的测试结果为false
*test7()方法的测试结果为true
* */
复制代码
作者:
Zenith
时间:
2013-12-31 12:46
逻辑运算符&&和&的区别是:如果左边有false了,右边将不再执行。||和|的区别是:如果左边有true了,右边将不再执行。一般我们用的多的还是||和&& 好好看看
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2