Switch注意细节

我们都知道Java中switch语句为选择语句,很简单,但是 其中的一些小细节我们需要注意,例如当default语句放在前面的时候程序是怎样的运行顺序。
如下程序,switch语句的第一个选择语句就是default语句,这里的出现很多陷阱:

  1. default虽然为选择的第一个语句,但是它确实最后一个运行,当所有选择情况都不符合它才运行。
  2. 从程序我们可以看出case1,2,3都是没有break语句的,所以当程序遍历查看所有选择后都不符合后,当然会执行defaullt语句(这是无可厚非的),但是下面我们需要注意,由于default语句同样没有break语句,那么当程序运行到这里后程序不会停止,会按照顺序继续向下执行,直到遇到break语句。我们从程序的运行结果可以看出来。
public class SwitchTest {
	public static void main(String[] args) 
	{
		int a = 5;
		switch(a)
		{
			default:
			System.out.println("a没有对应的值");
			case 1:
				System.out.println("a的值为"+a);
				//break;
			case 2:
				System.out.println("a的值为"+a);
				//break;
			case 3:
				System.out.println("a的值为"+a);
				//break;
			case 4:
				System.out.println("a的值为"+a);
				break;
				
		}
	}

}

程序运行结果:
a没有对应的值
a的值为5
a的值为5
a的值为5
a的值为5

这里再追加一个小细节,java小白可以看一下

public class SwitchTest {
	public static void main(String[] args) 
	{
		int a = 5;
		switch(a)
		{
			default:
			System.out.println("a没有对应的值");
			case 1:
			case 6:
			case 0:
				System.out.println("a的值为"+a);
				//break;
			case 2:
				System.out.println("a的值为"+a);
				//break;
			case 3:
				System.out.println("a的值为"+a);
				//break;
			case 4:
				System.out.println("a的值为"+a);
				break;
		
			
			
		}
	}

}
发布了14 篇原创文章 · 获赞 0 · 访问量 777

猜你喜欢

转载自blog.csdn.net/heixue666/article/details/104098412