表达式、语句和块

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

表达式

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

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

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

}

}

java块语句_Java™ 教程(表达式、语句和块)相关推荐

  1. java switch 条件_Java ——if条件语句 switch语句

    本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //-语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大括 ...

  2. java跳转_java 跳转语句

    Java 支持 3 种跳转语句:break,continue 和return .这些语句把控制转移到程序的其他部分.下面对每一种语句进行讨论. 注意:除了这里讨论的跳转语句,Java 还支持另一种能改 ...

  3. java if用法_java中if语句的写法

    if语句 if 语句的语法如下:if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. 免 ...

  4. java中简单的if语句_java中if语句的写法

    if语句 if 语句的语法如下:if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. 免 ...

  5. java循环语句_java中循环语句

    java中的循环语句主要包括while (){}语句,for(){}语句,do{}while()语句 一.while语句: while语句的使用情况是不知道循环次数的是使用. 格式: while(判断 ...

  6. java if 嵌套_java嵌套if语句

    嵌套if-else语句总是合法有效的,可以在一个if或else if语句中使用另一个if或else if语句. 语法 嵌套if...else的语法如下 - if(boolean_expression_ ...

  7. java 卫语句_Java规约-卫语句(guard clauses)

    Java规约-卫语句(guard clauses)  2017-9-29 /  0评 /  码 移动设备上继续阅读 首先说一下"卫语句"是什么东东? 卫语句就是把复杂的条件表 ...

  8. java switch原则_Java switch case语句

    switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch case 语句语法格式如下: switch(expression){ case value : ...

  9. python try catch语句_Java try catch语句

    在 Java 中通常采用 try catch 语句来捕获异常并处理.语法格式如下: try { 逻辑代码块1; } catch(ExceptionType e) { 处理代码块1; } 在以上语法中, ...

  10. java 静态代码块 作用域_java static关键字和代码块

    static关键字 为什么需要学习static关键字? 针对某一个变量属于类而不属于某一个具体的对象的时候,我们可以考虑使用static关键字 static概述: 多个对象共享同一份数据 static ...

最新文章

  1. android 4.4 禁止下拉,Android开发中禁止下拉式的实现技巧
  2. apicloud开发目标
  3. SQLServer学习笔记系列4
  4. 获取当前周一日期_Excel工作表中最全的时间和日期函数,效率、办公必备
  5. 解决WARN TaskSchedulerImpl: Initial job has not accepted any resources;
  6. 转载 OAuth认证协议原理分析及使用方法
  7. ES | CentOS下基于ElasticSearch的head插件安装
  8. 堆的应用之优先级队列
  9. pta 计算圆周率(C语言实现)
  10. 2021.9.9 prescan文档翻译 Adaptive Cruise Control System
  11. Latex学习笔记(十五)特殊符号的插入
  12. 迅雷离线下载 linux,linux 下使用迅雷离线下载
  13. [bzoj4540][莫队算法]序列
  14. 桌面版vscode用免费的微软4核8G服务器做远程开发(编译运行都在云上,还能自由创建docker服务)
  15. 如何在Chrome中自定义新标签页
  16. 拓嘉辰丰电商:拼多多服务激励分有什么意义?怎样查看
  17. Outlook 2013 pst/ost邮件数据文件迁移实现
  18. 哈,我终于成功量产:因写保护无法格式化的U盘。
  19. GeenMedical:文献查询、筛选、引用排序、相似文献、全文下载、杂志分区、影响因子、结果导出、杂志评述、直接投稿,一站服务
  20. 任岁月变迁,我心不惊

热门文章

  1. 【优化算法】粒子群优化算法(PSO)【含Matlab源码 1073期】
  2. 【TSP】基于matlab GUI蚁群算法求解旅行商问题【含Matlab源码 1032期】
  3. k8s apollo_AI增强的Apollo 16素材让您以4K登上月球
  4. 科技创新 可持续发展 论坛_可持续发展时间
  5. aact portable怎么用_“充电宝”用英语怎么说?可别说成“phone charger”!
  6. 用PHP ping 一个 IP
  7. 10.2.0.4 ON AIX 修改字段属性报错ORA-00600 [kdsgrp1]
  8. Windows Server 2008 R2 远程桌面服务RDS和VDI介绍
  9. MonoCSharp Evaluator Extension
  10. Mschart应用。