很奇怪的java问题

英气鬼 2008-10-30 02:56:49
代码1

public static void intTest(){
int x = 5;
x = x++;
System.out.println(x);
}

输出结果:5
=======================================
代码2

public static void intTest(){
int x = 5; x++;
System.out.println(x);
}

输出结果:6

==========================================
代码3


public static void intTest(){
int x = 5;
x = x++;
x++;
System.out.println(x);
}

输出结果:6
===================================
代码4 c版

#include <stdlib.h>
#include <stdio.h>
int main(){
int x=5;
x=x++;
printf("%d\n",x);
system("pause");
return 0;
}


输出结果是6
==================================
代码5 c版

#include <stdlib.h>
#include <stdio.h>
int main(){
int x=5;
x++;
printf("%d\n",x);
system("pause");
return 0;
}


输出结果是6
==============================
代码6 c版

#include <stdlib.h>
#include <stdio.h>
int main(){
int x=5;
x=x++;
x++;
printf("%d\n",x);
system("pause");
return 0;
}
输出结果是7

c和java中的不一样?

...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongqdonglin 2008-10-30
  • 打赏
  • 举报
回复
xuexi
deity_y 2008-10-30
  • 打赏
  • 举报
回复
代码1

Java code
public static void intTest(){
int x = 5;
x = x++;
System.out.println(x);
}


x++;表达式的值是自身先用,然后才++.

henry_fuzr 2008-10-30
  • 打赏
  • 举报
回复
只知道java的,前面3个中第2,3个很好理解。说说第1个。
int x = 5 ;
x = x++;
先执行x++,然后在赋值。x++等效于 x=(x+1) ,但是x++表达式的值还是5。
然后执行x = x++ ,应为这里x++这个表达式值是5,所以x为5。

另外说一下++x ,等效于 x = x+1 ,但是这里++x表达式的值是6。
microns 2008-10-30
  • 打赏
  • 举报
回复
Mark
sunhualong5560 2008-10-30
  • 打赏
  • 举报
回复

#include <stdlib.h>
#include <stdio.h>
int main(){
int x=5;
x=x++;
printf("%d\n",x);
system("pause");
return 0;
}


c/c++是先把x++表达试的值给x在做x++操作.而java是先x自身加1 在把表达试的值给x这样x还是5
sunhualong5560 2008-10-30
  • 打赏
  • 举报
回复


public static void intTest(){
int x = 5;
x = x++;
x++;
System.out.println(x);
}



知道上面两个这个不难理解
sunhualong5560 2008-10-30
  • 打赏
  • 举报
回复

public static void intTest(){
int x = 5;
x = x++;
System.out.println(x);
}


x++;表达试的值是5在自身加1在把表达试的值赋予X所以是5
 
public static void intTest(){
int x = 5; x++;
System.out.println(x);
}

这个是直接加1,x值变为6

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧