1

表达式、语句和块

现在你已了解变量和运算符,现在是时候了解表达式、语句和块,运算符可用于构建计算值的表达式,表达式是语句的核心组件,语句可以分组为块。

表达式

表达式是由变量、运算符和方法调用组成的构造,它是根据语言的语法构造的,其值为单个值,你已经看过表达式的示例,如下面所示:

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。从其他表达式中可以看出,表达式也可以返回其他类型的值,例如booleanString

Java编程语言允许你从各种较小的表达式构造复合表达式,只要表达式的一部分所需的数据类型与另一部分的数据类型匹配,以下是复合表达式的示例:

1 * 2 * 3

在此特定示例中,计算表达式的顺序并不重要,因为乘法的结果与顺序无关,结果总是相同的,无论你采用哪种顺序进行乘法运算,但是,并非所有表达都是如此,例如,以下表达式给出不同的结果,具体取决于你是先执行加法还是除法运算:

x + y / 100    // ambiguous

你可以使用一对括号确切指定表达式的计算方式:(,例如,要使前一个表达式明确,你可以编写以下内容:

(x + y) / 100  // unambiguous, recommended

如果你没有明确指出要执行的操作的顺序,则顺序由分配给表达式中使用的运算符的优先级确定,首先评估具有更高优先级的运算符。例如,除法运算符的优先级高于加法运算符,因此,以下两个语句是等效的:

x + y / 100

x + (y / 100) // unambiguous, recommended

在编写复合表达式时,要明确并用括号表示应首先评估哪些运算符,这种做法使代码更易于阅读和维护。

语句

语句大致相当于自然语言中的句子,语句形成一个完整的执行单元,通过使用分号(;)终止表达式,可以将以下类型的表达式转换为语句。

  • 赋值表达式
  • 任何使用++--
  • 方法调用
  • 对象创建表达式

这些语句称为表达式语句,以下是表达式语句的一些示例。

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

上一篇:运算符
下一篇:控制流语句

博弈
2.5k 声望1.5k 粉丝

态度决定一切