表达式、语句和块

运算符用于计算构建成了表达式(expressions),而表达式是语句(statements)的核心组成,而语句是组织形式为块(blocks)。

表达式

表达式是由变量、运算符以及方法调用所构成的结构,如下:

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。

下面是一个复合表达式:

1 * 2 * 3

表达式应该尽量避免歧义,比如:

x + y / 100

有歧义,推荐写成 (x + y) / 100x + (y / 100)

语句

语句相当于自然语言中的句子。一条语句就是一个执行单元。用分号(;)结束一条语句。下面是表达式语句(expression statements),包括:

  • 赋值表达式(Assignment expressions)
  • ++ 或者 --(Any use of ++ or --)
  • 方法调用(Method invocations—)
  • 对象创建(Object creation expressions)

下面是表达式语句的例子

// assignment statement
aValue = 8933.234;
// increment statement
aValue++;
// method invocation statement
System.out.println("Hello World!");
// object creation statement
Bicycle myBike = new Bicycle();

除了表达式语句,其他的还有声明语句(declaration statements):

// declaration statement
double aValue = 8933.234;

以及控制流程语句(control flow statements):

if (isMoving)
        currentSpeed--;

块是一组零个或多个成对大括号之间的语句,并可以在任何地方允许使用一个单独的语句。下面的 BlockDemo 例子:

class BlockDemo {

    /**
     * @param args
     */
    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
    }
}

源码

本章例子的源码,可以在 com.waylau.essentialjava.expression 包下找到。

results matching ""

    No results matching ""