企业真题

breakcontinue 的作用

来源:智?图

break 和 continue

if 分支语句和 switch 分支语句的异同之处

来源:智?图、灵伴?来科技

if-else 语句优势:

  • if 语句的条件是一个布尔类型值,if 条件表达式为 true 则进入分支,可以用于范围的判断,也可以用于等值的判断,使用范围更广。
  • switch 语句的条件是一个常量值(byteshortintchar、枚举、String),只能判断某个变量或表达式的结果是否等于某个常量值,使用场景较狭窄。

switch 语句优势:

  • 当条件是判断某个变量或表达式是否等于某个固定的常量值时,使用 ifswitch 都可以,习惯上使用 switch 更多。因为可读性好、效率稍高。当条件是区间范围的判断时,只能使用 if 语句。
  • 使用 switch 可以利用穿透性,同时执行多个分支,而 if...else 没有穿透性。

switch 语句中忘写 break 会发生什么

来源:北京?蓝

case 穿透

Java 支持哪些类型循环

来源:上海?睿

  • for
  • while
  • do-while
  • 增强 forforeach

whiledo-while 循环的区别

来源:国?科技研究院

do-while 至少会执行一次

拓展练习

switch 是否能作用在 bytelongString 上?

  • 可以作用在 byte
  • 不能作用在 long
  • 可以作用在 String 上(JDK7.0)

switch 后面使用的表达式可以是哪些数据类型的

switch 中的表达式只能是特定的数据类型。如下:

  • byte
  • short
  • char
  • int
  • 枚举(JDK5.0)
  • String(JDK7.0)

判断代码输出结果

label:
for (int i = 1; i <= 4; i++) {
	for (int j = 1; j <= 10; j++) {
		if (j % 4 == 0) {
			continue label;
		}
		System.out.print(j);
	}
	System.out.println();
}
 
// 123123123123

字符类型判断

案例:从键盘输入一个字符,判断它是字母还是数字,还是其他字符

  • 数字范围:0-9
  • 字母范围:A-Z,a-z
public class Exercise2 {
	public static void main(String[] args) {
		java.util.Scanner input = new java.util.Scanner(System.in);
		System.out.print("请输入一个字符:");
		char c = input.next().charAt(0);
		if (c >= '0' && c <= '9') {
			System.out.println(c + "是数字");
		} else if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') {
			System.out.println(c + "是字母");
		} else {
			System.out.println(c + "非数字非字母的其他字符");
		}
	}
}