代码的流程控制

2019-03-25  本文已影响0人  Finlay_Li

在程序中代码的执行有它的流程控制

1、顺序结构 由main方法开始执行,代码一行一行往下执行
2、分支结构 在顺序执行的基础上,遇到分支的代码
3、循环结构 在顺序执行的基础上,可能遇到分支结构,当遇到循环代码就一直在循环执行直到循环结束

一、顺序结构

public static void main(String[] args) {
        //程序的主线程
}

二、分支结构

    if(条件表达式){
        //执行代码块;
    }
      else if (条件表达式){
        //执行代码块;
    }
       //……
    else{
        //执行代码块;
    }

重点:
If结束后,代码继续往下走,若需要终止
则需要return或者throw自定义异常结束当前方法

 if(e instanceof Architect){
        if(arcNum>=1){
            throw new TeamException("团队中至多只能有一名架构师");
        }
    }
switch(表达式){
        case 常量1:
        语句1;
        break;
        case 常量2:
        语句2;
        break;
        … …
        case 常量N:
        语句N;
        break;
default:
        语句;
        break;
        }

switch语句特点:

  1. switch(表达式)中表达式的返回值必须是下述几种类型之一: byte,short,char,int,枚举,String;
  2. 表达式值得类型必须和case中常量的值得类型一致!
  3. default是可选的,当以上的case都没有匹配时,如果有default代码块则进入
    如果没有default,也没有满足所有case,那么将结束

三、循环结构

定义:在某些条件满足的情况下,重复的执行某些语句

循环语句的四个组成部分

循坏分类:

for
while
do-while

注意:whlie和do-while的区别是。do-while无论什么情况,先执行一次循环体

嵌套循环


    public static void selectSort(Sortable[] a){//{new Student(), new Rectangle(), new Student()}

        for(int i = 0; i < a.length - 1; i++){
            for(int j = i + 1; j < a.length; j++){//直接排序

                if(a[i].compare(a[j]) == -1){

                    Sortable s = a[i];
                    a[i] = a[j];
                    a[j] = s;
                }
            }
        }
    }
  1. 解读:

1 i=0,进入循环体操作(内层for)
2 j=0+1,进入循环体操作(if)
重点:a[i]=a[0] 取第一个元素开始比!

3 内层循环继续,(因为外层循环 i=0 的循环体还没全部操作完)此时j=1+1
4 再根据j=1+1判断,j < a.length ?是则再进入if();
重点:int j = i + 1;只是定义变量 j 开始的值。后续的判断j++ 改变值
5 如果数组长度是5,j=5 时,判断条件不成立,内层for()循环结束。i++ ,外层循环继续判断!!
6 此时i=1,j 开始值为 j=1+1。进入if()判断
重点:a[i]=a[1] 取得就是第二个元素开始比!
7 直到外层循环结束,整体循环才结束

  1. 示例重点

计数器思想:求个数、求总和
1 定义初始化表达式 如 int count=0、int sum=0;
2 运用到循环体中计算累计值++
3 使用

循环结构控制语句:

  1. break;
  2. continue;

break:
在switch语句(退出当前case)
在循环语句中(完全退出当前循环)
continue:
只能用于循环语句中(跳出此循环一次的执行,后续的循环继续 )

上一篇 下一篇

猜你喜欢

热点阅读