Java--流程控制(复合语句、条件语句)

1、复合语句

        与C语言及其他语言相同,Java语言的复合语句是以整个块区为单位的语句,所以又称为块语句。复合语句由开括号“{”开始,闭括号“}”结束。复合语句中的每个语句都是从上到下被执行。复合语句以整个块为单位,能够用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句。

实例练习在项目中创建Test类,在主方法中定义复合语句块,其中复合语句块中嵌套另一复合语句块,代码如下:

public class Test {
	public static void main (String args[]) {
		int x=20;
		{
			int y=30;
			System.out.println(y);
			int z=200;
			boolean b;
			{
				b=y>z;
				System.out.println(b);
			}
		}
		String word="hello java";
		System.out.println(word);
	}
}

运行结果如图所示:

Java--流程控制(复合语句、条件语句)_第1张图片

        在使用复合语句时要注意,复合语句为局部变量创建了一个作用域,该作用域为程序的一部分,在该作用域中,某个变量被创建并能够被使用。如果在某个变量的作用域外使用该变量,就会发生错误。

2、条件语句

(1)if条件语句

        关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。if条件语句可分为简单的if条件语句、if...else语句和if...else if多分支语句。

①简单的if条件语句语法如下:

if(布尔表达式){
    语句序列
}

        布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值。它可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。

        语句序列:可选参数。可以是一条或多条语句,当表达式的值为true时执行这些语句。若语句序列中仅有一条语句,则可以省略条件语句中的“{ }”。

②if...else语句

        if...else语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。

语法如下:

if(表达式){
    若干语句
}
else{
    若干语句
}

        if后面“()”内的表达式的值必须是boolean型的。如果表达式的值为true,则执行紧跟if语句的复合语句;如果表达式的值为false,则执行else后面的复合语句。同简单的if条件语句一样,如果if...else 语句的语句序列中只有一条语句(不包括注释),则可以省略该语句序列外面的“{ }”。有时为了编程的需要,else 或if后面的“{ }”中可以没有语句。

③if...else if 多分支语句

        if..else if 多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”。语法如下:

if(条件表达式1){
    语句序列1
}
else if(条件表达式2){
    语句序列2
}
...
else if(条件表达式n){
    语句序列n
}

        条件表达式1~条件表达式n: 必要参数。 可以由多个表达式组成,但最后返回的结果一定要为boolean类型。

        语句序列:可以是一条或多条语句,当条件表达式1的值为true时,执行语句序列1;当条件表达式2的值为true时,执行语句序列2,依此类推。当省略任意一组语句序列时, 可以保留其外面的“{ }”,也可以将“{ }”替换为“;”。

(2)switch多分支语句

        在Java中,可以用switch语句将动作组织起来,以一个较简单明了的方式来实现“多选一”的选择。语法如下:

switch(表达式)
{
case 常量值1:
     语句块1
     [break;]
case 常量值2:
     语句块2
     [break;]
...
case 常量值n:
     语句块n
     [break;]
default:
     语句块n+1;
     [break;]
}

        switch语句中表达式的值必须是整型、字符型或字符串类型,常量值1~n 必须也是整型、字符型或字符串类型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,则执行该case语句后的若干个语句直到遇到break语句为止。此时如果该case语句中没有break语句,将继续执行后面case中的若干个语句,直到遇到break语句为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default 语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。

你可能感兴趣的:(Java,java,开发语言)