在java中的序列点概念

maw*_*wia 10 java

我是Java新手,有CI的背景正在通过Khalid Moughal的书.在页126上他举了一个例子

   int i = 10;

   int k = ++i + --i; // ((++i) + (--i)).
Run Code Online (Sandbox Code Playgroud)

这显然违反了C语言中的序列点概念,它表示在相同的序列点中不能多次更改变量的值.我的问题是,相同的序列点规则是否适用于java?他可能只是为了解释前缀一元运算符的概念及其副作用而采用这个例子,但这样一个明显违反语言非常基本规则的例子并不像Khalid Moughal那样出名.

所以请确认一下.

希望你们人们把它带入正确的精神.

谢谢,

Mawia

Pra*_*rav 8

我的问题是,相同的序列点规则是否适用于java?

不,Java中没有序列点.评估顺序(等)在Java中得到了很好的定义.

也读这个答案.

  • 即使订单定义明确,但应该注意任何教授编写此类代码的人都应该立即取消其许可证...... (8认同)