五、JavaSE语言基础之流程控制

流程控制的简单概念

流程控制:指通过关键字控制代码的执行流程;

一、顺序结构:执行顺序从左到右从上到下;

顺序结构无关键字,一般而言大多数代码都是顺序结构;

二、选择结构:根据条件判断是否执行

选择结构的关键字:if、else、switch;

/**
选择结构的简单格式
**/
// 单分支结构
if(){
    
}

// 双分支结构
if(){
    
}else{
    
}


// 多分支结构
if(){
 
}else if(){
    
}else if(){
    
}…

switch(){
    case 1:
        ...
    ...
}

/**
选择结构详解
**/
if(条件表达式1){ 
    条件表达式1成立时执行的代码块;
    条件表达式1成立时,将不会继续执行其后的所有条件判断直接跳出分支结构;
}else if(条件表达式2){
    条件表达式2成立时执行的代码块;
}else{
    以上所有条件表达式都不成立时要执行的代码块;
}//else可根据实际情况选择是否添加


switch(表达式){
    case值1:
        表达式的值为值1时要执行的代码块;
        break;//如无break,会继续执行其后的case子句,直至碰到break或者switch语句整体执行完毕
    case值n:
        表达式的值为值n时要执行的代码块;
        break;
    default:
        表达式值不为以上所有值时要执行的代码块;
    break;
}

关于switch的几点注意事项:

1、switch只适用于穷举法(需列举出所有可能的情况)
2、switch表达式的值的类型仅限于:int、String、Enum
3、只有当所有的case都不等于switch表达式的值时才执行default;default的执行顺序与其位置无关(default即使在case前,也不会最先执行它)
4、break作用是结束switch结构
5、case不能重复

三、循环结构:当条件成立时执行循坏体内语句,一直重复,直至条件不成立

​ 循环结构的关键字:while、for

// 1、while循环; 
// while循环的格式:
while(条件表达式){
    条件表达式成立时执行的代码块;(循环体)
    迭代语句;(按指定的算符重复的更改某个变量的值)
}//格式与if极为相似,甚至可以说是完全相同;
/**
while的执行过程:
    1、判断条件表达式是是否成立,不成立结束while;
    2、条件表达式成立,执行代码块一次;
    3、重复1、2直到条件表达式不成立;
**/

//2、do-while; 
//do-while循环的格式
do{
    循环体(循环执行的代码块)
    迭代语句;
}while(条件表达式);
/**
while与do-while的区别:
do-while是先执行,后判断;至少执行一次;
while先判断后执行;可能一次也不执行;
**/


//3、for;
//格式如下
for(初始化语句;条件表达式;迭代语句){
    循环体(条件表达式成立时执行的代码块)
}//初始化语句:用于定义变量、给变量赋初始值的语句
//for特殊情况:初始化语句、条件表达式、迭代语句、都可以省略;构成死循环
//当条件表达式省略后:条件表达式的取值默认为true

初始化语句;
while(条件表达式){
    循环体(条件表达式成立时执行的代码块)
    迭代语句
}//根据以上两段代码格式,我们可以看出for和while完全等价,只是格式不同

//for循环中相关变量的作用域
int a=1;//变量a:在main方法的大括号内定义的作用域为整个main方法
for(int b=1;b<5;){
    //变量b:在for循环的初始化语句中定义的作用域为整个for循环
    int c=1;
    //变量c:在for循环的循环体中定义的,作用域为本次for循环
}//一个变量的作用域取决于定义此变量的括号

四、跳转:

跳转语句共两个,分别为:break与continue;
break:
使用场景1:用在switch中,作用:结束switch结构;
使用场景2:用在循环中,作用:结束本层循环;
continue:
使用场景:用在循环中,结束此次循环,继续下一次循环;

posted @ 2021-06-28 18:21  张知非  阅读(52)  评论(0编辑  收藏  举报