2 qq 33548622 qq_33548622 于 2016.01.29 13:22 提问

if/else简化逻辑!帮我看看能不能简化!

if(a){
if(b){
}else {
c方法
}
}else{
c方法
}

    能不能简化一下?主要是得正确!

    if (kehuxinxi.getLastqiandaotime() != null&&isToday(kehuxinxi.getLastqiandaotime()))    这句话 能这么写吗?主要是这...

9个回答

yang_chengfeng
yang_chengfeng   2016.01.30 18:53
已采纳
 if(a){
    if(b){
        ...
    } else {
        C方法
    }
} else {
    C方法
}

① 满足条件a,在不满足条件b时,执行C
② 满足条件!a,执行C
总的来说:只有在满足a之后并且满足b才不执行c
其代码为:

 if(a&&b){
    ...
} else {

}
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.29 13:24
   if(a&&b){}else{c方法}
wojiushiwo945you
wojiushiwo945you 回复qq_33548622: 是的,看你的需求是可以这么写的。
接近 2 年之前 回复
qq_33548622
qq_33548622 if (kehuxinxi.getLastqiandaotime() != null&&isToday(kehuxinxi.getLastqiandaotime())) 这句话 能这么写吗?主要是这...
接近 2 年之前 回复
bdmh
bdmh   Ds   Rxr 2016.01.29 13:27

你现在都是调用C方法,所以按一楼的可以,如果调用方法不一样,就不行了,只能按你这样

Yiran8935
Yiran8935 回复qq_33548622: 可以这么写,之前要对kehuxinxi做一个非空判断
接近 2 年之前 回复
qq_33548622
qq_33548622 if (kehuxinxi.getLastqiandaotime() != null&&isToday(kehuxinxi.getLastqiandaotime())) 这句话 能这么写吗?主要是这...
接近 2 年之前 回复
fk002008
fk002008   2016.02.01 00:52

f(a){
if(b){
}else {
c方法
}
}else{
c方法
}

你看这个 条件是这样的 :条件是 a和b,把关系式组合下
a b 不执行c
a !b 执行c
!a b 执行c
!a !b 执行c

所以你看看这个逻辑简化为

if (!(a&&b)) 
    //执行C
Royal_lr
Royal_lr   Ds   Rxr 2016.01.29 13:47

判断较多的话建议用switch case

Yiran8935
Yiran8935 switch只能用结果是数字和字符集的处理
接近 2 年之前 回复
qq_33327210
qq_33327210   2016.01.29 17:43

if((A&&!b)&&!a){}

qq_33327210
qq_33327210   2016.01.29 17:43

if((A&&!b)&&!a){}

qq_33327210
qq_33327210   2016.01.29 17:43

错了if((a&&!b)||!a){}

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2016.01.30 17:54

if(a&&!b||!a){}

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