如今你已了解变量和运算符,如今是时候了解表达式、语句和块,运算符可用于构建计算值的表达式,表达式是语句的核心组件,语句能够分组为块。编程
表达式是由变量、运算符和方法调用组成的构造,它是根据语言的语法构造的,其值为单个值,你已经看过表达式的示例,以下面所示:segmentfault
int cadence = 0; anArray[0] = 100; System.out.println("Element 1 at index 0: " + anArray[0]); int result = 1 + 2; // result is now 3 if (value1 == value2) System.out.println("value1 == value2");
表达式返回的值的数据类型取决于表达式中使用的元素,表达式cadence = 0
返回一个int
,由于赋值运算符返回与其左侧操做数相同的数据类型的值,在这种状况下,cadence
是一个int
。从其余表达式中能够看出,表达式也能够返回其余类型的值,例如boolean
或String
。编程语言
Java编程语言容许你从各类较小的表达式构造复合表达式,只要表达式的一部分所需的数据类型与另外一部分的数据类型匹配,如下是复合表达式的示例:code
1 * 2 * 3
在此特定示例中,计算表达式的顺序并不重要,由于乘法的结果与顺序无关,结果老是相同的,不管你采用哪一种顺序进行乘法运算,可是,并不是全部表达都是如此,例如,如下表达式给出不一样的结果,具体取决于你是先执行加法仍是除法运算:对象
x + y / 100 // ambiguous
你可使用一对括号确切指定表达式的计算方式:(
和)
,例如,要使前一个表达式明确,你能够编写如下内容:rem
(x + y) / 100 // unambiguous, recommended
若是你没有明确指出要执行的操做的顺序,则顺序由分配给表达式中使用的运算符的优先级肯定,首先评估具备更高优先级的运算符。例如,除法运算符的优先级高于加法运算符,所以,如下两个语句是等效的:get
x + y / 100 x + (y / 100) // unambiguous, recommended
在编写复合表达式时,要明确并用括号表示应首先评估哪些运算符,这种作法使代码更易于阅读和维护。it
语句大体至关于天然语言中的句子,语句造成一个完整的执行单元,经过使用分号(;
)终止表达式,能够将如下类型的表达式转换为语句。io
++
或--
这些语句称为表达式语句,如下是表达式语句的一些示例。class
// assignment statement aValue = 8933.234; // increment statement aValue++; // method invocation statement System.out.println("Hello World!"); // object creation statement Bicycle myBike = new Bicycle();
除了表达式语句以外,还有另外两种语句:声明语句和控制流语句,声明语句声明一个变量,你已经看过不少声明语句的例子:
// declaration statement double aValue = 8933.234;
最后,控制流语句调节语句执行的顺序,你将在下一节“控制流语句”中了解控制流语句。
块是一对花括号之间的一组零个或多个语句,能够在容许单个语句的任何位置使用,如下示例BlockDemo
说明了块的使用:
class BlockDemo { public static void main(String[] args) { boolean condition = true; if (condition) { // begin block 1 System.out.println("Condition is true."); } // end block one else { // begin block 2 System.out.println("Condition is false."); } // end block 2 } }