Java编程思想----控制执行流程

1,if-else结构

if-else结构我们可以将其理解为是一种条件判断语句,当满足其中一个分支结构的boolean判断条件的时候就执行这个分支的语句,但不再执行剩下分支的条件哪怕是满足条件的时候,所以我们在使用if-else结构的时候都将判断域切分成几个互不相交的集合来构建相应的分支结构。

所以if-else结构可以只又if语句,当满足条件的时候就执行;也可以是if-else结构,这种结构我们的判断域往往是而分类,不是A就是B,不是执行if语句就是执行else语句;还有就是if-else if-eles结构,在if和else结构之间可以出现多个else if语句,表明我们的判断域是被划分成多个的,与它相似的是switch语句,但其只接受整型(int)和字符型(char),如果判断的条件返回值较复杂还是使用else if结构吧。

2,迭代

while,do-while,for,foreach四种

下面我们来分别介绍这四种:

while,准-行模式。什么意思呢?就是在while语句开始的时候首先判断所给出的boolean判断语句是否成立,如果返回的是true就接着执行while里面的语句。

do-while,行-准模式。在do-while语句当中会首先执行do-while里面的语句,当完成了第一个迭代之后再来判断while里面的boolean语句是否返回的是true,所以我们也常问循环语句当中哪个总是执行一次迭代呢?do-while

for,以次数为判断的依据。for循环语句当中包含了四部分:a,初始化。b,boolean判断。c,执行语句。d,某种形式下的步进。

for(int i=0;i<10;i++){
    System.out.println(i);
}

用上面这个简单的例子来解释下for循环的执行过程,在第一次迭代的时候先执行i这个变量的初始化,你也可以把这个初始化放到for语句的外面使其变成一个全局变量,然后判断i<10这个boolean式是否为true,如果为true就执行System.out.println(i)这个for循环的主体语句,执行后在到i++这个步进式。而在第二次迭代开始就不执行变量初始化了,执行顺序和上面一样。

for语句()里面的三个用;隔开,他们都可以不出现,如果初始化不出现就意味着需要在循环外面构建,如果boolean判断式或者步进没有的话那就可能是无限循环了,相当与在while和do-while里面填入一个true。

这里还有一个叫逗号分隔操作符

for(int i = 1,j = i + 1;i < 5;i++,j = i * 2){
    .....
}

就是在for语句中有两个初始变量i和j,在初始化的时候只需要一次int声明就好了(指相同类型)。

foreach,俗称的增强型for循环,用于直接遍历一个数据容器(如:数组等)。

int[] a = {1,2,3,4,5};
for(int i:a){
    System.out.println(i);
}

从容器中按顺序取出元素赋值给一个变量,再按要求执行语句。所以for循环就是自定义了循环的次数,而foreach就是按照已定的数据容器来执行相应次数的命令。

3,return 

return是一个关键词,其一般有两个作用。a,给指定方法放回一个指(假设它没有void返回值);b,退出当先方法,就是终止了该方法不再执行return后面的语句了。

4,break和continue

break出现在循环当中时将强行终止掉循环返回到循环的起始位置当不再进入到循环体内,而continue则是终止掉当前轮的迭代返回到循环的起始位置重新进入到循环体内。

5,标签话break和continue

就是当我们在使用内外层循环的时候可以给循环打上标签,在使用break和continue时后跟标签,这个将不再返回到循环的起始位置而是标签的位置

outer:
for(;true;){
    inner:
    for(;i<10li++){
        print("i = " + i);
        if(i == 2){
            print("continue");
            continue;
        }
        if(i == 3){
            print("break");
            break;
        }
        if(i == 7){
            print("continue outer");
            i++;
            continue outer;
        }
        if(i == 8){
            print("break outer");
            break outer;
        }
        for(int k = 0;k<5;k++){
            if(k ==3){
                print("continue inner");
                continue inner;
            }
        }
    }
}

6,switch

这也是一个条件分支语句和if-else是相似的,就是其switch后面跟的语句是返回一个整型或者字符型,然后判断返回的内容是否和哪个case的值相同,相同就执行这个case后面的所有语句(包括这个case后面的全部case,如果不想执行的话就加上break,直接去到switch的末尾),如果没有相应的case值与之相同就直接跳到default执行后面的语句(这里说下default后面是没必要跟个break的)。

猜你喜欢

转载自blog.csdn.net/weixin_39702831/article/details/82971193
今日推荐