这段代码的结果是多少呢? 0i = i++这句话,是先把0给了i,然后呢,i++了阿:(,为什么是0? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Inc{ public static void main(String argv[]) { Inc inc = new Inc(); int i =0; inc.fermin(i); //这个地方不改变this.i的值,this.i=0 i = i++; //i=0(先取i的值,然后再加1),如果是i = ++i; i=1 System.out.println(i); } void fermin(int i) { i++; }} i=i++,是先i进行赋值,然后再进行I++,前后关联一下,I的值不变. 1。由于int是基本类型,i++时的i是参数(int i)的一个拷贝,不管怎样操做,最终对实参没有影响 void fermin(int i) { i++; }2。i=i++ 由于i++是后++,执行此句时i = 0 1.传值。2.java编译器的原因,如果是c语言的话,i=i++的结果就是1; 结果是:0*1: inc.fermin(i);进行的值传递, 改变了 fermin(i)中的行参(局部变量),没有改变main()中局部变量i的值;*2:i=i++;在C++中结果应该是1,但在java中由运算符优先级和结合性决定,编译器的处理过程遇到i++,会新分配一个内存空间,保存i的原始值,而原i变量自增后.又用保存的i的原始值去重新赋值给变量i,覆盖了变量i自增的结果.为什么要这样的改变c++对自增的处理,纳闷.... ssh上安装jdk问题 Map问题 jxl生成的EXCEL只支持256列,我要生成更多的列怎么办? 小弟想获得程序外鼠标在屏幕上的坐标~~~~~~~~~~ 请问如何用正则表达式把下面的数字取出来?谢谢 字符串替换问题 JB8用什么电脑配置? 下载了一个Weblogic8,脱机下无法安装?怎么办??(我的机器没法上网) 有什么网站有提供Java编程的例子的啊!我是一个初学者,最好是由浅入深! java char 存储中文 关于nio的提问 构造函数里怎么这个函数,在其他的类里怎么调用这个函数(在线)
{
public static void main(String argv[])
{
Inc inc = new Inc();
int i =0;
inc.fermin(i); //这个地方不改变this.i的值,this.i=0
i = i++; //i=0(先取i的值,然后再加1),如果是i = ++i; i=1
System.out.println(i);
}
void fermin(int i)
{
i++;
}
}
void fermin(int i)
{
i++;
}
2。i=i++ 由于i++是后++,执行此句时i = 0
2.java编译器的原因,如果是c语言的话,i=i++的结果就是1;
*1: inc.fermin(i);进行的值传递, 改变了 fermin(i)中的行参(局部变量),没有改变main()中局部变量i的值;*2:i=i++;在C++中结果应该是1,但在java中由运算符优先级和结合性决定,编译器的处理过程遇到i++,会新分配一个内存空间,保存i的原始值,而原i变量自增后.又用保存的i的原始值去重新赋值给变量i,覆盖了变量i自增的结果.为什么要这样的改变c++对自增的处理,纳闷....