Java的流程控制语句

  1. 顺序结构
  2. 分支结构
  3. 循环结构

  1. 顺序结构

if语句的第一种格式:

if(关系表达式){              例:if(一口2L水){

   语句体;                          System.out.println(“水牛”);    

}                                     }      

if的注意点:

1.大括号的开头可以另起一行书写,但还是建议写在第一行的末尾

2.在语句体中,如果只要一句代码,大括号可以省略不写,但建议写上

3.如果对一个布尔类型的变量进行判断,不要加==号,直接把变量写在小括号中

if语句的第二种格式:

if(关系表达式){

  语句体1;

}else {

  语句体2;

}

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true就执行语句体1
  3. 如果关系表达式的值为false就执行语句体2
  4. 继续执行后面的其他语句

if语句的第三种格式:

if(关系表达式){

  语句体1;

}else if(关系表达式2){

  语句体2;

}

...

else{

语句体n+1;

}

核心过程:

从上往下依次判断,只要有一个判断为真,就执行对应的语句体,如果所以的判断都为假,就执行else的语句体

分支语句

switch语句格式:

switch(表达式){                  执行流程:

case 值1:                                      1.首先计算表达式的值

   语句体1;                                     2.依次和case后面的值进行比较,如果有对应的值,

   break;                                         就会执行相应的语句,在执行的过程中,遇到break

case 值2:                                       就会结束

   语句体2;                                     3.如果所以的case后面的值和表达式的值不匹配,

   break;                                         就会执行default里的语句体,然后结束整个switch

...                                                   语句

default:

   语句体n+1;

   break;

}

格式说明:

  1. 表达式:(将要匹配的值)取值为byte、short、int、char、JDK5以后是可以枚举的,JDK7以后是可以String。
  2. case:后面跟的事要和表达式进行比较的值(被匹配的值)。
  3. break:表示中断,结束的意思,用来结束switch语句。
  4. default:表示所有情况都不匹配时,就执行该处的内容,和if语句的else相似。
  5. case后面的值只能是字面量,不能是变量。
  6. case给出的值不允许重复。

switch其他知识点

(一)default的位置和省略

1.位置:default不一定写在最下面,可以写在任意位置,但我们习惯写在最下面

2.省略:default可以省略,语法不会有问题,但不建议省略

(二)case穿透

原因:语句体中,没有写break导致的

使用场景:如果多个case的语句体重复了,我们可以考虑case穿透简化代码

  • switch特性(JDK12版本之后)

代码如下

import java.util.Scanner;
public class text2 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("键盘录入一个数表开始");
        int number = sc.nextInt();
        switch(number){
            case 1:
                System.out.println("输出1");
                break;
            case 2:
                System.out.println("输出2");
                break;
            case 3:
                System.out.println("输出3");
                break;
            case 4:
                System.out.println("输出4");
                break;
            default:
                    System.out.println("输出10");
                break;
        }
    }
}

可写成

import java.util.Scanner;
public class text2 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("键盘录入一个数表开始");
        int number = sc.nextInt();
        switch(number) {
            case 1 -> System.out.println("输出1");
            case 2 -> System.out.println("输出2");
            case 3 -> System.out.println("输出3");
            case 4 -> System.out.println("输出4");
            default -> System.out.println("输出10");
        }
    }
}
  • switch与if第三种格式的使用场景

if的第三种格式:一般用于对范围的判断

switch的第三种格式:把有限个数据一一列举出来,让我们任选其一

循环结构

for循环格式:

for(初始化;条件判断;条件控制){                          例:for(int i = 1;i <= 10;i++){

   循环体语句;                                                          System.out.println(“helloworld”);

}                                                                                  }

执行流程:

  1. 执行初始化语句
  2. 执行条件判断语句,看其结果是true还是false,如果是false,循环结束,如果是true,执行循环体语句
  3. 执行条件控制语句
  4. 回到2.继续执行条件判断语句

注意:

初始化语句只执行一次

判断语句为true,循环继续

判断语句为false,循环结束

扩展:

  1. 求和的变量不能定义在循环的里面,因为变量只在所属的大括号中有效
  2. 如果我们把变量定义在循环的里面,那么当前变量只能在本次循环中有效,当本次循环结束之后,变量就会从内存中消失。第二次循环开始的时候,又会重新定义一个新的变量。
  3. 如果以后我们要写累加求和的变量,可以把变量定义在循环的外面

while循环的执行流程

格式:

初始化语句:

while(条件判断语句){

循环体语句;

条件控制语句;

}

while和for的区别:

for循环中,控制循环的变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问了

while循环中,控制循环的变量中,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

for循环中:知道循环次数或者循环范围

while循环中:不知道循环次数和范围,只知道循环的结束条件

do...while循环

格式:

初始化语句;

do{

  循环体语句;

  条件控制语句;

}while(条件判断语句);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值