2 qq 33548622 qq_33548622 于 2016.01.29 13:40 提问

if 的执行、逻辑 问题。这句话能这样写吗??保不保险,标准吗?

if (kehuxinxi.getName() != null
&&isGuanyu(kehuxinxi.getName()))

if是如何执行的,先执行&&前面????

还是前面虽然不满足,又执行后面????

这句话 能这么写吗?

10个回答

bdmh
bdmh   Ds   Rxr 2016.01.29 13:42

如果第一个条件不满足,就不执行后面 条件了

showbo
showbo   Ds   Rxr 2016.01.29 13:42

&&是2个都满足才执行{}与具体,&&前面满足了才会执行&&后面的,碰到第一个为false的就不继续执行了,楼主去找本基础的书来看

Crazy_zihao
Crazy_zihao   2016.01.29 13:59

||符号连接判断条件,有任意一条条件满足即可通过判断。
&&符号连接判断条件,必须双方条件同时满足才能够通过判断。
if(条件1&&条件2)
判断顺序:先判断条件1是否符合,如果符合,判断条件2;如果不符合,跳出判断。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.29 14:05

if中的多个条件判断时有个短路原则的,具体如下:

 &&(逻辑与)操作中:if(condition1&&conditon2)如果发现condition1为false的话,整个操作就是false,第二个逻辑操作就不执行了。
||(逻辑或)操作中:if(condition1||condition2)如果发现condition1为真的话,整个或操作就为true,第二个逻辑操作就不执行了。
sinat_33721901
sinat_33721901   2016.01.29 14:38

&& 短路与 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条件

luffychao
luffychao   2016.01.29 15:11

前面不满足就不执行了,你可以去看看手册,弄清楚各个符号的含义,这样才是解决问题的根本哈。

luffychao
luffychao   2016.01.29 15:11

前面不满足就不执行了,你可以去看看手册,弄清楚各个符号的含义,这样才是解决问题的根本哈。

fk002008
fk002008   2016.01.29 15:15

短路了阿同志

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

qq_29312259
qq_29312259   2016.01.29 15:53

这么写,没问题, 短路与,先执行前面的,前面的true才再走后一个,前面的false,整个判断就false了..

HardyCheers
HardyCheers   2016.01.29 15:59

可以这么写啊,&& 并且 前后都为true时才走{},|| 或,前后有一个为true时走{}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!