public class Test
{
public static void main(String[] args)
{
Test aTest = new Test();
aTest.print();
}
public void print()
{
int a = 10;
int y = 15 + ++a;
int z = 15 + a++;
System.out.println("First=" + y);
System.out.println("Second=" + z);
}
}应该是First=26,Second=25的
为什么打印出来都是26????
请各位高手指导
{
public static void main(String[] args)
{
Test aTest = new Test();
aTest.print();
}
public void print()
{
int a = 10;
int y = 15 + ++a;
int z = 15 + a++;
System.out.println("First=" + y);
System.out.println("Second=" + z);
}
}应该是First=26,Second=25的
为什么打印出来都是26????
请各位高手指导
解决方案 »
- 求一个swing苹果界面Quaqua包,官方网站上不去
- 接口啊!救命啊!为什么我们要用接口?为什么他们非要给我们接口?
- ntml认证问题
- 【软件/程序发布】基于Java的听力大师体验(LMX, Listening Master eXperience)
- 资源分享,给正在学习JAVA的朋友!
- java基础,大家来看看热闹
- 一个 设计上问题,大家帮忙提点意见
- 求救求救!请诸位大侠帮忙:java日期类与sql的日期变量如何比较大小?
- 怎么让写在TextField 里的字自动显示在TextField 的右边,而不是在左边
- SOS,JBuilder6 编程问题!
- 这个程序为什么出错?
- [求助]关于继承的问题
public void print()
{
int a = 10;
int y = 15 + ++a;
int z = 15 + a++;
System.out.println("First=" + y);
System.out.println("Second=" + z);是执行的是
int y = 15++ +a;
int z = 15+ a++;
第二次 a++ a=16
int z = 15 + a++;
这两条语句的先后顺序换一下,输出结果就是First=27,Second=25了
不是才奇怪呢public class Test
{
public static void main(String[] args)
{
Test aTest = new Test();
aTest.print();
}
public void print()
{
int a = 10;
int y = 15 + ++a; //这个时候a先++才和15相加,所以其实是15+11=26
int z = 15 + a++; //这个时候其实a已经是16了,而且是先相加,后++
//int m = 10 + a;
//System.out.println("M=" + m);//执行以上两句代码你就明白了。
System.out.println("First=" + y);
System.out.println("Second=" + z);
}
}建议不要搞这些阿,大概明白就好了,真正工作的时候不会需要这些代码的。
纯粹是给以后维护的人或者一起合作的人找麻烦。
据个简单例子,别人给你这样的代码,即使加上注释,我估计你也不知道什么意思啊。
有时间多看一些数据结构吧!可能都你这有用。