Java流程控制语句

文章详细介绍了程序设计中的流程控制语句,包括顺序结构、if判断语句(格式1、2、3)以及switch语句的使用方法和执行流程。通过示例代码展示了如何根据条件执行不同的程序段,如判断变量之间的关系或根据分数给予不同奖励。此外,还提及了switch语句的default用法和case穿透现象。
摘要由CSDN通过智能技术生成

        在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。

一流程控制语句分类

  1. 顺序结构
  2. 判断和选择结构(if, switch)
  3. 循环结构(for, while, do…while)

 1顺序结构

        顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

        顺序结构执行流程图:  

 

2判断语句 :if判断

2.1 if语句格式1

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

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true就执行语句体
  3. 如果关系表达式的值为false就不执行语句体
  4. 继续执行后面的语句内容
public class Demo {
	public static void main(String[] args) {
		
		//定义两个变量
		int a = 10;
		int b = 20;	
		//需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于b
		if(a == b) {
			System.out.println("a等于b");
		}		
		//需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于c
		int c = 10;
		if(a == c) {
			System.out.println("a等于c");
		}		
	}
}

2.2 if语句格式2

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

 

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true就执行语句体1
  3. 如果关系表达式的值为false就执行语句体2
  4. 继续执行后面的语句内容
public class Demo {
	public static void main(String[] args) {	
		//定义两个变量
		int a = 10;
		int b = 20;
		//需求:判断a是否大于b,如果是,在控制台输出:a的值大于b,否则,在控制台输出:a的值不大于b
		if(a > b) {
			System.out.println("a的值大于b");
		} else {
			System.out.println("a的值不大于b");
		}		
	}
}

2.3 if语句格式3

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


else {
    语句体n+1;
}

执行流程:

  1. 首先计算关系表达式1的值
  2. 如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
  3. 如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
  4. 如果没有任何关系表达式为true,就执行语句体n+1。

案例

        小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,

假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。

//90~100  自行车一辆
//80~90   游乐场玩一天
//70 ~ 80 变形金刚一个
//70 以下  胖揍一顿
public class Demo{

    public static void mian(String[] args){
        //1.键盘录入一个值表示小明的分数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入小明的成绩");
        int score = sc.nextInt();
        //2.对分数的有效性进行判断
        if(score >= 0 && score <= 100){
            //有效的分数
            //3.对小明的分数进行判断,不同情况执行不同的代码
            if(score >= 90 && score <= 100){
                System.out.println("送自行车一辆");
            }else if(score >= 80 && score <= 90){
                System.out.println("游乐场玩一天");
            }else if(score >= 70 && score <= 80){
                System.out.println("变形金刚一个");
            }else{
                System.out.println("胖揍一顿");
            }
            }else{
                //无效的分数
                System.out.println("分数不合法");
            }
        }
    }
}

2.4 switch语句

格式

switch (表达式) {
    case 1:
        语句体1;
        break;
    case 2:
        语句体2;
        break;
    ...
    default:
        语句体n+1;
        break;
}

 执行流程:

  1. 首先计算出表达式的值

  2. 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。

  3. 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

import java.util.Scanner;

public class Demo{

    public static void main(String[] args){

        //1.键盘录入星期
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入星期");
        int week = sc.nextInt();

        //2.书写一个switch语句去跟week进行匹配
            switch (week) {
            case '周一':
            case '周二':
                System.out.println('学习理论知识');
                break;
            case '周三':
            case '周四':
                System.out.println('到企业实践');
                break;
            case '周五':
                System.out.println('总结经验');
                break;
            case '周六':
            case '周日':
                System.out.println('休息娱乐');
                break;
        } */
    }
}

switch的扩展知识:

  • default的位置和省略情况

    default可以放在任意位置,也可以省略

  • case穿透

    不写break会引发case穿透现象

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钟月一人

码字整理不易,感谢各位大佬支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值