首页 理论教育 语言的语句分类

语言的语句分类

时间:2022-02-28 理论教育 版权反馈
【摘要】:在Java语言中,语句以分号“;”作为结束标志。在作用域内,不能够有同名的其他标号或局部变量。标号语句的标号只是用来标识语句,并不影响语句的执行效果。在Java语言中,允许一个块出现在任何单一语句可以出现的地方。在一个块语句中声明的局部变量,其作用域是该变量的声明开始点到包含其声明的最小块结束处。如果表达式1的值为true,断言语句不会影响程序的继续执行;如果表达式1的值为false,断言语句会抛出java.lang.AssertionError类型异常对象。

3.1.1 Java语言的语句分类

在Java语言中,语句以分号“;”作为结束标志。块语句由其他语句组成,其本身不需要用分号结尾。另外,内嵌有块语句并以块语句结尾的语句,也不需要用分号结尾。

Java语句可分为空语句、标号语句、声明语句、表达式语句、分支语句、循环语句、断言语句、跳转语句、同步语句、异常语句、块语句等。

Java语句还分为说明性语句和操作性语句。

(1)说明性语句用来说明包和类的引入、类的声明、变量的声明。例如:

img64

(2)操作性语句有表达式语句、块语句、分支语句和循环语句等。

1.空语句

空语句仅包含一个分号,不执行任何操作,常用于这种情况:语法上要求程序中某处应该有一条语句,但实际上不需要做数据处理。比如:

img65

该循环语句的循环体只包含一条空语句。虽然循环体被循环执行了1万次,但并不作任何处理。

2.表达式语句

表达式语句是由表达式加分号构成的语句。例如:

img66

在Java语言中语句用分号终止。但并不是所有的表达式都可以构成语句。例如,表达式a<=b,加分号构成的语句无意义。下面几种类型的表达式可以通过添加分号构成表达式语句:

(1)赋值表达式,包含赋值运算符“=”或复合赋值运算符之一;

(2)++或--的前后缀形式;

(3)方法调用(无论它是否有返回值);

(4)对象创建表达式,用new来创建一个对象的表达式。

3.声明语句

声明语句声明一个变量,并可为其赋初值。声明语句可以出现在任意块内。定义在方法内或块内的局部变量在使用前必须赋初值,或在声明的同时赋初值,或在声明后使用前赋初值。

4.标号语句

一个语句前放置一个标号即成为标号语句。标号语句的格式为:

标号:语句

标号的命名应该服从标识符的命名规则。与变量类似,标号也具有作用域,标号的作用域是它所在的块语句。在作用域内,不能够有同名的其他标号或局部变量。

标号语句的标号只是用来标识语句,并不影响语句的执行效果。标号的作用可以在break和continue两条跳转语句上体现出来。break和continue语句可以包含标号,以便跳转到指定的标号语句上去执行。

5.块语句

用一对花括号“{}”将零个或多个语句括起来,就构成一个块语句(也称复合语句)。在Java语言中,允许一个块出现在任何单一语句可以出现的地方。块语句本身不需要以分号结尾。在一个块语句中声明的局部变量,其作用域是该变量的声明开始点到包含其声明的最小块结束处。例如:

img67

在块语句中允许包含另一个块语句(块嵌套)。块语句也可以只有一对大括号,而不包含任何语句。方法体是一个块语句。分支语句、循环语句内也经常包含块语句。

6.断言语句

断言语句是校验类的方法是否被正确调用的一种简捷机制,其语法格式为:

assert表达式1;

assert表达式1:表达式2;其中,表达式1必须是boolean表达式,表达式2则可以是任何类型。

在应用程序运行时,断言机制可以打开或关闭,默认情况下是关闭的。

如果断言机制被关闭时,断言语句的表达式不会被执行,断言语句不会对程序产生任何作用。如果断言机制被打开时,断言语句首先会执行表达式1。如果表达式1的值为true,断言语句不会影响程序的继续执行;如果表达式1的值为false,断言语句会抛出java.lang.AssertionError类型异常对象。表达式2的值转换为字符串后作为创建异常对象的构造方法AssertionError(msg)的参数,用于表示错误的相关信息,如果不存在表达式2,则使用默认的构造方法AssertionError()来创建异常对象。

断言机制一般在开发调试时打开,而在实际交付时关闭。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈