3.3 表达式、语句和块
掌握变量和运算符后,我们学习表达式、语句和块(代码块)等要素。运算符用于构建表达式,进行运算。表达式是语句的核心组件,语句归在一起形成块。
3.3.1 表达式
表达式是由变量、运算符和方法调用(根据语法构建)等组成的构造,且表达式的计算结果为单个值。下面例子中黑体部分为表达式:
表达式的返回值类型取决于表达式中的元素。表达式cadence=0返回值的类型为int。因为赋值运算符返回值的数据类型与左边运算对象的数据类型一样,在这个例子中,cadence的数据类型为int。如其他表达式所示,表达式也能返回其他类型的值,如boolean、String。
Java程序语言支持用表达式构建复合表达式,前提是表达式一部分所需的数据类型与另一部分的数据类型相匹配。复合表达式例子如下:
这个例子中,表达式的计算顺序不重要,因为乘法运算的结果与计算顺序无关。也就是说,不管被乘数的顺序如何,输出结果都一样。但这对所有的表达式并不成立。例如,下述表达式会根据执行加法和除法运算的不同顺序,给出不同结果:
为避免这种二义性,可以使用配对圆括号()指定表达式的计算顺序。例如,为了保证上述表达式不存在二义性,可以改写成:
如果不显式指定操作的执行次序,那么执行次序就由表达式内运算符的优先级确定。优先级较高的运算符先计算。例如,除法的优先级比加法要高,因此下述两个表达式是等价的:
构建复合表达式时,用圆括号显式指出先要计算的运算符,这有助于阅读和维护代码。
3.3.2 语句
语句大致相当于自然语言中的句子。语句构成了完整的执行单元。下面几种表达式加上分号(;)就组成了语句:
赋值表达式
递增或递减表达式
方法调用
对象创建表达式
这些语句都叫表达式语句。如下所示为表达式语句的实例:
除了表达式语句外,还有两种语句:声明语句和控制流语句。声明语句用于声明变量,前面已经给出了一些声明语句的例子:
控制流语句用于控制语句执行的次序,将在3.4节介绍。
3.3.3 块
块(代码块)是一对花括号之间的一组语句(由0条或多条语句构成),它可以用在任何单条语句允许执行的位置。下述例子BlockDemo演示了块的使用方法:
3.3.4 问题和练习:表达式、语句和块
问题
- 运算符用于构建 进行运算。
- 表达式是 的核心组件。
- 语句归在一起形成 。
- 代码1 2 3是 表达式的例子。
- 语句大致相当于自然语言中的句子,只是语句要用 结尾,而不是句号。
- 块(代码块)是一对 之间的一组语句(由0条或多条语句构成),它可以用在任何单条语句允许执行的位置。
练习
区分下述表达式语句是什么语句:
答案
相关答案参考
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/QandE/answers_expressions.html。