Java官方教程(四)表达式 语句和块(2020.12.23)

前言

本文是橙子出于兴趣爱好对Java官方教程的尝试翻译,几乎每日更新,感兴趣的朋友可以关注一下橙子;翻译过程中尽可能多的对一些关键词保留了英文原文,如果你想看最纯正的英文原版教材却又看不懂,可以试着来看一下橙子的翻译版啊,欢迎大家留言讨论,冲鸭!
更多相关文章点击阅读
Java官方教程目录2020最新版

表达式,语句和块 expressions, statements, blocks

operators 可用来构建expressions,以便于计算值。expressions是statements的核心组成部分;statements可以组成blocks。

表达式 Expressions

表达式是由变量,运算符和方法根据语法组成的结构,其结果为单个值(single value)。你已经看过表达式的示例,下面以粗体显示:
在这里插入图片描述
表达式返回值的数据类型取决于表达式中使用的元素(elements)。表达式cadence = 0返回一个int值,因为赋值运算符返回的数据类型与其左侧操作数相同。从其它表达式中可以看出,表达式还可以返回其它类型的值,例如boolean,String。

Java语言允许用各种较小的表达式构造符合表达式,只要表达式各部分数据类型匹配即可。下面是一个复合表达式的例子:

1 * 2 * 3

在这个例子中,表达式的执行顺序并不重要,因为乘法的结果与计算顺序无关。但是下面表达式的结果与执行顺序有关

x + y / 100    // ambiguous

可以使用()来明确指出表达式的计算顺序。

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

如果没有明确指出表达式的执行顺序,则根据运算符的优先级来确定。

语句 Statements

语句大致相当于自然语言中的句子。A statement构成了一个完成的执行单元(unit of execution)。以下类型的表达式可以通过分号“;”结束表达式来构成语句。

  • 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)和流程控制语句(control flow statements)。声明语句声明一个变量。你已经看到了许多声明语句的示例:

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

练一练

在这里插入图片描述
参考答案
在这里插入图片描述
(ps:所有的章节的问题,橙子都是直接用的英文,感觉这样可以更好地帮助大家理解,其实大家只要耐心点,都可以看懂的)

想系统学习Java的朋友关注一下橙子,相信会有意想不到的收获鸭!

猜你喜欢

转载自blog.csdn.net/weixin_42509923/article/details/111571927