2.3、表达式、语句和代码块

这篇Java教程基于JDK1.8。教程中的示例和实践不会使用未来发行版中的优化建议。
表达式、语句和代码块

到现在你已经知道了变量和操作符。是时候学习表达式、语句和代码块了。构建表达式时会用到操作符,表达式构建出了语句,语句经过分组成了代码块。

表达式

表达式由变量、操作符和方法调用构成并返回一个值结果,构造过程需要遵守Java语言语法规则。你可以看下如下这些表达式示例:

int cadence = 0;
anArray[0] = 100;
System.out.println("Element 1 an index 0 : " + anArray[0]);

int result = 1 + 2;
if(value1 == value2){
	System.out.println("value1 == value2");
}

表达式的返回值依赖于表达式中的元素。表达式cadence=0返回一个int,因为赋值操作符返回的值的类型与左边的操作数的类型一致,在本例中,cadence是int类型。如同你看到的其他表达式,表达式也可以返回其他的类型,比如boolean或者是String。

Java编程语言允许利用小表达式构造复合表达式,只要表达式一方需要的数据类型与另一方的数据类型一致即可。如下是复合表达式的示例:

1 * 2 * 3

在上面这个特殊的例子中,表达式求值的顺序并不重要,因为乘法的结果与顺序无关。但这并不是说所有的表达式求值结果都与运算顺序无关。比如说下面的表达式,其求值结果取决于是先运算加法还是先运算除法:

x + y / 10;

可以使用平衡括号()精确的指定表达式的运算顺序。比如为了使上面的表达式更精准,可以这样来写:

(x + y) / 10;

如果你没有显示的指明表达式的执行顺序,那么表达式的执行顺序取决于操作符的优先级。高优先级的操作符会首先计算。除法运算符的优先级比加法运算符的优先级要高,所以下面两个表达式是等价的:

x + y / 100 

x + (y / 100)

在编写复合表达式时,应该使用括号明确指明表达式的运算顺序。这种最佳实践是代码更易于阅读和维护。

语句

语句大致相当于自然语言中的句子。语句构成一个完整的执行单元。下面的这些表达式只要是以分号;结尾都可以认为是一个语句

  • 赋值
  • 任意场景下的++和–
  • 方法调用
  • 对象创建表达式

这些语句我们称为表达式语句,如下是表达式语句的示例:

// 赋值
aValue = 8933.234;
// 自增表达式
aValue++;
// 方法调用
System.out.println("Hello World!");
// 对象创建语句
Bicycle myBike = new Bicycle();

除了表达式语句外,还有两种其他类型的语句:声明语句和控制流语句。声明语句声明一个变量,你已经在许多示例中看到这种语句了:

// 声明变量
double aValue = 8933.234;

最后,控制流语句调节语句的执行顺序。你将在接下来的控制流语句章节进一步学习控制流的详细内容。

代码块

代码块是指花括号{}括起来的0个或多个语句,花括号可以用在有语句存在的地方。如下的示例展示了代码块的使用:

class BlockDemo{
	public static void main(String[] args){
		boolean condition = true;
		if(condition){
			System.out.println("Condition is true.");
		}else{
			System.out.println("Condition is false");
		}
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值