JavaSE复习笔记(第三章-流程控制语句)

目录

第三章 流程控制

一、键盘录入

二、流程控制

三、分支结构if语句

四、分支结构switch语句

五、循环结构语句

1.for循环

2.while循环

3.do...while循环

4.循环语句的区别

六、关键字break和continue

七、循环嵌套使用


第三章 流程控制

一、键盘录入

java.util.Scanner键盘扫描器,可以接收从键盘录入的数据。

使用步骤:

import java.util.Scanner;
public class Demo{
    public static void main(String[] args){
        //1.创建扫描器
        Scanner in = new Scanner(System.in);
        //2.提示信息
        System.out.println("请输入数据:");
        //3.从键盘接收数据
        int a = in.nextInt();//接收int类型数据
        
        
        //接收其他类型数据:
        byte b = in.nextByte();
        double d = in.nextDouble();
        boolean boo = in.nextBoolean();
        //....
        //接收字符串:
        String s = in.next();//遇到空白字符结束,不会接收空白字符
        String s1 = in.nextLine();//遇到enter键结束。会接收一个回车键。注意nextLine接收数据之前不要使用其他方式接收数据,否则会直接接收之前的回车键。
        
    }
}

二、流程控制

我们在程序中可以通过流程控制语句实现对程序执行流程的控制。常见的程序流程结构有:

  • 顺序结构 :代码自上而下顺序执行。

  • 分支结构,选择结构: 根据条件执行某部分代码

  • 循环结构:重复执行某些代码

三、分支结构if语句

  1. if语句格式一:

    if(关系表达式){
        语句体;
    }
  2. if语句格式二:

    if(关系表达式) { 
        语句体1;
    }else {
        语句体2;
    }
  3. if语句格式三:

    if (判断条件1) {
        执行语句1;
    } else if (判断条件2) {
        执行语句2;
    }
    ...
    }else if (判断条件n) {
        执行语句n;
    }else {
        执行语句n+1;
    }

四、分支结构switch语句

  1. 语法格式:

switch(表达式){
    case 常量值1:
        语句块1;
        break;
    case 常量值2:
        语句块2;
        break;  
    ...
    default:
        语句块n+1;
        break;  
}
  1. 执行流程:小括号内结果与case后的常量值匹配,那么执行这个case后的代码。如果都不匹配执行default分支。

  2. 使用注意事项:

    • 小括号内的表达式结果类型只能是6种之一:byte,short,char,int,String,枚举

    • case后的常量值不能重复

    • break用于跳出switch语句,如果case没有执行break会直接继续执行下一个case的代码---穿透性。

  3. 示例:

int season = 2;
switch(season){
    case 1:
        System.out.println("春季");
        break;
    case 2:
        System.out.println("夏季");
        break;
    case 3:
        System.out.println("秋季");
        break;
    case 4:
        System.out.println("冬季");
        break;
    default:
        System.out.println("没有这个季节");
        break;
}

五、循环结构语句

1.for循环

  1. 格式:

   for(初始化语句①; 循环条件语句②; 迭代语句④){
   		循环体语句③
   }
//执行流程:1234 234 234 ... 2

   for(;;){
       循环体语句块;//如果循环体中没有跳出循环体的语句,那么就是死循环
   }

    2.示例:

for(int i=0;i<5;i++){
    System.out.println(i);
}
//01234

2.while循环

  1. 格式:

    while (循环条件语句①) {
        循环体语句②;
    }
    //执行流程: 12 12 12 ...1
    ​
    while(true){
         循环体语句;//如果此时循环体中没有跳出循环的语句,也是死循环
    }
  2. 示例:

    int i = 0;
    while(i<5){
        System.out.println(i);
        i++;
    }
    //01234

3.do...while循环

  1. 格式:

    do {
        循环体语句①;
    } while (循环条件语句②);
        
    //执行流程:12 12 12 ... 2
  2. 示例:

    int i = 0;
    do{
        System.out.println(i);
        i++;
    }while(i<5);
    //01234

4.循环语句的区别

  1. 从循环次数角度分析

  • do...while循环至少执行一次循环体语句

  • for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体,至少执行零次循环体语句

  1. 从循环变量的生命周期角度分析

  • for循环的循环变量在for()中声明的,在循环语句结束后,不可以被访问;

  • while和do...while循环的循环变量因为在外面声明的,所以while和do...while结束后可以被继续使用的;

  1. 如何选择

    • 遍历有明显的循环次数(范围)的需求,选择for循环

    • 遍历没有明显的循环次数(范围)的需求,循环while循环

    • 如果循环体语句块至少执行一次,可以考虑使用do...while循环

    • 本质上:三种循环之间是可以互相转换的,都能实现循环的功能

  2. 三种循环结构都具有四要素:

  • (1)循环变量的初始化表达式

  • (2)循环条件

  • (3)循环变量的修改的迭代表达式

  • (4)循环体语句块

  1. 死循环比较

  • for(;;){循环体} ,除循环体外不需要执行其他语句,性能略高

  • while(true){ 循环体},除循环体外还需要执行小括号里的表达式

六、关键字break和continue

  1. break关键字的应用场景与作用

    • 应用在switch语句中:用于跳出switch语句

    • 应用在循环语句中,用于跳出当前循环体(结束当前循环)

  2. continue关键字的应用场景与作用

    • 应用在循环语句中,用于结束本次循环,继续执行下一次循环

  3. 示例:

for(int i=0;i<5;i++){
    if(i==2){
        break;//结束当前循环
    }  
    System.out.println(i);
}
//01
for(int i=0;i<5;i++){
    if(i==2){
        continue;//结束本次循环
    }  
    System.out.println(i);
}
//0134

七、循环嵌套使用

//外循环控制行数
for(int i=0;i<5;i++){
    //内循环控制列数
    for(int j=0;j<=i;j++){
        System.out.print("*")
    }
    System.out.println();//换行
}


/*

*
**
***
****
*****

*/

需要第三章完整学习笔记可以关注私信我哦 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值