JAVA-基础-控制结构

Posted xiaoluohao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 

 

 

以上是关于JAVA-基础-控制结构的主要内容,如果未能解决你的问题,请参考以下文章

Java基础语法之控制流程

java基础笔记----流程控制

Java 基础语法逻辑控制

java基础:流程控制

java基础:流程控制语句(选择结构if语句)

《java基础知识》流程控制