java,多层for()循环,if()else嵌套分别用啥替代?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,多层for()循环,if()else嵌套分别用啥替代?相关的知识,希望对你有一定的参考价值。

Rt分别用什么替代呢?
比如for()要嵌套到七八层,代码不好读不说,效率感觉也很低……
if也是,
各位有什么好的想法思路吗?
谢谢啦!

那要看他们的条件了,如果条件的规律的话,if()else用switch代替,for()用递归代替 参考技术A swith (xxx)
case 0:
for (int i=0; i<10; i++)
甲函数();

break;
case 1:
乙函数();
break;
default:
break;


一个函数内for很少超过3层的,而且一个函数内程序行数建议不超过50行,可以用递归,或者调用其它函数等,使程序清晰易读追问

也没有具体的内容,就是想到了这个。
for()的话比如有6个int[],要打印出六个数字,分别从每个int[]中拿出一个,把所有组合的可能全部列出来。

参考技术B 就像楼上说的可以使用switch语句,一般for循环使用的较多的情况是迭代
比如List<String> nameList = new ArrayList<String>();
接着你给nameList一些String值,使用for-each循环
for(String name : nameList)

// do something


如果需要对某些name做额外的处理的话,那么这么使用是不行的,可能需要使用Iterator
参考技术C switch语句 参考技术D 具体的循环内容是什么追问

也没有具体的内容,就是想到了这个。
我补充了一下举了个例子

阿昌之丑陋代码优化多层嵌套if-else

前言

平常我们在实际业务开发中,如果有多层条件判断的情况下,一般像阿昌我这种菜鸡,都会直接想到if-else的多层嵌套去完成这个业务的开发,但是如果业务的逻辑很复杂庞大,代码的可读性就会很差,这里在记录的小破站上学习到的一种方法,通过do-while的方式

这里做记录,以免我这小脑袋忘记和方便回想起来。

情景模拟

  • 这里模拟3层if-else的多层嵌套
@Test
void doHandler() 
    Boolean isHuman = true;
    Boolean isMan = true;
    Boolean isSixAge = true;
    Boolean flag = false;

    if (isHuman) 
        if (isMan) 
            if (isSixAge) 
                flag = true;
             else 
                System.out.println("他不是6岁");
            
         else 
            System.out.println("他不是男性");
        
     else 
        System.out.println("他不是人类");
    
    System.out.println(flag);


正文

上面就出现了3层的嵌套,这里就会让可读性很差

那这里提供一种将多层的嵌套,变成一层的if-else

  • 采用do-while
@Test
void test()
    Boolean isHuman = true;
    Boolean isMan = true;
    Boolean isSixAge = false;
    Boolean flag = false;

    do 
        if (!isHuman)
            System.out.println("他不是人类");
            break;
        
        if (!isMan)
            System.out.println("他不是男性");
            break;
        
        if (!isSixAge)
            System.out.println("他不是6岁");
            break;
        
        flag=true;
    while (false);
    System.out.println(flag);

上面这样子就可以解决多层的if-else多层嵌套的问题,重构成一层


就是这次记录的全部内容了,感谢你能看到这里!!! 小破站地址

以上是关于java,多层for()循环,if()else嵌套分别用啥替代?的主要内容,如果未能解决你的问题,请参考以下文章

Java 基本语法---流程控制

Java Review (流程控制)

Java Review (流程控制)

关于C语言,多层嵌套的if语句。

python学习第四天

Java中的结构语句