【Java语法解析】i+++j应该如何计算?

本文探讨了Java中表达式`i+++j`的解析方式,解释了编译器遵循的最长可能解析原则,该原则导致表达式被解析为`(i++) + j`。文章通过示例展示了该原则在Unicode转义和类型定义中的例外情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


语法话题

本期的话题如下:

i+++j应该如何计算?

关于该表达式,在类似于C / C++中讨论是没有多大意义的,因为C / C++依赖于实现的硬件结构,不同的环境结果也会不同。不过在Java中,这个结果是固定的,不受其运行的硬件环境与平台所影响。


语法分析

我们可以将表达式解析成两种可能的形式:

  1. i + (++j)
  2. (i++) + j

以上的括号不是必须的,这里仅为了清晰起见(后面也是如此)。

我们可以通过程序来测试。

package test;

public class Test {
   
	public static void main(String[] args) {
   
		int i = 10;
		int j = 20;
		int k = i+++j;
		System.out.println("i=" + i);
		System.out.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值