• JAVA-基础-控制结构


    一、控制结构
        控制结构是控制程序如何运行的特殊的语句结构。
        控制结构分为 顺序控制结构 分支控制结构 循环控制结构。

    二、顺序控制结构
        除了分支控制结构 和 循环控制结构之外的语句都是按照顺序控制结构运行的。即,语句由上到下,由左到右依次执行。

    三、分支控制结构
        1.if判断
          i. if语句
            if可以实现判断,通过判断的结构决定是否执行某段代码。
          基本结构:

                            

          执行逻辑图:

        

        ii. if..else..语句

        基本结构:

          

        执行逻辑图:

          

        

        iii. if..else if..else语句

        基本结构:

          

        执行逻辑图:

          

        2. switch..case..语句
          i. switch..case..
            根据输入项的值的不同,走不同分支代码。
            输入项的值只能是byte/short/char/int,jdk7之后,支持String。
          基本结构:

              

          执行逻辑图:

        

            case用来实现匹配,case是进入的位置,一旦匹配成功,则从当前case位置进入,执行之后的代码,之后的所有case和default也会被执行。
            switch中也可以带一个default,则前面所有的case如果都匹配不成功,由default进行匹配。
            如果不想之后的case和default执行,需要通过break跳出switch。

    四、循环控制结构
        1. while循环
          i. while
          语法结构:

         1 while(判断条件){ 2 执行的内容 3 改变条件的语句 4 } 

          循环的三要素:判断的条件 执行的内容 改变条件语句
          执行逻辑图:

        

          2.  do...while  & while...do

            语法结构:

               

            执行逻辑图:

               

            

              

    while 和 do..while的区别,在于while先判断后执行,while中的代码不一定能够执行到,但do..while是先执行后判断,无论如何,do中代码至少会执行一遍。do..while是可以用while替代的,但while不一定能被do..while替代.

          2.for循环

            i.for

              判断条件  执行的代码  改变条件的语句

              基本的语法结构:

                

              执行逻辑图:

                

              for循环相对于while循环,将循环要素提取到for的小括号中管理,使循环的代码结构更加清晰,便于开发维护。

              while和for本质上等价的,但for结构更加清晰,通常代码也更少,是开发中最常用的循环方式。

              for中的三个条件并不需要都存在,可以根据需要空置。
              for(;;){} //等价于死循环

     

          3.break continue
            i. continue
              继续当前循环
              一旦循环中遇到continue,则本次循环continue之后的代码不再执行,回到循环开始位置继续下一次循环。
            ii. break
              跳出当前循环
              一旦循环中遇到break,则从break位置开始跳出整个循环语句,之后的循环不再执行。

     

            iii. break tag
              在多层循环时,可以通过break tag 方式,指定在break时要跳出的是哪一层循环。
              这种写法会造成程序的可阅读性大幅度降低,不推荐使用。
              如果想要跳出多层许愿,需要一层一层break跳出。

    案例:

      

     1 import java.util.Scanner;
     2 /**
     3     continue break
     4 */
     5 public class Demo05{
     6     public static void main(String args[]){
     7         //1.计算1-100的偶数和
     8         /*
     9         int sum = 0;
    10         for(int i=1;i<=100;i++){
    11             if(i%2==0){
    12                 sum+=i;
    13             }else{
    14                 continue;
    15             }
    16             System.out.println("当前的sum为"+sum);
    17         }
    18         */
    19 
    20         //2.计算1-100的偶数和,如果和大于了500,则不再继续循环
    21         /*
    22         int sum = 0;
    23         for(int i=1;i<=100;i++){
    24             if(i % 2 == 0){
    25                 sum += i;
    26             }else{
    27                 continue;
    28             }
    29             if(sum > 500){
    30                 break;
    31             }
    32             System.out.println(sum);
    33         }
    34         */
    35 
    36         //3.break tag语法
    37         /*
    38         int x = 1;
    39         tag1:for(;x>0;){
    40             System.out.println("外层循环开始。。");
    41             for(int i = 0;i<10;i++){
    42                 System.out.println(i);
    43                 if(i == 5){
    44                     break tag1;
    45                 }
    46             }
    47             System.out.println("外层循环结束。。");
    48         }
    49         System.out.println("最外层..");
    50         */
    51 
    52         //4.break tag的替代写法
    53         boolean outBreak = false;
    54         for(;;){
    55             System.out.println("外层循环开始。。");
    56             for(int i = 0;i<10;i++){
    57                 System.out.println(i);
    58                 if(i == 5){
    59                     outBreak = true;
    60                     break;
    61                 }
    62             }
    63             if(outBreak){
    64                 break;
    65             }
    66             System.out.println("外层循环结束。。");
    67         }
    68         System.out.println("最外层..");
    69     }
    70 }

     

     

  • 相关阅读:
    jquery点击tr换背景颜色
    poi导出excel
    Lua 可变参数 ... 的一点测试
    改写Unity DropDown 支持多次点击同一选项均回调
    g++ 生成C++ .so库文件,并调用示例
    Unity NavMesh 格式 解析 分析 对比 Recast Navigation
    SVN 问题解决之 Working copy path does not exist in repository
    SVN 问题解决之 The XML response contains invalid XML
    C++ DLL debug版本在其他PC上缺少依赖的处理方式
    Unity 宽度适配 NGUI
  • 原文地址:https://www.cnblogs.com/xiaoluohao/p/11305231.html
Copyright © 2020-2023  润新知