Java语句(三)

本文详细介绍了Java中的switch语句,包括其语法、用法和与if语句的区别。同时,讲解了while和do-while循环的结构、执行流程以及它们之间的对比。强调了在不同场景下如何选择合适的循环结构,并通过实例展示了它们的使用方法。
摘要由CSDN通过智能技术生成

接着往下

6Java switch语句

switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中的一个执行。

switch 语句格式

switch 语句是 Java 的多路分支语句。它提供了一种基于一个表达式的值来使程序执行不同部分的简单方法。因此,它提供了一个比一系列 if-else-if 语句更好的选择。

switch 语句的基本语法形式如下所示:

switch(表达式) {

case 值 1: //这里是冒号:

语句块 1;

break;

case 值 2:

语句块 2;

break;

case 值 n:

语句块 n;

break;

default:

语句块 n+1;

break;

}

其中,switch、case、default、break 都是 Java 的关键字。

1 )switch

表示“开关”,这个开关就是 switch 关键字后面小括号里的值,小括号里要放一个整型变量

或字符型变量。表达式必须为 byte,short,int,char 类型。

Java7 增强了 switch 语句的功能,允许 switch 语句的控制表达式是 java.lang.String 类型的变量或表达式。只能是 java.lang.String 类型,不能是 StringBuffer 或 StringBuilder 这两种字

符串的类型。

2 )case

表示“情况,情形”,case 标签可以是:类型为 char、byte、 short 或 int ,Sting 的常量表达式。

枚举常量。

从 Java SE 7 开始, case 标签还可以是字符串字面量。

注意:重复的 case 值是不允许的。

3 )default

表示“默认”,即其他情况都不满足。default 后要紧跟冒号,default 块和 case 块的先后顺序可以变动,不会影响程序执行结果。通常,default 块放在末尾,也可以省略不写。

4 )break

表示“停止”,即跳出当前结构。

如果在 case 分支语句的末尾没有 break 语句,有可能触发多个 case 分支。那么就会接着执行下一个 case 分支语句。这种情况相当危险,常常会引发错误switch 语句的执行过程如下:表达式的值与每个 case 语句中的常量作比较。如果发现了一个与之相匹配的,则执行该 case 语句后的代码。如果没有一个 case 常量与表达式的值相匹配,则执行 default 语句。当然,default 语句是可选的。如果没有相匹配的 case 语句,也没有 default 语句,则什么也不执行。

例一:

可以将一个 switch 语句作为一个外部 switch 语句的语句序列的一部分,这称为嵌套 switch

语句。因为一个 switch 语句定义了自己的块,外部 switch 语句和内部 switch 语句的 case

常量不会产生冲突。

switch 语句不同于 if 语句的是 switch 语句仅能测试相等的情况,而 if 语句可计算任何类型的布尔表达式。也就是 switch 语句只能寻找 case 常量间某个值与表达式的值相匹配。在同一个 switch 语句中没有两个相同的 case 常量。当然,外部 switch 语句中的case 常量可以和内部 switch 语句中的 case 常量相同。

switch 语句通常比一系列嵌套 if 语句更有效。

if 语句和 switch 语句的区别

if 和 switch 语句都表示条件语句,可以从使用效率和实用性两方面加以区分。

1. 从使用效率上区分

从使用效率上区分,在对同一个变量的不同值作条件判断时,既可以使用 switch 语句,也可以使用 if 语句。使用 switch 语句的效率更高一些,尤其是判断的分支越多,越明显。

2. 从实用性上区分

从语句的实用性角度区分,switch 语句不如 if 条件语句,if 语句是应用最广泛和最实用的语句。

3. 何时使用 if 语句和 switch 语句

在程序开发的过程中,何时使用 if 语句和 switch 语句,需要根据实际情况而定,应尽量做到物尽其用。不能因为 switch 语句的效率高就一直使用,也不能因为 if 语句常用就不用switch 语句。需要根据实际情况,具体问题具体分析,使用最适合的条件语句。一般情况下,对于判断条件较少的,可以使用 if 条件语句,但是在实现一些多条件的判断中,最好使用 switch 语句。

5Java while和do while循环

循环语句可能包含如下 4 个部分。

初始化语句(init statement): 一条或多条语句,这些语句用于完成一些初始化工

作,初始化语句在循环开始之前执行。

循环条件(test_expression):这是一个 boolean 表达式,这个表达式能决定是否

执行循环体。

循环体(body_statement):这个部分是循环的主体,如果循环条件允许,这个代

码块将被重复执行。如果这个代码块只有一行语句,则这个代码块的花括号是可以省略的。

迭代语句(iteration_statement):这个部分在一次循环体执行结束后,对循环条

件求值之前执行,使通常用于控制循环条件中的变量,得循环在合适的时候结束。

while 语句

while 语句是 Java 最基本的循环语句,是一种先判断的循环结构,可以在一定条件下重复

执行一段代码。该语句需要判断一个测试条件,如果该条件为真,则执行循环语句(循环

语句可以是一条或多条),否则跳出循环。

while 循环语句的语法结构如下:

while(条件表达式) { 语句块; }

其中语句块中的代码可以是一条或者多条语句,而条件表达式是一个有效的 boolean 表达

式,它决定了是否执行循环体。当条件表达式的值为 true 时,就执行大括号中的语句块。

执行完毕,再次检查表达式是否为 true,如果还为 true,则再次执行大括号中的代码,否

则就跳出循环,执行 while 循环之后的代码。

例 :

do-while 语句

如你刚才所见,如果 while 循环一开始条件表达式就是假的,那么循环体就根本不被执行。然而,有时需要在开始时条件表达式即使是假的情况下,while 循环至少也要执行一次。换句话说,有时你需要在一次循环结束后再测试中止表达式,而不是在循环开始时。Java 就提供了这样的循环:do-while 循环。do-while 循环语句也是 Java 中运用广泛的循环语句,它由循环条件和循环体组成,但它与 while 语句略有不同。do-while 循环语句的特点是先执行循环体,然后判断循环条件是否成立。

do-while 语句的语法格式如下:

do { 语句块; }while(条件表达式);

以上语句的执行过程是,首先执行一次循环操作,然后再判断 while 后面的条件表达式是

否为 true,如果循环条件满足,循环继续执行,否则退出循环。while 语句后必须以分号

表示循环结束。

例 2

while 和 和 do-while 的比较

while 循环和 do-while 循环的相同处是:都是循环结构,使用 while(循环条件) 表示循环条件,使用大括号将循环操作括起来。

while 循环和 do-while 循环的不同处如下:

语法不同:与 while 循环相比,do-while 循环将 while 关键字和循环条件放在后面,而且前面多了 do 关键字,后面多了一个分号。

执行次序不同:while 循环先判断,再执行。do-while 循环先执行,再判断。一开始循环条件就不满足的情况下,while 循环一次都不会执行,do-while 循环则不管什么情况下都至少执行一次。

以上来自老师授课讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值