当前位置: 首页 > 面试题库 >

未分配的表达式何时才是有效的语句?

邢运良
2023-03-14
问题内容

我已经阅读了Oracle的表达式教程,但无法理解。

众所周知,以下代码行是有效的Java语法:

new Object();

但是,当我尝试使用原始表达式进行此操作时:

(3 + 2);

Eclipse显示编译错误“分配的左侧必须是变量”。

这不仅适用于原语,而且适用于String文字:

"arbitraryString";

那么,未分配的表达式作为Java代码行有效的规则是什么?


问题答案:

该规则在Java语言规范中:

某些类型的表达式可以在其后加上分号来用作语句。

ExpressionStatement:

  • StatementExpression;

StatementExpression:

  • 分配
  • 预增量表达
  • PreDecrementExpression
  • 后增量表达
  • 后递减表达式
  • 方法调用
  • ClassInstanceCreationExpression

您会看到构造函数调用是一条语句。但是不是String文字或数学表达式。



 类似资料:
  • 我试图调试一个旧的jsp站点,所以我在运行Windows7的本地机器上安装了tomcat 7和Netbean IDE 7.2.1,并设置了一切。但是当我运行它时,我得到一个错误: SEVERE: Servlet.service()为servlet jsp抛出异常org.apache.jasper.JasperExcture: /pages/caselisting.jsp(行: 133,列: 35)

  • 问题内容: 我想在程序的输出日志上进行正则表达式匹配(在Python中)。日志包含如下几行: 我想捕获在以VALUE开头的行的第一次出现之后出现的数字列表。即,我希望它返回。问题是我事先不知道会有多少个数字。 我试图将其用作正则表达式: 这与行匹配,但只捕获了最后一个值,所以我得到了(‘119’,)。 问题答案: 您要查找的是 解析器 ,而不是正则表达式匹配项。在您的情况下,我会考虑使用一个非常简

  • 问题内容: 我有一个小程序,允许用户输入一些正则表达式。之后,我想检查此输入是否为 有效的 正则表达式。 我想知道Java中是否有内置方法,但是找不到这种喷射器。 你能给我一些建议吗? 问题答案: 这是一个例子。 然后输出,例如。

  • 本文向大家介绍表达式和语句有什么区别?如何把语句转换为表达式?相关面试题,主要包含被问及表达式和语句有什么区别?如何把语句转换为表达式?时的应答技巧和注意事项,需要的朋友参考一下 简单的说来,表达式(Expression)是语句(Statement)的子集,表达式一定会返回一个值,而语句不会。 比如定义变量、返回语句都属于语句,而逻辑判断、方法调用、赋值都属于表达式。 支持语句的地方都支持表达式,

  • 问题内容: 我知道通过使用Xeger,我们可以获得指定模式的随机值。 我想知道是否有一种方法可以返回指定正则表达式的所有有效字符串。例如,对于模式:,我们可以得到所有的值来。 谢谢 编辑: 在这里,我们不考虑+和*等无限输出;我们如何获得有限正则表达式的所有值? 最后编辑: 感谢大家!最后,我不会考虑所有可能的值,因为可能有数千个。我限制一个特定的数字作为减少数量的值的数量。 问题答案: 由于正则

  • 以下是我所做的基本步骤: 要求用户输入表达式(存储为字符串) 遍历每个字符并确定该字符是操作数、运算符、空格还是无效字符 如果(char==操作数)推入堆栈 如果(char==operator)弹出两次并执行算术,然后将结果推送到堆栈 循环外,如果(!stack.empty())结果==stack.top,stack.pop 否则无效表达式 因此,如果堆栈已经是空的,上面的方法可以很好地工作,但是