流程控制--分支结构

Java提供了两种常见的分支控制结构,if语句和switch语句。

其中if语句使用boolean表达式或boolean值作为分支条件来进行分支控制,

而switch语句则用于对多个整形值进行匹配,从而实现分支控制。

if条件语句

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分支语句

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)
	}
}

switch语句中最后的default,意思就是表达式的值和前面所有的case中表达式的值都不相同。举个例子:

public static void main(String[] args)
	{
		String season = "夏天";
		switch (season)
		{
		case "春天":
		{
			System.out.println("这里是春天吆");
			break;
		}
		case "夏天":
		{
			System.out.println("这里是夏天吆");
			break;
		}
		default:
		{
			System.out.println("只能是秋天或者冬天啦");
		}
		}
	}

使用switch语句时,有两个值得注意的地方:

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("这里的语句也会被执行");
		}
		}
	}
时间: 2024-08-01 00:18:58

流程控制--分支结构的相关文章

程序流程控制——分支结构

顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转. Java中定义成员变量时采用合法的前向引用.如: public class Test{ int num1 = 12; int num2 = num1 + 2; } 错误形式: public class Test{ int num2 = num1 + 2: int num1 = 12; } 分支结构 根据条件,选择性地执行某段代码. 有if…else和switch两种分支语句. if语句三种格式: 1. if (条件表达式) { 执行代码

IT兄弟连 Java语法教程 流程控制语句 分支结构语句1

不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构.其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码.Java同样提供了这两种流程控制结构的语法,Java提供了if和switch两种分支语句,并提供了while.do-while和for三种循环语句.除此之外,JDK5还提供了一种新的循环:foreach循环,能以更简单的方式来遍历集合.数组的元素.Java还提供了break和continue来控制程序的循环结构. 分支结构语句

10、shell编程+流程控制+分支嵌套

SHELL 编程 shell 是一个命令解释器,侦听用户指令.启动这些指令.将结果返回给用户(交互式的shell) shell 也是一种简单的程序设计语言.利用它可以编写一些系统脚本. 查看本机shell 信息: cat /etc/shells     --查看本支持的shell echo $SHELL --查看当前支持的shell shell 在执行命令时,各种命令的优先级: 别名 -> 关键字 -> 函数 -> 内置命令 -> 脚本 别名:命令的另一种形式,有些情况下可以简化命

黑马程序员-------------C语言流程控制-选择结构

流程控制 c语言中有3中结构控制程序运行1> 顺序结构:默认的流程结构,按照书写的顺序执行每一条语句2> 选择结构:对给定的条件进行判断,在根据判断结果来决定来执行哪一段代码3> 循环结构:在给定条件成立的情况下,反复执行某一段代码 1.选择结构 if语句 1>if的第一种结构 if(条件){//条件成立就会执行下面语句 语句1: 语句2: ....... } 例子: #include <stdio.h> int main (){ //人数 int cout = 0;

流程控制--选择结构和循环结构

选择结构是根据条件判断的结果来执行 不同的代码,选择结构可以分为单分支结构.双分支结构和多分支结构,Java提供了if和switch语句来实现选择结构 if有三种控制语句形式:单分支结构.双分支结构和多分支结构 if语句的语法格式:if(表达式){语句} 其中表达式是布尔类型的表达式,true或者false 执行步骤: 1.对表达式的结果进行判断 2.如果表达式的结果为真,则执行该语句. 3.如果表达式的结果为假,则跳过该语句 if-else语句格式:if(表达式){语句1}else{语句2}

IT兄弟连 Java语法教程 流程控制语句 分支结构语句3

3  if-else if-else条件语句 if-else if-else的完整形式如下: if(判断条件A){ A语句块(判断条件A的值为true,执行) }else if(判断条件B){ B语句块(判断条件B的值为true,执行) }else{ C语句块(判断条件A和判断条件B的值都为false,执行) }… 当然,如果语句块中只有一条语句的话,也可以使用以下形式简化代码: if(判断条件A) A语句块; else if(判断条件B) B语句块; else C语句块; … 条件表达式被从上

黑马程序员-流程控制--循环结构

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1.while循环 while(条件)         //执行完一次判断一次 { 循环体 } 运行原理: 1.如果一开始条件不成立就永远不会执行循环体 2.如果条件成立就会执行一次循环体,执行完毕后再判断条件是否成立 注意事项: 最简单的死循环while(1) while (a>0) ; 如果加分号会一直执行while(a>0); 同样也是死循环 循环中如果包含一个以上的语句应该用花括号括

IT兄弟连 Java语法教程 流程控制语句 分支结构语句5

5  switch-case条件语句 Java中的第二种分支控制语句时switch语句,switch语句提供了多路支持,因此可以使程序在多个选项中进行选择.尽管一系列嵌套if语句可以执行多路测试,然而多数情况下使用switch则更为高效.其完整形式如下: switch(expression){ case constant1: statement sequence; break; case constan2: statement sequence; break; ... ... default:

IT兄弟连 Java语法教程 流程控制语句 分支结构语句2

2  if-else条件语句 if-else语句的完整形式如下: if(判断条件){ A代码块(判断条件的值为true,执行) }else{ B代码块(判断条件的值为false,执行) } 当然,如果代码块只有一条语句的话,也可以使用以下形式简化代码: if(判断条件) A代码块; else B代码块; 在if-else语句中,如果判断条件表达式为真,那么执行if中的A代码块:否则,退出if,去执行else中的B代码.两个代码块是不能同时也是不可能同时执行的.控制if语句的条件表达式必须生成bo