if (kehuxinxi.getName() != null
&&isGuanyu(kehuxinxi.getName()))
if是如何执行的,先执行&&前面????
还是前面虽然不满足,又执行后面????
这句话 能这么写吗?
如果第一个条件不满足,就不执行后面 条件了
&&是2个都满足才执行{}与具体,&&前面满足了才会执行&&后面的,碰到第一个为false的就不继续执行了,楼主去找本基础的书来看
||符号连接判断条件,有任意一条条件满足即可通过判断。
&&符号连接判断条件,必须双方条件同时满足才能够通过判断。
if(条件1&&条件2)
判断顺序:先判断条件1是否符合,如果符合,判断条件2;如果不符合,跳出判断。
if中的多个条件判断时有个短路原则的,具体如下:
&&(逻辑与)操作中:if(condition1&&conditon2)如果发现condition1为false的话,整个操作就是false,第二个逻辑操作就不执行了。
||(逻辑或)操作中:if(condition1||condition2)如果发现condition1为真的话,整个或操作就为true,第二个逻辑操作就不执行了。
&& 短路与 if(表达式1 && 表达式2) 如果表达式1结果为true 则对表达式2进行判断,如果2也是true,满足if条件,如果2是false则不满足 如果表达式1为false, 则忽略表达式2,跳出判断,直接判定不满足if条件
|| 短路或 if(表达式1 || 表达式2) 如果表达式1结果为true 则忽略表达式2 跳出判断,满足if条件; 如果表达式1为false, 则对表达式2进行判断.
如果2为false,不满足if条件,如果2是true,满足if条件
前面不满足就不执行了,你可以去看看手册,弄清楚各个符号的含义,这样才是解决问题的根本哈。
前面不满足就不执行了,你可以去看看手册,弄清楚各个符号的含义,这样才是解决问题的根本哈。
短路了阿同志
1&&1 = 1
0 && 1 =0
0 && 0 =0 所以只要你一个是0,就不用看后面了,这就是短路了
1 && 0 = 0
0 || 1 = 1
1|| 0 = 1
1 || 1 = 1 所以第一个为1就是1,不用看后面了
0 || 0 = 0
这么写,没问题, 短路与,先执行前面的,前面的true才再走后一个,前面的false,整个判断就false了..
可以这么写啊,&& 并且 前后都为true时才走{},|| 或,前后有一个为true时走{}