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 :

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

  • 相关阅读:
    AX 2012 Security Framework
    The new concept 'Model' in AX 2012
    How to debug the SSRS report in AX 2012
    Using The 'Report Data Provider' As The Data Source For AX 2012 SSRS Report
    Deploy SSRS Report In AX 2012
    AX 2012 SSRS Report Data Source Type
    《Taurus Database: How to be Fast, Available, and Frugal in the Cloud》阅读笔记
    图分析理论 大纲小结
    一文快速了解Posix IO 缓冲
    #转载备忘# Linux程序调试工具
  • 原文地址:https://www.cnblogs.com/Kubility123/p/7568505.html
Copyright © 2011-2022 走看看