流程控制语句(上)

Java程序大体分为三种流程控制结构:顺序结构、分支结构、循环结构

  • 顺序结构

程序由上到下的逐行执行,中间没有任何跳转和判断语句。

示例代码如下:

复制代码
 1 public class TestSortStruc {
 2     public static void main(String[] args) {
 3         //流程控制:顺序结构
 4         int i = 15;
 5         int j = i + 1;
 6         System.out.println(j);
 7         
 8         /*错误示例,因为n的赋值语句使用到了m,所以不能将m在n后面定义
 9          * int n = m + 1;
10            int m = 10;
11            System.out.println(n);*/
12     }
13 }
复制代码
  • 分支结构

  根据条件,选择性的执行某段代码块。

  分为if...else和switch..case两类分支语句。

  一、if语句的三种结构:

  1. if(true){

    执行代码块;}

  示例代码如下:

  

复制代码
1 public class TestIf1 {
2     public static void main(String[] args) {
3         if(true){
4             System.out.println("Hello World!!");
5         }
6     }
7 }
复制代码

  2. if(条件判断语句){

    执行代码块;}

      else{

        执行代码块;}

  示例代码如下:

复制代码
 1 public class TestIf2 {
 2     public static void main(String[] args) {
 3         int age = 21;
 4         if(age>18){
 5             System.out.println("你已经成年了!!");
 6         }else{
 7             System.out.println("你还没有成年!!");
 8         }
 9     }
10 }
复制代码

  3. if(条件判断语句){

    执行代码块;}

   else if(条件判断语句){

    执行代码块;}

   ......

     else{执行代码块;}

复制代码
 1 public class TestIf3{
 2     public static void main(String[] args) {
 3         int age = 26;
 4         
 5         if(age > 130 || age < 0){
 6             System.out.println("估计不是人吧!!");
 7         }else if(age <30){
 8             System.out.println("你还挺年轻!!只有"+ age +"岁");
 9         }else{
10             System.out.println("我都是孩子他爹了,你另找心上人吧!!");
11         }
12     }
13 }
复制代码

  通过键盘获取值,然后使用if判断语句进行判断学生成绩,使用Scanner对象,让用户在控制台输入值

  示例代码如下:

  

复制代码
 1 /*题目:
 2  * 从键盘输入自己的考试成绩
 3  * 当成绩为100分时,奖励一台外星人电脑
 4  * 当成绩在80~99时,奖励一部iPhone7 plus
 5  * 当成绩在60~80时,奖励一本考试科目的习题册
 6  * 成绩低于60时,没有奖励,需要连续三个月不许玩游戏看电视。*/
 7 //1.导入Scanner包,记住一定要是java.util下的Scanner包
 8 import java.util.Scanner;
 9 
10 public class TestScanner {
11     public static void main(String[] args) {
12         //2.new 一个Scanner对象sc
13         Scanner sc = new Scanner(System.in);
14         /*3.从键盘获取用户输入的值,因为要判断成绩,
15             所以规定输入的值是int类型的数字,使用nextInt()方法*/
16         System.out.println("请输入你的成绩:");
17         int grade = sc.nextInt();
18         //使用if判断语句进行成绩奖励判断
19         if(grade == 100){
20             System.out.println("恭喜你,获得一台外星人电脑!!");
21         }else if(grade < 100 && grade >= 80){
22             System.out.println("恭喜你,获得一部iPhone7 plus!!");
23         }else if(grade < 80 && grade >=60 ){
24             System.out.println("恭喜你,你需要完成一本本学科的习题册!!");
25         }else{
26             System.out.println("很遗憾,你在未来的三个月不能玩游戏,看电视!!");
27         }
28     }
29 }
复制代码

   注:1.if条件判断之间可以进行嵌套;

     2. 1)如果多个条件之间是“互斥”关系,那么条件语句的顺序是自由的;

       2)如果多个条件之间是“包含”关系,那么要求范围小的条件要写在范围大的条件上面。

  二、switch...case语句:

  switch(表达式){

  case 常量1:

    语句1;

    break;

  case 常量2:

    语句2;

    break;

  ......

  case 常量n:

    语句n;

    break;

  default:

    语句;

    break;

  }

  根据表达式的值,选择相应的case去判断,一旦满足case条件,就执行相应case下的语句。

  switch 后小括号里面的表达式的值的数据类型包含:char、byte、short、int、枚举、String(JDK1.7以上才能使用String类型)。

  case后跟的常量只能为准确的值,而不能为取值范围。

  示例代码如下:

复制代码
 1 public class TestSwitch {
 2     public static void main(String[] args) {
 3         int i=1;
 4         switch(i){
 5         case 0:
 6             System.out.println("zero");
 7             break;
 8         case 1:
 9             System.out.println("one");
10             break;
11         case 2:
12             System.out.println("one");
13             break;
14         case 3:
15             System.out.println("one");
16             break;
17         case 4:
18             System.out.println("one");
19             break;
20         default:
21             System.out.println("ending");
22             break;
23         }
24     }
25 }
复制代码

  注:如果没有break或者已经到结尾的话,会继续向下执行其他的case语句,如果只想得到某一个值,需要都加上break关键字;default虽为结尾语句,但是可以写在            switch中任何一个case前或者后面,但是不能写进case里面,但是习惯性的放在末尾,default也可以不写。

  • 循环结构

  通过循环条件,重复性的执行某段代码块,直到该条件不被满足。

  分为while、do..while、for循环三种循环语句。

原文地址:https://www.cnblogs.com/-lwl/p/10927261.html