java,多层for()循环,if()else嵌套分别用啥替代?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,多层for()循环,if()else嵌套分别用啥替代?相关的知识,希望对你有一定的参考价值。
Rt分别用什么替代呢?
比如for()要嵌套到七八层,代码不好读不说,效率感觉也很低……
if也是,
各位有什么好的想法思路吗?
谢谢啦!
case 0:
for (int i=0; i<10; i++)
甲函数();
break;
case 1:
乙函数();
break;
default:
break;
一个函数内for很少超过3层的,而且一个函数内程序行数建议不超过50行,可以用递归,或者调用其它函数等,使程序清晰易读追问
也没有具体的内容,就是想到了这个。
for()的话比如有6个int[],要打印出六个数字,分别从每个int[]中拿出一个,把所有组合的可能全部列出来。
比如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嵌套分别用啥替代?的主要内容,如果未能解决你的问题,请参考以下文章