java的几种选择结构

Java语言的选择结构一般有两种,if语句和switch语句。

if语句

if语句是根据条件的真假来决定执行哪一个分支语句序列。Java可支持的if语句有三种格式:
(1)单分支if语句
(2)双分支if-else语句
(3)多分支if-else-if语句

if单分支选择结构

IF语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。

代码结构

**

if(表达式){
   //表达式值为true时,要执行的处理代码
 }

理解图

java的几种选择结构_第1张图片
案例:

public static void main(String[] args) {
System.out.println("开始");
// 定义两个变量
int a = 10;
int b = 20;

if (a == b) {
System.out.println("a等于b");
}

int c = 10;
if (a == c) {
System.out.println("a等于c");
}
System.out.println("结束");
}

if-else双分支选择结构

当条件表达式为真时,执行语句块1,否则,执行语句块2,也就是else部分。

代码结构

 if(表达式){
   //表达式值为true时,要执行的处理代码
 }else{
   //表达式值为false时,要执行的处理代码
 }

理解图

java的几种选择结构_第2张图片
案例:

public static void main(String[] args) {
System.out.println("开始");
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 100;
// 给a重新赋值
a = 99;

if (a % 2 == 0) {
System.out.println("a是偶数");
} else {
System.out.println("a是奇数");
}

System.out.println("结束");
}

if-else if-else多分支选择结构

当条件表达式N为真时,执行语句块N,当所有条件表达式都为假时,执行else部分。

代码结构

if(表达式1){
   //表达式1值为true时,要执行的处理代码1
 }else if(表达式2){
   //表达式2值为false时,要执行的处理代码2
 }else{
   //当所有表达式值都为false时,要执行的处理代码
 }

理解图

java的几种选择结构_第3张图片
案例:

public static void main(String[] args) {
		System.out.println("开始");
		//  定义两个变量
		int a = 10;
		int b = 20;
		// 判断a==b如果等于就输出,不等于就执行else if中的判断
		if (a == b) {
			System.out.println("a等于b");
		} else if (a > b) {
			System.out.println("a不等于b");
		} else {
			System.out.println("都不行");
		}
		System.out.println("结束");
	}

关于if语句的注意点

(1)else子句不能单独作为语句使用,一个else必须有与之配对的if使用,并且总是与离它最近的if语句配对使用
(2)花括号中的语句可以是一个语句序列也可以是一条语句
(3)多分支if-else-if语句可以没有最后一个else语句,如果没有任何一个分支的boolean表达式为真,则不执行任何一个语句段

switch语句

根据表达式的值,从一系列候选代码中选出一个值相等的执行。

代码结构

switch(条件表达式){
   case1: 
     //表达式值与值1相等时,要执行的代码;
     break;default:
     //表达式值与所有case值不相等时,要执行的默认语句;
 } 

案例:

public static void main(String[] args) {
		//定义一个变量
		int a=5;
		switch (a) {
		//判断a是否等于1
		case 1:
			System.out.println("星期一");
			break;
			
		default:
		//要执行的默认语句
			System.out.println("不知道是星期几");
			break;
		}
	}

主要注意点:

1)表达式expression的值只能是byte,char,int 和 short类型
2)case语句中的value值必须是常量,每一个case语句中的value值必须是不同的
3)default语句可以没有也可以有。当表达式expression的值与所有case语句中的value值都不匹配时,执行default语句,如果没有default语句则跳过switch语句往后执行
4)在执行完case子句的语句序列后程序不会自动跳出switch语句块,break语句用来执行完一个case语句后跳出switch语句
5)若case语句后的statement语句段中包含多条语句可以不加花括号

选择结构的嵌套

与C语言相同,嵌套选择结构可以在if语句里面再写if语句,在else语句里面再写if语句,甚至在switch语句里面嵌套switch语句,多层嵌套或导致程序可读性差,容易出错。(不建议这样操作)

你可能感兴趣的:(java,java)