【java学习】控制执行流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunshineTan/article/details/82893262

1,for循环

1.1 for执行顺序

for(表达式1;表达式2;表达式3){

}

先执行表达式1–>然后执行表达式2,如果为false,结束循环,否则执行循环体–>执行表达式3

1.2 foreach循环

for(Object item : ObjectList){
}

1.3 循环效率比较

在 JDK1.5 之后,至少有三种遍历的方式:ForEach、迭代器、for循环。

直接for循环效率最高,其次是迭代器和 ForEach操作。
对于集合,ArrayList手写的循环比增强型for循环更快,其他的集合没有这种情况。因此默认情况下使用增强型for循环,而遍历ArrayList使用传统的循环方式。

作为语法糖,其实 ForEach 编译成 字节码之后,使用的是迭代器实现的,反编译后,testForEach方法如下:

    public static void testForEach(List list) {  
        for (Iterator iterator = list.iterator(); iterator.hasNext();) {  
            Object t = iterator.next();  
            Object obj = t;  
        }  
    }  
//可以看到,只比迭代器遍历多了生成中间变量这一步,因为性能也略微下降了一些。

2,while循环

2.1 while执行顺序

while(表达式1){
    表达式2;
}

每次循环,先执行表达式1,再执行表达式2.

2.2 do-while执行顺序

do{
    表达式1;
}while(表达式2);

每次循环,先执行表达式1,再执行表达式2.

3,return,break,continue

只有一点需要注意,break和continue是对当前循环进行控制,多层循环也只能跳出当前循环。

4,switch

switch(m){
     case 1:
     case 2:
     default:
}

4.1 break

只需要注意一点,没有break,会依次执行后续的case和default。

4.2 支持类型

byte、short、char、int (Java 5以前);
enum枚举类型(Java5);
字符串(String)(Java 7)。

长整型(long)在目前所有的版本中都是不可以的。

猜你喜欢

转载自blog.csdn.net/SunshineTan/article/details/82893262
今日推荐