一、介绍

Java流程控制包括顺序控制、条件控制和循环控制

  顺序控制,就是从头到尾依次执行每条语句操作。条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操作A,反之则执行操作B。循环控制,又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作。

  顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。

  Java有两种分支结构:

  • if语句
  • switch语句

  Java中有三种主要的循环结构:

  • while循环
  • do…while循环
  • for循环

二、笔记

1 package com.simon.study;
  2 
  3 import java.util.Scanner;
  4 
  5 /**
  6  * java的流程控制:顺序结构 分之机构 循环结构
  7  * 
  8  * @author Simon 顺序结构:通过debug模式可以看出java程序的运行时顺序结构的
  9  * 
 10  *         分支结构:if语句
 11  *
 12  */
 13 public class ProcessControl {
 14 
 15     public static void main(String[] args) {
 16         // IfStudy();
 17         // SwitchCaseStudy();
 18         // WhileStudy();
 19     }
 20 
 21     /*
 22      * IF语句
 23      */
 24     private static void IfStudy() {
 25 
 26         /*
 27          * 根据条件表达的世界(true||false)来判断是否进入语句块 if(条件表达式){ 语句块 } 继续执行后面的语句
 28          */
 29         int i = 100;
 30         if (i > 60) {
 31             System.out.println(i);
 32         }
 33         System.out.println("后面需要执行的语句");
 34 
 35         /*
 36          * if else 语句
 37          */
 38 
 39         // system.in就是标准输入,可以获取从键盘输入的值
 40         // 通过scanner(jdk提供给我们的工具)来处理获取到的数据
 41         System.out.println("请输入分数!");
 42         Scanner sc = new Scanner(System.in);
 43 
 44         int j = sc.nextInt();// 把用户输入的数赋值给j
 45         System.out.println("控制台获取到的值是:" + j);
 46 
 47         if (j > 60) {
 48             System.out.println("通过");
 49         } else {
 50             System.out.println("没通过");
 51         }
 52         System.out.println("当if else 执行后需要执行的内容");
 53 
 54         /*
 55          * if else if else if ...else
 56          */
 57         // 场景:将一个5(score)分制分为 :5分的评价等级A 4==B 3==C 其他是D
 58         Scanner sca = new Scanner(System.in);
 59         int score = sca.nextInt();
 60         if (score >= 0 && score <= 5) {
 61             if (score == 5) {
 62                 System.out.println("A");
 63             } else if (score == 4) {
 64                 System.out.println("B");
 65             } else if (score == 3) {
 66                 System.out.println("C");
 67             } else {
 68                 System.out.println("D");
 69             }
 70         } else {
 71             System.out.println("输入不合法");
 72         }
 73 
 74         /*
 75          * 练习:百分制系统 90-100 优秀 75-89 良好 60-74 合格 其他 不合格
 76          */
 77         Scanner scan = new Scanner(System.in);
 78         int score1 = scan.nextInt();
 79         if (score1 >= 0 && score1 <= 100) {
 80             if (score1 >= 90 && score1 <= 100) {
 81                 System.out.println("优秀");
 82             } else if (score1 >= 75) {
 83                 System.out.println("良好");
 84             } else if (score1 >= 60) {
 85                 System.out.println("合格");
 86             } else {
 87                 System.out.println("不合格");
 88             }
 89         } else {
 90             System.out.println("输入不合法");
 91         }
 92 
 93     }
 94 
 95     /*
 96      * switch case
 97      */
 98     private static void SwitchCaseStudy() {
 99 
100         /*
101          * 分支语句:switch case key:需要比较的表达式 value:与表达式进行比较的值
102          * 执行流程:如果key和value比较的结果为true,那么将执行case部分的代码,case部分可以有多个 类似于else if 部分
103          * 区别是key和value之间的比较只能是== default部分是不满足以上任何去执行的代码 ,类似于else
104          * 
105          * switch 后面括号中的表达式的值必须是符合byte,char,short,int类型的常量表达式 jdk1.7以后可以使用string
106          * ,而不能用浮点型或long类型
107          * 
108          * switch(key) { case value: break; default: break; }
109          */
110 
111         // 场景:将一个5(score)分制分为 :5分的评价等级A 4==B 3==C 其他是D
112         Scanner sc = new Scanner(System.in);
113         int score = sc.nextInt();
114         switch (score) {
115         case 5:
116             System.out.println("A");
117             break;// 标准写法 break不能少 跳出当前语句块,如果没有break会直接进入下一个case语句
118         case 4:
119             System.out.println("B");
120             break;
121         case 3:
122             System.out.println("C");
123             break;
124         default:
125             System.out.println("D");
126             break;
127         }
128     }
129 
130     /*
131      * while 循环和do while
132      */
133     private static void WhileStudy() {
134 
135         /*
136          * 执行流程: 当条件表达式为true的时候进入代码块,执行需要执行的代码 当条件表达式为false的时候执行后面的语句
137          * 
138          * while(条件表达式){ 需要执行的代码部分 } 后面的语句
139          */
140 
141         /*
142          * 场景:输入1-100的整数分析:给输出的值一个变量I,当i在1-100之间的时候输出
143          */
144         int i = 1;// 循环的起点
145         while (i <= 100) {
146             System.out.println(i);
147             // 给出循环的步长
148             i++;
149         }
150         System.out.println("打印结束");
151         
152         
153         /*
154          * do while
155          * 
156          * do{
157          * }while(条件表达式)
158          */
159         
160         int a=1;
161         do{//语句块中的内容无论条件是否满足都会先执行一次
162             System.out.println(a);
163             a++;
164         }
165         while(a<=0);
166         
167     }
168 
169     /*
170      * for循环
171      */
172     private static void ForStudy() {
173 
174         /*
175          * 场景:打印1-100 int i=1是循环的起点 i++ 循环的补偿 i<=100 循环的条件
176          */
177         for (int i = 1; i <= 100; i++) {
178             System.out.println(i);
179         }
180         System.out.println("打印结束");
181     }
182 }