java题目是这样的: int a = 3; a=a++; System.out.println(a); 为什么a的值是3??? Java求解:int a=3,b=4,c=5;system ...

JAVA\u4e2d\u6709\u4e2a\u5c0f\u7591\u95ee int a = 1; a = a++; System.out.println("a:"+a);

\u4e0d\u662f\u8bf4\u5206\u914d\u7684\u53d8\u91cf\u65e0\u6548\uff0c\u800c\u662f\u8bf4\u53d8\u91cf\u7684\u8d4b\u503c\u65e0\u6548\u3002assignment \u5e94\u8be5\u7406\u89e3\u4e3a\u8d4b\u503c\u3002

\u6211\u81ea\u5df1\u8bd5\u4e86\u4e0b\uff0c
int a=1;
a=a;//\u6709\u8b66\u544a a=1
a=++a;//\u6709\u8b66\u544a a=2
a = a++;//\u6ca1\u6709\u8b66\u544aa=1
\u67e5\u4e86\u8d44\u6599\u662f\u8fd9\u4e48\u89e3\u91ca\u7684\uff1a
a=a;\u4e0d\u4f1a\u6539\u53d8a\u7684\u503c\u662f\u65e0\u6548\u7684\u8d4b\u503c\u64cd\u4f5c\u3002
a=++a;\u56e0\u4e3a++a\u662f\u5bf9a\u7684\u503c\u8fdb\u884c\u81ea\u589e\u5df2\u7ecf\u9690\u542b\u4e86\u5bf9a\u8d4b\u503c\u7684\u64cd\u4f5c\uff0ca=++a \u5c31\u7b49\u4ef7\u4e8e\uff1a
a=a+1;int temp = a;//(\u5148\u81ea\u589e\u518d\u53d6\u503c)
a=temp;
\u8fd9\u6837\u7f16\u8bd1\u5668\u770b\u6765temp\u548ca\u662f\u7b49\u4ef7\u7684\uff0c\u65e2\u7136a=temp\u5c31\u548ca=a\u4e00\u6837\u4e0d\u4f1a\u6539\u53d8a\u7684\u503c\uff0c\u8d4b\u503c\u662f\u65e0\u6548\u7684\uff0c\u5c31\u7ed9\u4e86\u4e2a\u8b66\u544a\u3002

\u6700\u540e\u8bf4\u8bf4\u4e3a\u4ec0\u4e48a=a++;\u4e3a\u4ec0\u4e48\u6ca1\u6709\u8b66\u544a\uff1a
\u8fd9\u4e2a\u7b49\u4ef7\u4e8e\uff1a
int temp=a;a=a+1;//(\u5148\u53d6\u503c\u518d\u81ea\u589e)
a=temp;
\u6ce8\u610f\u8fd9temp\u7684\u503c\u662fa\u81ea\u589e\u4e4b\u524d\u7684\u503c1\uff0c\u7136\u540ea\u81ea\u589e\u4e3a2\uff0c\u7136\u540e\u7528a++\u8868\u8fbe\u5f0f\u7684\u503c1\uff0c\u5bf9a\u8d4b\u503c\uff0c\u6240\u4ee5\u6700\u540ea\u7684\u503c\u662f1\u3002\u6240\u4ee5\uff0c\u5728\u7f16\u8bd1\u5668\u770b\u6765\u8fd9\u4e2a\u8d4b\u503c\u64cd\u4f5c\u6539\u53d8\u4e86a\u7684\u503c\uff0c\u6240\u4ee5\u662f\u6709\u7528\u7684\u3002

\u7ed3\u679c\uff1aabc3 \u539f\u56e0 \u201cabc\u201d\u4e3a\u5b57\u7b26\u4e32\uff0c\u4e0d\u662fa*b*c, "abc"+3 \u8868\u793a 3\u4f1a\u81ea\u52a8\u8f6c\u5316\u4e3aString\u7c7b\uff0c\u6240\u4ee5\u8f93\u51fa\u4e3aabc3

a = a ++ ;
当代码运行到这步时, = 右侧的a 的值赋值给了等号 左边的a, 此时 a= 3 ,然后a 做++ 即自增,这里叫 后++ ,就先赋值再自增, 此时,代码已运行到打印语句..所以是3

扩展阅读:javascript 在线 ... java官网网址 ... java题库网站免费 ... java j2ee ... java webservice ... java继承题目 经典 ... java入门网站 ... java python ... java &运算 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网