黑马程序员技术交流社区
标题:
关于自运算。。。
[打印本页]
作者:
帅飞
时间:
2014-5-2 19:28
标题:
关于自运算。。。
本帖最后由 帅飞 于 2014-5-4 02:50 编辑
//先定义两个int变量a=3,和b,然后让b=a++,输出a和b,结果为4和3
class Mo
{
public static void main(String[] args)
{
int a=3,b;
b=a++;
System.out.println(a);
System.out.println(b);
}
}
————————————————————————————————————————————
//先定义int变量a=3,b,c,然后运算b=a++,c=++a,输出a,b和c,结果为 5,3,5
class Mo
{
public static void main(String[] args)
{
int a=3,b,c;
b=a++;
c=++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
————————————————————————————————————————————
//先定义int变量a=3,b,c,然后运算c=++a,b=a++,输出a,b和c,结果为 5,4,4
class Mo
{
public static void main(String[] args)
{
int a=3,b,c;
c=++a;
b=a++;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
——————————————————————————————————————————————
不知道这个结果是为什么?请大神指教。。。
自己已经弄懂了,,想彻底搞懂自运算? 看看这个帖子中我的回复吧!【
http://bbs.itheima.com/thread-116532-1-1.html
】
作者:
skill20
时间:
2014-5-2 19:33
class Mo
{
public static void main(String[] args)
{
int a=3,b,c;
b=a++; 这里执行一次, b = 3;a = 4;
c=++a; 到这就是 a 先自增 a = 5,再赋值给c ,c = 5;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
复制代码
作者:
帅飞
时间:
2014-5-2 19:39
skill20 发表于 2014-5-2 19:33
应该是逐行运算,有累加效果,,相当于a进行两次自增运算,,,
作者:
刘晶
时间:
2014-5-2 19:40
class Mo
{
public static void main(String[] args)
{
int a=3,b,c;
b=a++; //把a赋值给b,b=3,a自加一,a=4;
c=++a; //++a先自加一再赋值所以a为5,c为5
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
a++是先处理其他运算,然后a再自加; 而++a则是先处理a自加运算,再处理其他表达式运算; 如果只是单纯的表达式a++;或者是++a;这两个表达式的结果就没什么区别。
作者:
帅飞
时间:
2014-5-2 19:42
刘晶 发表于 2014-5-2 19:40
class Mo
{
public static void main(String[] args)
刚刚搞懂,,谢谢哈
:)
作者:
帅飞
时间:
2014-5-2 19:45
刘晶 发表于 2014-5-2 19:40
class Mo
{
public static void main(String[] args)
总之,相当于a进行了两次自增运算,是吗?
作者:
刘晶
时间:
2014-5-2 19:50
可以这样说
作者:
帅飞
时间:
2014-5-2 23:36
是第二天的视频里的,,我看完之后自己运算的结果,,,有点小疑惑,,,当然了,,问题在于,,a=3,b=a++,c=++a,a在第一次自加运算(b=a++)后,存储为4,然后又进行了一次(c=++a)变成了5、、、现在懂了,谢谢哈。
作者:
邵景伦
时间:
2014-5-3 16:25
class Mo
{
public static void main(String[] args)
{
int a=3,b,c;
c=++a;//a自增为4;赋值给c
b=a++;//4赋值给b,再自增为5
System.out.println(a);//5
System.out.println(b);//4
System.out.println(c);//4
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2