程序控制流程面试题
一.while和do…while的区别?
- 使用
while循环,当你需要在条件满足时执行循环,但不希望在条件一开始就不满足的情况下执行任何代码。 - 使用
do...while循环,当你需要确保循环体至少执行一次,然后根据条件决定是否继续执行。
二.循环中,break的作用是什么?continue的作用是什么?
- break:
break语句用于立即终止包含它的最内层循环的执行,无论循环条件是否仍然为真。- 一旦执行到
break语句,程序流程会跳出循环体,继续执行循环之后的代码。 - 这在需要基于某个特定条件提前退出循环时非常有用。
- continue:
continue语句用于跳过当前循环的剩余部分,并立即开始下一次循环迭代。- 这通常用于在满足某个条件时忽略当前迭代,直接进入下一次循环的条件检查和执行。
continue只会跳过当前迭代,循环本身仍然会继续执行,直到满足退出条件。
三.jdk1.8中,swtich 支持哪些类型?jdk1.8之后版本对switch特性有哪些增强?
在 JDK 1.8 中,switch 语句支持的类型包括 byte、short、int、char、枚举类型以及 String 类型
引入了新的功能,比如 case 可以连续拼写,这在功能上等同于 if 判断中的逻辑或 ||,以及 switch 表达式可以有返回值 。在 JDK 14 之前的版本,虽然不能直接连续书写 case,但可以通过省略 break 来达到类似的效果 。
JDK 21 引入了模式匹配(Pattern Matching)到 switch 语句中,这使得 switch 表达式可以根据类型和模式进行匹配,提供了类型安全和更灵活的分支选择机制
四.switch…case语句中,break的作用是什么?
在 switch...case 语句中,break 的作用是终止当前 switch 块的执行,并退出 switch 语句。具体来说:
- 终止执行: 当程序流程执行到某个
case标签,并执行完该case下的代码块后,如果该case后面有break语句,程序将立即跳出整个switch语句,不再继续执行后续的case代码块。 - 避免执行后续
case: 没有break语句的情况下,程序会继续执行到下一个case,即使该case的条件并不满足,这种现象称为 "fall-through"(贯穿)。break可以防止这种情况发生。 - 控制流程:
break允许开发者精确控制switch语句的执行流程,确保一旦某个case匹配成功并执行完毕后,不会继续执行其他不相关的case。
浙公网安备 33010602011771号