Joh*_*oth 7 java increment jls decrement
当我尝试在/减量中写一个后缀/前缀,然后在/减量中写一个post /前缀时,我得到以下错误:操作++/ - 的参数无效.
但是,据JLS称:
PostIncrementExpression:
PostfixExpression ++
Run Code Online (Sandbox Code Playgroud)
和
PostfixExpression:
Primary
ExpressionName
PostIncrementExpression
PostDecrementExpression
Run Code Online (Sandbox Code Playgroud)
所以写:
PostfixExpression ++ ++
Run Code Online (Sandbox Code Playgroud)
应该可能......有什么想法吗?
Joe*_*oey 23
请注意,原始语法缺少任何语义.它只是语法,并不是每个语法上有效的程序通常都是有效的.例如,在使用之前必须声明变量的要求通常不包含在语法中(您可以,但它很麻烦).
Postfix-increment产生一个rvalue - 就像你不能postfix-increment文字一样,你不能后缀增加结果i++.
从JLS引用(3 次版,页486):
后缀增量表达式的结果不是变量,而是值.
错误告诉你答案:
unexpected type
required: variable
found : value
(i++)++;
Run Code Online (Sandbox Code Playgroud)
因此,当运算符需要变量时,i ++会求值.
您只能应用++或--表示可修改位置(左值)的表达式.一个++或的结果--是来自该位置的值(一个右值 - 在增量或减量之前或之后),而不是一个可修改的位置.所以你不能说(a++)++比你说的更多(a+b)++- 没有地方可以修改.
| 归档时间: |
|
| 查看次数: |
3756 次 |
| 最近记录: |