java - 了解 Java 中的最大蒙克?

标签 java javac

我知道Maximal Munch Rule不是 Java 特定的,但我的问题只涉及 JavaJava 编译器

我也看了一些相关的回答:

但我仍然无法完全掌握Maximal Munch 的概念及其应用。

如以下代码:

int i = 3;
int j = +i;
System.out.println(i); //3
System.out.println(j); //3

语句 int j = +i; 是如何被 Java 编译器 解释的,为什么会这样?

另一个例子,int j =++i; 也可以,但我不确定如何。

我试图自己理解这个概念,但我做不到。

我想知道它是如何工作的、它背后的概念以及 Java 编译器 如何处理此类语句。

最佳答案

加号可以用作:

  • 1 + 2 二进制数字加法运算符
  • "A"+ "B" 二进制字符串连接运算符
  • ++i 一元递增运算符
  • +i 一元正号运算符(不常见,-i 一元负号运算符更常见)

由于正号运算符实际上不做任何事情,因此可以将其删除。

// All the same
int j = + +i;
int j = +i;
int j = i;
int j = +(+(i));
int j = +(i);

查看此处了解更多信息:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html

关于java - 了解 Java 中的最大蒙克?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32800475/

相关文章:

Eclipse 中的javac?

java - 错误: Main method not found in java class

java - (网络套接字)字节在发送队列中停留 15 分钟;为什么?

java - 无法访问Parent LinkedList java

java - Hibernate 父子映射

java - 如何强制 Java 8 wsimport 命令行生成 1.6 目标兼容代码

java - 从另一个java程序运行java程序

java - Javac 调试打开和关闭之间是否存在性能差异?

java - 使用 spring boot 自定义 keycloak 错误页面

java - Spring注入(inject)实现bean