Java - Language Basics - Expressions, Statements, and Blocks
Language Basics
Expressions, Statements, and Blocks
现在您已经理解了变量和操作符,接下来学习表达式、语句和块。运算符可用于构建计算值的表达式;表达式是语句的核心组成部分;语句可以分组成块。
Expressions
表达式是由变量、操作符和方法调用组成的结构,它们是根据语言的语法构造的,计算结果为单个值。你已经看到了一些表达的例子,下面以粗体显示:
(tip:“=”也属于操作符)
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是一个整数。从其他表达式可以看到,表达式也可以返回其他类型的值,比如布尔值或字符串。
Java编程语言允许您用各种较小的表达式构造复合表达式,只要表达式的一部分所需的数据类型与另一部分的数据类型相匹配。下面是一个复合表达式的例子:
1 * 2 * 3
在这个例子中,表达式的求值顺序不重要,因为乘法的结果与顺序无关;结果总是相同的,无论您以何种顺序进行乘法运算。然而,并不是所有的表达式都是这样。例如,下面的表达式会根据你是先执行加法还是除法运算而给出不同的结果:
x + y / 100 // ambiguous
您可以使用平衡括号:(and)精确地指定表达式的计算方式。例如,要使前面的表达式明确,你可以这样写:
(x + y) / 100 // unambiguous, recommended
如果您没有显式地指示执行操作的顺序,则顺序由分配给表达式中使用的操作符的优先级决定。优先级高的操作符会先计算。例如,除法运算符的优先级高于加法运算符。因此,以下两种表述是等价的:
x + y / 100
x + (y / 100) // unambiguous, recommended
在编写复合表达式时,应显式地使用圆括号表示应该首先计算哪些操作符。这种做法使代码更容易阅读和维护。
Statements(语句)
陈述与自然语言中的句子大致相同。语句构成一个完整的执行单元。通过以分号(;)结束表达式,可以将下列类型的表达式制成语句。
- 赋值表达式
- 任何++或--的使用
- 方法调用
- 对象创建表达式
这样的语句称为表达式语句。下面是一些表达式语句的例子。
// assignment statement
aValue = 8933.234;
// increment statement
aValue++;
// method invocation statement
System.out.println("Hello World!");
// object creation statement
Bicycle myBike = new Bicycle();
除了表达式语句之外,还有另外两种语句:声明语句和control flow(控制流)语句。声明语句声明一个变量。你已经看到了很多声明语句的例子:
// declaration statement
double aValue = 8933.234;
最后,控制流语句控制执行语句的顺序。您将在下一节控制流语句中了解控制流语句
Blocks(语句块)
语句块是在大括号之间的一条或多条语句,可以在任何允许使用一条语句的地方使用。下面的例子,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
}
}

浙公网安备 33010602011771号