标签:
Java提供了两种常见的分支控制结构,if语句和switch语句。
其中if语句使用boolean表达式或boolean值作为分支条件来进行分支控制,
而switch语句则用于对多个整形值进行匹配,从而实现分支控制。
if语句使用boolean表达式或boolean值作为分支条件来进行分支控制。具体有如下3种形式:
1),if(){}
2),if(){}else{}
3),if(){}else if(){}else{}
如果if,else if,else后的代码块只有一行语句时,则可以省略花括号,因为单行语句本身就是一个整体,无须用花括号来把他们定义成一个整体。
注意:if,else,else if后的条件执行体要么是一个花括号括起来的代码块,则这个代码块整体作为条件执行体,要么是以分号为结束符的一行语句,甚至可能是一个空语句。
空语句就是一个分号,那么就只是这条语句作为条件执行体。如果省略了if条件后条件执行体的花括号,那么if条件只控制到紧跟该条件语句的第一个分号处。
使用if语句个人建议:
1),就我个人编码风格来说,我不建议省略花括号,即使执行体只有一条语句。
2),使用if...else语句时,一定要先处理包含范围更小的情况,一定要先处理经常会发生的分支。
对于任何的if else语句,表面上看起来,else后没有任何条件,这是错误的想法,else的含义是“否则”,else本身就是一个条件。else的隐含条件就是对前面条件取反。
public static void main(String[] args)
	{
		// 下面的代码控制台永远输出-->这个分支屏蔽了下面所有的分支了呢
		int age = 50;
		if (age > 10)
		{
			System.out.println("这个分支屏蔽了下面所有的分支了呢");
		}
		else if (age > 30)
		{
			System.out.println("这个分支永远不会被执行,永远永远");
		}
	}
switch语句由一个控制表达式和多个case标签组成,和if语句不同的是,switch语句后面的控制表达式的数据类型只能是byte,short,char,int四种整数类型,枚举类型和
Java.lang.String类型,不能是boolean类型。
switch语句后面的控制表达式支持字符串类型,是从Java7开始的,建议使用Java8,Java8是Java在5之后的另外一个里程碑版本。
switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。switch语句的语法格式如下:
switch(expression)
{
	case condition1:
	{
		statement(s1)
		break;
	}
	case condition2:
	{
		statement(s2)
		break;
	}
	...
	case conditionN:
	{
		statement(sN)
		break;
	}
	default:
	{
		statement(s)
	}
}public static void main(String[] args)
	{
		String season = "夏天";
		switch (season)
		{
		case "春天":
		{
			System.out.println("这里是春天吆");
			break;
		}
		case "夏天":
		{
			System.out.println("这里是夏天吆");
			break;
		}
		default:
		{
			System.out.println("只能是秋天或者冬天啦");
		}
		}
	}1),switch语句后的表达式的数据类型只能是byte,short,int,char4种整数类型,String和枚举类型
2),如果省略了case后代码块的break,将引入一个陷阱。因为这个限制,我平时很少使用switch语句,建议大家也最好别多使用,用if+else足够
public static void main(String[] args)
	{
		// 下面的代码演示,代码执行块中少了break的编码陷阱。
		// 第一个case之后所有的分支都会被执行,不建议多使用switch语句
		String season = "LinkinPark";
		switch (season)
		{
		case "NightWish":
		{
			System.out.println("这里的语句不会被执行");
		}
		case "LinkinPark":
		{
			System.out.println("这里的语句会被执行");
		}
		default:
		{
			System.out.println("这里的语句也会被执行");
		}
		}
	}标签:
原文地址:http://blog.csdn.net/u011794238/article/details/51364320