小言_互联网的博客

Java流程控制语句详解

327人阅读  评论(0)

一、从键盘录入数据

1. 导包

  • 在类的上面输入:import java.util.Scanner;

2. 创建一个从键盘录入的对象

  • Scanner in = new Scanner(System);

3. 接收键盘输入数据

  • int input = in.nextInt();//接收int型数据
  • String input = in.nextLine();//接收字符串类型的数据
  • double input = in.nextDouble();//接收double型的数据
  • ……还有很多,不同类型的都有,这里就不一一赘述了

二、顺序结构语句

1. 流程控制概念

  • 什么是流程控制语句?
    在程序执行过程中,每一条语句的执行顺序都会对程序最终的结果产生影响,我们可以通过流程控制语句来控制语句执行的顺序。

2. 流程控制语句的分类

  • 顺序结构
  • 选择结构
  • 循环结构

3. 顺序结构语句

  • 是最基本的流程控制语句,按照语句先后顺序,从上往下,依次执行,是程序中大部分代码的执行顺序

三、选择结构语句

1. If 语句

  • 格式一

    if(比较表达式或boolean类型的值){
    	语句体;
    }
    
  • 执行流程
    先计算if后括号内的值,如果为true,则执行语句体,如果为false,则不执行语句体。

  • 格式二

    if(比较表达式或boolean类型的值){
     	语句体1;
     }else{
     	语句体2;
     }
    
  • 执行流程
    先计算if后表达式的值,如果为true,就执行语句体1,如果为false,就执行语句体2

  • 格式三

    if(比较表达式或boolean类型的值1){
      	 语句体1;
      }else if(比较表达式或boolean类型的值2){
       	 语句体2;
      }else if(比较表达式或boolean类型的值3){
    	 语句体3;
      }
      ……
      else {
     	 语句体n+1;
      }
    
  • 执行流程
    先计算表达式1的值,如果是true就执行语句体1,if语句结束;如果是false就接着计算表达式2 ,如果是true,就执行语句体2,if语句结束,如果还是false,接着执行表达式3,如果是true,就执行语句体3,if语句结束,如果……,如果都是false,就执行语句体n+1。
    只要有一个条件满足,if语句就执行该条件下的语句体,if语句结束,如果都不满足,就执行else下的语句体。

2. if 语句练习

//        键盘输入一个x,求y的值
//        x >= 3        y = 2 x + 1;
//        -1<= x < 3    y = 2 x;
//        x< -1         y = 2 x –1;
  
 public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
        System.out.println("请输入x:");
        double x = in.nextDouble();
        if (x >= 3) {
            System.out.println("y的值是:" + (2 * x + 1));
        } else if (x >= 1 && x < 3) {
            System.out.println("y的值是:" + (2 * x));
        } else {
            System.out.println("y的值是:" + (2 * x - 1));
        }
    }

3. switch语句

  • 格式

    switch(表达式){
    	case值1:
    		语句体1;
    		break;
    	case值2:
    	        语句体2;
      		break;
      	case值3:
      		语句体3;
      		break;
      		……
      		default:
      			语句体n+1;
      			break;
      	}
    
  • 执行流程
    先计算表达式的值,然后逐次和case后的值进行比较,如果相等,就执行该case内的语句,遇到break结束;如果都匹配不到,就执行default后的语句。

  • 注意
    case后的值只能是常量,不能是变量,且多个case后的值不能相等;switch语句碰到break关键字就会结束,如果一个case语句下的语句体执行完后没有碰到break,那么就会接着执行下一个case中的语句体,直到遇见break或全部语句体执行完,switch语句结束。

4. switch语句练习

  • 键盘录入月份,输出对应的季节

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入月份,我们将为你输出对应的季节");
        int month = in.nextInt();
        switch (month) {
            case 3:
            case 4:
            case 5:
                System.out.println(month + "月对应的是春天");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println(month + "月对应的是夏天");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println(month + "月对应的是秋天");
                break;
            case 12:
            case 1:
            case 2:
                System.out.println(month + "月对应的是冬天");
                break;
            default:
                System.out.println("你输入的月份有误!");
                break;
        }
    }
    

5. if 语句和 switch 语句的区别

  • 当要比较某些点值时,switch 语句比较好用,比如月份、星期等;当要比较某个区间的值时,用 if 比较合适。

三、循环语句

1. for 循环

  • 什么是循环结构
    在满足循环条件的情况下,反复执行某一段代码的结构称为循环结构,被重复执行的代码叫做循环体,循环结构需要一个条件结束循环,不然就会形成死循环。

  • for 循环结构

    for(初始化表达语句;判断条件语句;控制条件语句){
    	循环体语句;
    }
    
  • 执行流程

    • 进行初始化表达语句
    • 执行判断条件语句,如果为true,继续执行;如果为false,跳出循环,循环结束
    • 为true执行循环体语句
    • 执行控制条件语句
    • 执行判断条件语句,为true继续执行循环体语句,为false跳出循环,循环结束
    • 为true执行循环体语句
    • 执行条件判断语句
    • ……
  • 注意:初始化表达语句只执行一次

2. for 循环练习

  • 需求:求出1-100之间偶数和

    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 2 == 0) {
                sum = sum + i;
            }
        }
        System.out.println(sum);
    }
    

3. while循环

  • while循环结构

    初始化条件语句;
    while(判断条件语句) {
    	循环体语句;
    	控制条件语句;
    }
    
  • 执行流程

    • 执行初始化条件语句
    • 执行条件判断语句,若为true,继续执行循环体语句;若为false,结束循环
    • 执行循环体语句
    • 执行控制循环语句
    • 执行条件判断语句,若为true,继续执行循环语句;若为false,结束循环
    • ……

4. while循环练习

  • 求和: 求1-100之和

    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        while (i <= 100) {
            sum += i;
            i++;
        }
        System.out.println(sum);
    }
    

5. do while循环

  • do while循环语句格式

    初始化条件语句;
    do {
    	循环体语句;
    	控制条件语句;
    }while(判断条件语句);
    
  • 执行流程

    • 执行初始化条件语句
    • 执行循环体语句
    • 执行控制条件语句
    • 执行判断条件语句,若为true,继续循环;若为false,跳出循环
    • 若为true,执行循环体语句
    • 执行控制条件语句
    • ……

6. do while循环练习

  • 请在控制台输出数据1-10
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println(i);
            i++;
        } while (i <= 10);
    }
    

7. for、while、do while 三种循环的区别

  • do while 循环至少执行一次,而 for 和 while 可以一次也不执行

  • 如果已知循环次数,用for循环方便;如果只知道循环结束条件,用while循环

  • 如果想在循环过后继续使用控制条件变量,用while循环,否则用for循环

  • 建议优先使用for循环,再是while循环,最后是do while循环

  • 注意:一定要注意控制循环的变量,不然容易造成死循环

  • 练习:在控制台输出九九乘法表

    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "*" + i + "=" + (j * i) + "\t");
            }
            System.out.println();
        }
    }
    

四、控制跳转语句

1. break语句

  • 控制跳转语句分类
    • break:中断整个循环
    • continue:跳过当次循环
    • return:退出当前方法
  • break使用场景
    • 在选择switch语句中
    • 再循环语句中
  • 作用
    • 退出单层循环
      直接在要中断的地方加break
    • 退出多层循环
      使用标签,格式为:标签名: ,break 标签名;,就会退出到标签所在层

2. continue语句

  • continue使用场景
    循环语句中
  • 作用
    跳过当次循环,继续下一次循环

3.return语句

  • 作用退出当前方法,跳转到上层调用的方法处
  • 关于return在方法中的具体使用会在后续文章中讲解。

转载:https://blog.csdn.net/qq_44495081/article/details/102077432
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场