JavaSE基础-循环


    流程控制语句                        【重点】
        顺序结构语句
        选择结构语句
        循环结构语句
        循环跳转语句
    Random类                            【重点】
    
流程控制语句                        【重点】
    流程控制语句概述
        什么是流程控制语句
            用于控制Java程序执行流程的语句
            
        流程控制语句的分类
            顺序结构语句:按照代码的编写顺序,从上往下执行
            选择(分支)结构语句:满足条件则执行,不满足则不执行
            循环结构语句:重复不断的做同一件事情
            
            
    顺序结构语句
        
    选择结构语句
        if语句
            格式一:
                if(条件){
                    语句体;
                }
                
                
                执行流程
                    首先判断if小括号中的条件是true还是false,
                    如果是true,则执行if大括号中的语句体;
                    如果是false,则不执行if大括号中的语句体;
                
                注意事项:
                    1、if小括号中的条件一定是一个布尔类型的值,即不是true就是false
                    2、不要在小括号和大括号之间写上分号(;)
                    3、if的大括号可以省略,一般是只有一行语句的时候进行省略,不建议省略
                    
            格式二:
                if(条件){
                    语句体1;
                } else {
                    语句体2;
                }
                
                执行流程:
                    首先判断if小括号中的条件是true还是false,
                    如果是true,则执行if大括号中的语句体1;
                    如果是false,则执行else大括号中的语句体2;
                    
                注意事项:
                    1、else的格式后面不能加小括号和条件,因为它的执行也是取决于if的小括号中的条件
                    2、格式是两种情况的选择,会且只会选择其中一个,会且只会执行其中一个语句体
                    3、三元运算符在一些情况下可以用于简化if格式二的书写,但是不是格式二的所有情况下都能使用三元运算符简化
                        三元运算符能编写的,if格式二一定能编写
                        if格式二能编写,三元运算符不一定能编写
                        
                    
            格式三:
                if(条件1){
                    语句体1;
                } else if(条件2){
                    语句体2;
                } else if(条件3){
                    语句体3;
                } else {
                    语句体n;
                }
                
                执行流程:
                    首先判断if小括号中的条件1的结果是true还是false
                    如果是true,则执行if大括号中的语句体1;
                    如果是false,则判断else if小括号中的条件2的结果是true还是false
                        如果是true,则执行大括号中的语句体2
                        如果是false,依次类推
                    如果最后所有的if或者else if小括号中的条件都不满足,则最终执行else大括号中的语句体
                        
            
                注意事项:
                    1、虽然格式三有很多的语句体,但是会且只会执行其中的一个语句体
                    
                需求:键盘录入学生考试成绩, 根据成绩程序给出不同的奖励。
                    95~100分 : 自行车一辆
                    90~94分  : 游乐场一次
                    80~89分     : 变形金刚一个
                    80分以下 : 挨顿揍, 这座城市又多了一个伤心的人~
                    
                    Scanner + if格式三
                
                
                    步骤:
                        1、通过键盘录入动态输入考试成绩
                        2、根据格式三队考试成绩进行判断
                        3、满足判断条件则输出对应的奖励
                        
                
            if:如果
            else:否则
            
        switch语句
            格式
                switch(表达式){
                    case 值1:
                        语句体1;
                        break;
                    case 值2:
                        语句体2;
                        break;
                    case 值3:
                        语句体3;
                        break;
                    case 值4:
                        语句体4;
                        break;
                    default:
                        语句体n;
                        break;
                }    
            
            执行流程
                首先计算表达式的结果,将结果从上往下和case后面的值进行比较,看看是否相等,
                如果相等,则执行对应case中的语句体;
                如果不相等,继续从上往下比较case后面的值
                如果比较完,和所有的case后面的值都不相等,则执行default后面的语句体
            
            注意事项
                1、case后面的值只能是常量,不能是变量
                    并且case后面的值不能相同
                2、switch小括号中的表达式的结果只能是以下类型(6种):
                    基本类型:byte short char int
                            int或者可以自动转为int的类型
            
                    引用类型:
                            String                JDK7.0版本
                            枚举                JDK5.0版本
                3、switch语句的结束条件有两个:1、碰到break 2、碰到switch的右大括号({)
                    如果没有switch语句中省略了break,则可能会有case穿透问题
                    
                4、default可以省略也可以不省略,但是建议不省略,它相当于if语句中的else,用于
                    对所有不满足条件的情况的统一处理
                    
                    default的位置可以任意,可以在所有case之上、之下和之中
                    不影响程序的执行流程(前提:不省略break)
                
            
    循环结构语句
        for循环
            格式
                for(初始化语句; 条件判断语句; 循环后的控制语句){
                    循环体语句;
                }
                
                循环的组成的4部分:
                    初始化语句:一般来说,就是一个变量的定义语句
                    条件判断语句:一般来说,是一个关系表达式,结果是布尔类型的值,它决定了循环是否继续执行
                    循环体语句:循环的主体和核心代码,重复做的那件事情
                    循环后的控制语句:一般来说,改变循环变量的值,从而控制循环
            
            执行流程
                1、先执行初始化语句
                2、执行条件判断语句,它的结果一定是一个布尔类型的值,不是true就是false
                    如果判断结果为false,则循环到此结束
                    如果判断结果为true,则继续循环
                3、继续循环,执行循环体语句
                4、执行循环后的控制语句
                5、继续执行条件判断语句,重复2/3/4步
                    
            
            注意事项
                1、不论循环多少次,初始化语句只会执行一次
                2、条件判断语句,一定是一个布尔类型的值,不是true就是false,它决定了循环是否继续执行
                3、当循环体语句只有一行的时候,大括号可以省略,但是建议不省
                4、小括号和大括号之间不能有分号(;)
        while循环
            格式
                完整格式:
                    初始化语句;
                    while(条件判断语句){
                        循环体语句;
                        循环后的控制语句;
                    }
                
                省略格式:
                    while(条件判断语句) {
                        循环体语句;
                    }
            执行流程
                1、执行初始化语句
                2、执行条件判断语句,结果是布尔类型的,不是true就是false
                    如果是false,循环就结束
                    如果是true,循环继续执行
                3、循环继续执行,循环体语句
                4、执行循环后的控制语句
                5、依次类推,循环执行2/3/4步
                
            注意事项
                1、while循环和for循环可以等价替换,只是格式不同
                
                
        do...while循环
            格式
                初始化语句;
                do{
                    循环体语句;
                    循环后的控制语句;
                }while(条件判断语句);
                
                
            执行流程
                先执行初始化语句,然后依次直接执行循环体语句,循环后的控制语句,
                执行完之后才执行条件判断语句,如果结果为false,则循环结束
                如果结果为true,会再次依次执行循环体语句,循环后的控制语句,依次类推
                
            
            注意事项
                1、这种循环一定至少会执行一次循环体语句
                2、对于这种do...while循环,是先执行循环体语句再判断
                    条件判断语句是决定循环是否要执行第二次或者更多次,但是决定不了第一次循环体语句的执行
            
            
        三种循环的区别
            do...while这种循环和另外两种循环(for和while)的区别
                do...while循环是先执行循环体一次,然后再判断
                for和while这两种循环先判断,满足条件才会执行循环体,如果不满足有可能一次都不会执行
                
            for和while的区别
                1、初始化变量的问题
                    for的初始化语句的变量的作用域更小一些,出了for循环就无法使用
                    while的初始化语句的变量的作用域更大一些,出了while循环还能继续使用
                
                2、for和while循环选择的问题:
                    for > while > do...while
                    
                    一般循环次数确定,选择for循环居多
                    一般循环次数不确定,选择while循环居多
                
        死循环
                死循环:一个永远不会停下来的循环
    
                for(;;){
                    
                }
                
                while(true){
                    
                }
                
                do{
                    
                }while(true);
                
                以上三种死循环的写法中,while的死循环写法使用居多
                
                如果是一个永远结束不了的死循环,那么其下面不能再有语句,否则会编译报错
            
        
    循环跳转语句

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值