zoukankan      html  css  js  c++  java
  • JAVA基础--流程控制语句02

    JAVA流程控制语句

    一、程序流程

    1. 定义:只代码执行的先后顺序
    2. 种类

        

        顺序流程:程序默认流程,按照书写顺序执行

        选择流程:选择语句 判断语句

        重复流程: 循环控制语句

    二、选择流程控制语句

    1.  判断语句

        a. 单支判断    

        语句格式:

          if(布尔表达式)

           {

            选择执行的代码分支;

           }

     1  
     2 
     3  1 class IfDemo1 
     4  2 {
     5  3     public static void main(String[] args) 
     6  4     {
     7  5         //模拟买票
     8  6         /*
     9  7             如果乘客身高低于1.2m,就免票
    10  8         */
    11  9         //不同的人,身高不同,是一个不确定的数据;
    12 10         //不确定的数据,需要使用变量保存
    13 11         double height = 1.0;//表示定义一个变量,用来描述乘客的身高
    14 12 
    15 13         //因为提醒买票这句话,是根据身高判断的,不会一直执行,有可能执行到,所         以使用单只判断;
    16 14         /*
    17 15             if(布尔表达式)
    18 16             {
    19 17                 选择执行的代码分支;
    20 18             }
    21 19         */
    22 /*
    23             根据要求看,因为只有身高大于或等于1.2,才会提醒买票
    24             所以判断条件是:
    25         */
    26         if(height >= 1.2)
    27         {
    28             //选择执行的代码分支
    29             //用一句话表示乘务员提醒顾客买票
    30             System.out.println("请买票!");
    31         }
    32 
    33         System.out.println("end!");
    34     }
    35 }
    36 
    37     

          b. 双支判断

    语句格式:

    if(布尔表达式)

    {

    选择执行的代码分支一;

    }else{

    选择执行的代码分支二;

    }

     

     1 class IfDemo2 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         /*
     6             如果考试不低于600分,就买想要的东西;
     7             否则,就去搬砖;
     8         */
     9         /*
    10             if(布尔表达式)
    11             {
    12                 选择执行的代码分支一;
    13             }else{
    14                 选择执行的代码分支二;
    15             }
    16         */
    17 
    18         //实际上有两种可能会执行的动作,所以使用双支判断语句
    19         //因为到底执行哪个分支,是根据实际的分数判断的,
    20         //而分数是不确定的,所以要定义一个变量
    21 
    22         int score = 699;
    23 
    24         if(score >= 600){
    25             //第一种:买东西
    26             System.out.println("买IPad!");
    27         }else{
    28             //第二种:搬砖
    29             System.out.println("去工地搬砖!");
    30         }
    31 
    32         System.out.println("end!");
    33     }
    34 }
    双之判断

         c. 多只判断

        

    语句格式:

    if(布尔表达式一)

    {

    选择执行的代码分支一;

    }else if(布尔表达式二){

    选择执行的代码分支二;

    }else if(布尔表达式三){

    选择执行的代码分支三;

    }

    ……

    else{

    选择执行的代码分支n;

    }

     1 class IfDemo4 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         /*
     6             需求:
     7                 根据人物的经验,显示相应的等级;
     8                 
     9                 0~10:初入江湖;
    10                 >=10~20: 展露头角;
    11                 >=20~50:行侠天下
    12                 >=50~80:名动江湖
    13                 >=80:一统江湖;
    14         */
    15         /*
    16             实际上,只会根据具体的经验,显示一个等级;
    17             也就是说实际上只会执行一个操作
    18             在多个选择中执行一个,就要使用多只判断语句
    19             if(布尔表达式一)
    20             {
    21                 选择执行的代码分支一;
    22             }else if(布尔表达式二){
    23                 选择执行的代码分支二;
    24             }else if(布尔表达式三){
    25                 选择执行的代码分支三;
    26             }
    27             ……
    28             else{
    29                 选择执行的代码分支n;
    30             }
    31         */
    32         //经验是不确定,所以要定义一个变量保存;
    33         int jingYan = -1;
    34         
    35         if(jingYan>=0 && jingYan<10){
    36             System.out.println("初入江湖!");
    37         }else if(jingYan>=10 && jingYan<20){
    38             System.out.println("展露头角!");
    39         }else if(jingYan>=20 && jingYan<50){
    40             System.out.println("行侠天下!");
    41         }else if(jingYan>=50 && jingYan<80){
    42             System.out.println("名动江湖!");
    43         }else if(jingYan>=80){
    44             System.out.println("一统江湖!");
    45         }
    46 
    47         System.out.println("end!");
    48     }
    49 }
    多支判断

         d. 嵌套循环

        

      在判断语句的代码分支里面再写判断语句,就是嵌套判断;

        if(判断条件){

          if(判断条件){

            选择执行的代码;

               }

             }

        e. 简写单支判断语句

        2. 判断语句常见错误

            a. 布尔表达式写错(即判断条件)

            b. 不该出现分号的地方加上分号

          

            c. else 判断分支条件不能加布尔表达式(判断条件)

        

            d.  else不能单独使用

        

           2. 选择语句 

        语句格式:

          switch(常量表达式){

          case 匹配值1:选择执行的语句1;

          case 匹配值2:选择执行的语句2;

          case 匹配值3:选择执行的语句3;

            ……

          case 匹配值n:选择执行的语句n;

          default:选择执行的语句n+1;

          }

       switch语句支持的数据类型

        byte;short;char;int;

        枚举(enum);

        JDK1.7之后:String;

    在执行和case后面的值的匹配时,如果有匹配成功的,就不会再去匹配了;

      

     1 class SwitchDemo 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         /*
     6             需求:根据指定的日期,输出相应的星期几;
     7             1:星期一;
     8             2:星期二;
     9             ……
    10             7:星期日;
    11         */
    12 
    13         //指定的日期不清楚,需要使用一个变量保存:
    14         int day = 10;
    15 
    16         switch(day){
    17             case 1:System.out.println("星期一");break;
    18             case 2:System.out.println("星期二");break;
    19 //            case 2:System.out.println("星期二");case标签不能重复
    20             case 3:System.out.println("星期三");break;
    21             case 4:System.out.println("星期四");break;
    22             case 5:System.out.println("星期五");break;
    23             case 6:System.out.println("星期六");break;
    24             case 7:System.out.println("星期日");break;
    25             //default语句可以写在上面,如果写在上面,后面的break不能省略
    26             default:System.out.println("输入日期有误");
    27         }
    28     }
    29 }
    选择语句 switch

         switch 什么时候接触

         a. 遇到break;  b.遇到右边大括号

    if语句和switch语句的区别:if的每一个条件判断 都要计算一次值  switch只是开始的时候获取一次常量值

    对于区间范围的判断,使用if语句更合适;对于少数的固定值的匹配,使用switch语句更合适;

         4. 重复语句

         a. 定义:需要重复执行某些动作,需要用到重复流程

        b. 形式:

          语句格式:

            while(布尔表达式)

                {

                  需要重复执行的代码;

                }

          

          c. do while形式

            语句格式:

                do{

                    需要重复执行的代码;

                 }while(布尔表达式);

     

           5. for 循环

              语句格式:

                for(表达式一;表达式二;表达式三)

                {

                  需要重复执行的代码

                }

     

    注意:

    三种循环总结:

    1、如果在开发中,要求循环体代码至少要执行一遍,应该使用do-while循环;

    2、如果在开发中,控制循环次数的变量只需要在循环语句中使用,就应该使用for循环;

          4. 循环嵌套

            a.  如果在循环体里面再书写循环代码,就是嵌套循环;

     

    总结:嵌套循环执行时,执行外层循环的循环体代码,执行一次,内层循环就要全部循环完成;

    嵌套循环的执行总次数,等于外层循环的次数和内层循环的次数之积;

    所以嵌套循环效率比较低,一般不建议嵌套太多层,两层就够了;

         5. 转义字符

        

        6. break & continue

          a. break

          结束当前所在语句,用于switch和循环语句中

      

     

    总结:break在嵌套循环中,默认结束离他最近的这个循环;

    总结:要结束外层循环,可以加一个标记;这个标记可以自定义;

        b. continue :

    作用:表示结束本次循环,继续下一次循环;不会影响循环次数;

  • 相关阅读:
    关于sublimeText3 设置格式化代码快捷键的问题
    前端网站收集汇总(持续更新)
    vue 插件(Sublime Text 3 常用插件以及安装方法)(转)
    关于实时监测网络每秒上下行流量问题
    Github上的iOS App源码 (中文)
    Mac上安装第三方应用显示包资源破坏解决办法
    vue开发环境搭建Mac版
    iOS跳转支付宝付款码和扫一扫页面
    深入出不来nodejs源码-timer模块(JS篇)
    深入出不来nodejs源码-events模块
  • 原文地址:https://www.cnblogs.com/Kubility123/p/7568505.html
Copyright © 2011-2022 走看看