Java语言中的分支和循环语句

一、分支语句

1. 流程控制

流程控制语句的分类
(1)循环结构
程序中最简单最基本的流程控制,按照代码的先后顺序,依次执行。

public class day_004 {
    
    
    public static void main(String[] args){
    
    
        System.out.println("顺");
        System.out.println("序");
        System.out.println("结");
        System.out.println("构");
    }
}

在这里插入图片描述

2. if语句

格式1:
if(关系表达式){
语句体;
}
执行流程:
①首先计算关系表达式的值;
②如果关系表达式的值为true,则执行语句体,反之为false则不执行;
③继续执行后面的语句。

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        int i = 20;
        int j = 10;
        //如果i > j成立,则将j的值赋给i
        if (i > j) {
    
    
            i = j;
        }
        System.out.println("i = " + i);
    }
}

在这里插入图片描述
格式2:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
①首先计算关系表达式的值;
②如果关系表达式的值为true,则执行语句体1,反之为false则执行语句体2;
③继续执行后面的语句。

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        int i = 21;
        //判断i的奇偶性
        if (i % 2 == 0) {
    
    
            System.out.println(i+"是偶数");
        }else{
    
    
            System.out.println(i+"是奇数");
        }
    }
}

在这里插入图片描述
格式3:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
……
else{
语句体n+1;
}
执行流程:
①首先计算关系表达式1的值;
②如果关系表达式1的值为true,则执行语句体1,如果为false就计算关系表达式2的值,关系表达式2的值为真执行语句体2,反之执行关系表达式3,……;
③如果没有任何关系表达式的值为真,则执行语句体n+1。

import java.util.Scanner;

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //int grade = 97;
        //从键盘输入分数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩(0-100):");
        int grade = sc.nextInt();
        
        //判断成绩在哪个等级,90-100为A,80-89为B,70-79为C,60-69为D,59及以下为E
        if (grade < 0 || grade > 100) {
    
    
            System.out.println("您输入的分数有误,请重新输入!");
        } else if (grade >= 90 && grade <= 100) {
    
    
            System.out.println("成绩" + grade + "分,等级为A");
        } else if (grade >= 80 && grade < 90) {
    
    
            System.out.println("成绩" + grade + "分,等级为B");
        } else if (grade >= 70 && grade < 80) {
    
    
            System.out.println("成绩" + grade + "分,等级为C");
        } else if (grade >= 60 && grade < 70) {
    
    
            System.out.println("成绩" + grade + "分,等级为D");
        } else {
    
    
            System.out.println("成绩" + grade + "分,等级为E");
        }
    }
}

在这里插入图片描述

3.switch语句

格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
……
default:
语句体n+1;
[break;]
}
执行流程:
①首先计算表达式的值;
②用表达式的值和case后面的值依次进行比较,如果有对应的值,就会执行相应的语句,在执行过程中,遇到break则结束switch循环;
③若所有的case值都和表达式的值不匹配,则执行default里面的语句体,然后结束程序。

import java.util.Scanner;

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //从键盘输入月份,判断是什么季节
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入月份(0-12):");
        int month = sc.nextInt();
        switch (month) {
    
    
            case 12:
            case 1:
            case 2:
                System.out.println("冬天");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春天");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏天");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋天");
                break;
            default:
                System.out.println("您输入的月份有误,请重新输入!");
        }
    }
}

在这里插入图片描述

二、循环语句

循环结构的特点:有开始和结束标志,重复同一件事。
循环结构的组成:
①初始化语句:表示循环开始的状态;可以是一条或多条内容,完成一系列初始化操作。
②条件判断语句:循环执行的条件;使用一个结果值为boolean类型的表达式,此表达式决定是否执行循环体,例如:i>3 。
③循环体语句:循环所执行的内容;任意语句。
④条件控制语句:表示循环执行中每次变化的内容;通常使用一条语句来改变变量的值,从而达到控制循环是否能继续向下执行的效果,如:i++。

1. for循环语句

格式:
for(初始化语句; 条件判断语句; 条件控制语句){
循环体语句;
}
执行流程:
①执行初始化语句;
②执行条件判断语句,结果为true,则执行循环体语句,反之结束循环;
③执行条件控制语句;
④回到②继续。

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //计算1+2+3+…+98+99+100的值
        int sum = 0;
        for (int i = 0; i < 101; i++) {
    
    
            sum += i;
        }
        System.out.println("从1加到100的值为:" + sum);
    }
}

在这里插入图片描述

2. while循环语句

格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
执行流程:
①执行初始化语句;
②执行条件判断语句,结果为true,则执行循环体语句,反之结束循环;
③执行条件控制语句;
④回到②继续。

//用while实现
public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //计算1+2+3+…+98+99+100的值
        int sum=0;
        int i = 0;
        while (i <= 100) {
    
    
            sum += i;
            i++;
        }
        System.out.println("从1加到100的值为:" + sum);
    }
}

3. do…while循环语句

格式:
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
①执行初始化语句;
②执行循环体语句
③执行条件控制语句;
④执行条件判断语句,结果为true,则执行继续,反之结束循环;
⑤回到②继续。

//用do…while实现
public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //计算1+2+3+…+98+99+100的值
        int sum=0;
        int i = 0;
        do {
    
    
            sum +=i;
            i++;
        } while (i <= 100);
        System.out.println("从1加到100的值为:" + sum);
    }
}

三种循环的区别
(1)for循环和while循环先判断条件是否成立,再决定是否执行循环体;
(2)do…while循环先执行循环体,再判断条件是否成立,是否继续执行循环体。
(3)for和while的区别:
①for循环中,条件控制语句所控制的自增变量,在for循环结束后不再被访问;
②while循环中,条件控制语句所控制的自增变量,在while循环结束后,还可以继续使用。

死循环格式
for( ; ;){ }
while(true){ }
do{ } while(true);

4. 控制跳转语句

跳转控制语句
continue:用在循环中,基于条件控制,跳过某次循环体的执行,继续下一次循环;
break:用在循环中,基于条件控制,终止当前的整个循环。

5. 循环嵌套

循环语句中包含循环语句称为循环嵌套。

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //打印输出九九乘法表
        for (int i = 1; i < 10; i++) {
    
    
            for (int j = 1; j <= i; j++) {
    
    
                System.out.print(j + "*" + i + "=" + (i * j) + '\t');
            }
            System.out.println();
        }
    }
}

在这里插入图片描述

6. Random

作业:产生一个随机数
使用步骤:
①导包
import java.util.Random;
②创建对象
Random r = new Random();
③获取随机数
int number =r.nextInt();

import java.util.Random;

public class day_004 {
    
    
    public static void main(String[] args) {
    
    
        //获取5个随机数
        Random r = new Random();
        //获取数据的范围,[0,5)
        for (int i = 0; i < 5; i++) {
    
    
            int number = r.nextInt(5);
            System.out.println(number);
        }
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44892517/article/details/113714494