java流程控制结构_Java流程控制:选择结构

一、选择结构

选择结构用于判断给定的条件,根据判断的结果来控制程序的流程。

Java中选择结构的语法主要分为'if...else'语句和'switch...case'语句。

Java中选择结构语句在语法上可以随意嵌套,但不建议嵌套太深,会降低代码可读性。

二、'if...else'语句

描述:'if'单词意为如果,'else'单词意为否则。Java中使用'if...else'相关语句进行条件判断。

分类:

'if'单选择结构

'if'双选择结构

'if'多选择结构

Ⅰ、'if'单选择结构

语法:

if(/* 布尔表达式 */){

/* 如果布尔表达式为true将执行的语句 */

}

描述:

一个'if'语句包含一个布尔表达式和一条或多条语句。

如果布尔表达式的值为'true',则执行'if'语句中的代码块,否则执行'if'语句块后面的代码。

示例:

/* 运行结果为控制台输出:这是if语句 */

public static void main(String args[]){

int x = 10;

if(x < 20){

System.out.print("这是if语句");

}

}

Ⅱ、'if'双选择结构

语法:

if(/* 布尔表达式 */){

/* 如果布尔表达式的值为true将执行的语句 */

}else{

/* 如果布尔表达式的值为false将执行的语句 */

}

描述:

'if'语句后面可以跟'else'语句,当'if'语句的布尔表达式值为'false'时,'else'语句块会被执行。

示例:

/* 运行结果为控制台输出:这是else语句 */

public static void main(String args[]){

int x = 30;

if(x < 20){

System.out.print("这是if语句");

}else{

System.out.print("这是else语句");

}

}

Ⅲ、'if'多选择结构

语法:

if(/* 布尔表达式1 */){

/* 如果布尔表达式1的值为true,将执行的语句 */

}else if(/* 布尔表达式2 */){

/* 如果布尔表达式1的值为false,且布尔表达式2的值为true,将执行的语句 */

}else if(/* 布尔表达式3 */){

/* 如果布尔表达式1和布尔表达式2的值都为false,而布尔表达式3的值为true,将执行的语句 */

}else{

/* 如果布尔表达式1、布尔表达式2和布尔表达式3的值都为false,将执行的语句 */

}

描述:

'if'语句后面可以跟'else if…else'语句,而且'else if'语句可以重复使用,这种语句可以检测到多种可能的情况。

注意:

'if'语句至多有 1 个'else'语句,'else'语句在所有的'else if'语句之后。

'if'语句可以有若干个'else if'语句,它们必须在'else'语句之前。

一旦其中一个'else if'语句或'if'语句检测为true,其他的'else if'以及'else'语句都将跳过执行。

示例:

/* 运行结果为控制台输出:这是第二个if else语句 */

public static void main(String args[]){

int x = 30;

if(x < 20){

System.out.print("这是if语句");

}else if(x < 30){

System.out.print("这是if else语句");

}else if(x < 40){

System.out.print("这是第二个if else语句");

}else{

System.out.print("这是else语句");

}

}

三、'switch'多选择结构

语法:

switch(variable){

case value1:

/* 若变量的值与value1相同,将执行的语句 */

break;/* break语句为可选项 */

case value2:

/* 若变量的值与value2相同,将执行的语句 */

break;

case value3:

/* 若变量的值与value3相同,将执行的语句 */

break;

default:/* default语句为可选项 */

/* 若变量的值与value1、value2、value3都不同,将执行的语句 */

}

描述:

'switch...case'语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

注意:

'switch...case'语句中的变量类型可以是byte、short、int、char。从JavaSE7开始,'switch...case'语句支持String类型了,同时case标签必须为字符串常量或字面量。

'switch'语句可以拥有多个'case'语句。每个'case'后面跟一个要比较的值和冒号。'case'语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

当变量的值与'case'语句的值相等时,那么'case'语句之后的语句开始执行,直到'break'语句出现才会跳出'switch'语句,执行'switch'代码块下面的代码。

'case'语句不是必须要包含'break'语句。如果没有'break'语句出现,程序会继续执行下一条'case'语句,直到出现'break'语句。

'case'语句可以多次重复使用。

'switch'语句可以包含一个'default'语句分支,该分支一般是'switch'语句的最后一个分支(可以在任何位置,但建议在最后一个)。'default'在没有'case'语句的值和变量值相等的时候执行。'default'分支不需要'break'语句。

'switch...case'语句执行时,一定会先进行匹配,匹配成功则执行该分支里的语句,再根据是否有'break',判断是否继续执行下面其他分支里的语句,或是跳出整个'switch...case'语句。

示例:

/* 运行结果为控制台依次输出:1 2 3 */

public static void main(String args[]){

int i = 1;

switch(i){

case 0:

System.out.println("0");

case 1:

System.out.println("1");

case 2:

System.out.println("2");

case 3:

System.out.println("3");

break;

default:

System.out.println("default");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值