JAVA入门-005(Java基础语法-分支语句)

流程控制

流程控制语句概述

在一个程序的执行过程中,各条语句的执行顺序对程序的执行结果是有直接影响的。所以我们必须清楚的知道每条语句的执行流程。并且很多时候我们通过流程控制语句来控制语句的执行流程。
最常见的流程就是之前写的很多的顺序流程

流程控制语句分类

  • 顺序结构
  • 分支结构(if、switch
  • 循环结构(for、while、do…while

顺序结构

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

/*
	顺序结构
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		//顺序开始
		System.out.println("开始");
		
		System.out.println("语句1");
		System.out.println("语句2");
		System.out.println("语句3");
		
		System.out.println("结束");
		
	}
}

运行结果:
在这里插入图片描述
顺序结构的流程图:
在这里插入图片描述

if语句

if语句格式1

if(关系表达式){
语句1;
}
语句2;

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true则执行语句1
  3. 如果关系表达式的值为false则不执行语句1
  4. 顺序执行语句2

测试代码:

/*
	if语句格式1
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		System.out.println("开始");
		int i = 10;
		int j = 20;
		
		if(i==j){
			System.out.println("i和j相等!");
		}
		if(i!=j){
			System.out.println("i和j不相等!");
		}
		System.out.println("结束");
	}
}

输出结果:
在这里插入图片描述
if语句格式1的流程图:
在这里插入图片描述

if语句格式2

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

执行流程:

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

改造测试代码:

/*
	if语句格式2
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		System.out.println("开始");
		int i = 10;
		int j = 20;
		
		if(i==j){
			System.out.println("i和j相等!");
		}else{
			System.out.println("i和j不相等!");
		}
		System.out.println("结束");
	}
}

运行结果:
在这里插入图片描述
if语句格式2的流程图:
在这里插入图片描述

案例测试

任意给出一个整数,采用键盘录入一个数据,判断其是奇数还是偶数。
代码:

/*
	if语句格式2案例测试
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个整数!");
		int number = scan.nextInt();
		
		if(number%2 == 0){
			System.out.println("该数为偶数!");
		}else{
			System.out.println("该数为奇数!");
		}
	}
}

运行结果:
在这里插入图片描述

if语句格式3

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

执行流程:

  1. 首先计算关系表达式1的值
  2. 如果值为true则执行语句1;如果为false则计算关系表达式2的值
  3. 如果值为true则执行语句2;如果为false则执行语句三
  4. 执行语句4

测试代码:

/*
	if语句格式3 计算星期几
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个整数!");
		int number = scan.nextInt();
		if(number == 1){
			System.out.println("今天是周一!");
		}else if(number == 2){
			System.out.println("今天是周二!");
		}else if(number == 3){
			System.out.println("今天是周三!");
		}else if(number == 4){
			System.out.println("今天是周四!");
		}else if(number == 5){
			System.out.println("今天是周五!");
		}else if(number == 6){
			System.out.println("今天是周六!");
		}else if(number == 7){
			System.out.println("今天是周日!");
		}else{
			System.out.println("数字不准确!");
		}
	}
}

运行结果:
在这里插入图片描述

switch语句

switch语句格式

格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;

default:
语句体n;
[break;]
}
格式说明:

  • 表达式:取值为byte、short、int、char、JDK5以后可以是枚举,JDK7以后可以是String。
  • case:后面跟的是要和表达式进行比较的值。
  • break:表示中断,结束的意思,用来结束switch语句。
  • default:标识所有情况都不匹配的时候,就执行该处的内容。

执行流程:

  1. 首先计算表达式的值。
  2. 依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
  3. 如果所有的case后面的值都不匹配,就会执行default里面的语句,然后程序结束掉。

测试代码:

/*
	switch 计算星期几
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个整数!");
		int number = scan.nextInt();
		switch(number){
			case 1:
				System.out.println("周一");
			case 2:
				System.out.println("周二");
			case 3:
				System.out.println("周三");
			case 4:
				System.out.println("周四");
			case 5:
				System.out.println("周五");
			case 6:
				System.out.println("周六");
			case 7:
				System.out.println("周日");
			default:
				System.out.println("数据错误!");
		}
	}
}

运行结果:
在这里插入图片描述
如果不写break,他会顺序执行后面所有的语句。
修改测试代码:

/*
	switch 计算星期几
*/
import java.util.Scanner;

public class OperatorDemo04{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个整数!");
		int number = scan.nextInt();
		switch(number){
			case 1:
				System.out.println("周一");
				break;
			case 2:
				System.out.println("周二");
				break;
			case 3:
				System.out.println("周三");
				break;
			case 4:
				System.out.println("周四");
				break;
			case 5:
				System.out.println("周五");
				break;
			case 6:
				System.out.println("周六");
				break;
			case 7:
				System.out.println("周日");
				break;
			default:
				System.out.println("数据错误!");
		}
	}
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值