黑马程序员技术交流社区

标题: 关于--的问题 [打印本页]

作者: Phoenix_Szp    时间: 2015-10-27 20:00
标题: 关于--的问题
public class Test{
public static void main(String[] args){
int i =1;
int j = 2;
int n = 3;
n -= --i - j--;
System.out.println(n);
}
}这是一个怎么过程

作者: 豆豆的小幸福    时间: 2015-10-27 20:15
n-=--i-j--;
相当于n=n-((--i)-(j--));//由于--是单目运算,所以其运算优先级高于减号

--i 是先进行i-1然后再用i的值,j--是先用j的值再将j的值减一,所以n=3-(0-2)=5.
作者: Phoenix_Szp    时间: 2015-10-28 09:56
豆豆的小幸福 发表于 2015-10-27 20:15
n-=--i-j--;
相当于n=n-((--i)-(j--));//由于--是单目运算,所以其运算优先级高于减号

谢谢,这样就清楚多了。
作者: heshiwei    时间: 2015-10-28 10:36
楼上是正确的。。
作者: 雨来    时间: 2015-10-28 11:47
加加减减先加后加的问题不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2