首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的增量运算符可以使用什么类型的操作数?

Java中的增量运算符可以使用什么类型的操作数?
EN

Stack Overflow用户
提问于 2019-09-09 14:52:50
回答 1查看 386关注 0票数 0

我不知道如果在Java中的表达式上应用增量运算符会发生什么。

代码语言:javascript
复制
int ai[] = new ai[10];
ai[0]++;

// ***

class Car {
  public int yearMade = 0;
}

class Person {
  public Car myCar = new Car();
}

Person p = new Person();
p.myCar.yearMade++;

可以按照第一个示例显示的方式增加数组的元素吗?

你能在类中增加一个字段(我确实知道封装和getter/setters,我的问题是面向语法的),这是我在第二个例子中所展示的方式吗?

我记得C/C++的年龄。例如,p -> x++曾经有一个问题。在使用增量或递减时,有时需要将复杂表达式括在括号中。

谢谢你的暗示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-09 15:16:27

你们两个问题的答案都是“是的,你可以”。p.myCar.yearMadeai[0]都是变量(分别为实例变量和局部变量),因此可以用作这四个操作符中任何一个的操作数。

4.12。变量 变量是存储位置,具有关联类型(有时称为编译时类型),即原语类型(§4.2)或引用类型(§4.3)。 变量的值由赋值(§15.26)、前缀或后缀++ (增量)或-(递减)运算符(§15.14.2、§15.14.3、§15.15.1、§15.15.2)改变。

..。

15.14.2.后缀增量算子++ 在运行时,如果操作数表达式的计算突然完成,则后缀增量表达式出于同样的原因突然完成,不会发生增量。否则,将值1添加到变量的值中,并将和存储回变量中。在添加之前,对值1和变量的值执行二进制数值提升(§5.6.2)。如果有必要,可以通过缩小原语转换(§5.1.3)和/或在存储变量之前将其转换为变量类型(§5.1.7)来缩小和。后缀增量表达式的值是存储新值之前变量的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57856476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档