一个简单的问题 有你这样写的吗。那你对这个结构还是不了解。value1=value1++是把value1的初值0送给自己。然后加1,但这个值并没有再传回去。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 value1=value1++运算先赋值再加1 很早以前就有这个问题的讨论了,可以去查一查因为他实际上是这样运算的int value1=0,value2=0;temp=value1;value1=value1+1; value1=temp; //value1=value1++;value2=value2+1;temp=value2; value2=temp;//value2=++value2;System.out.println(value1+" "+value2);所以value1还是为0(因为取值过程在自加过程前已经完成了) 为什么用这么奇怪的写法?value1++;还有能达到要求吗? GFox(小狐)的说法是正确的,楼顶的两位的说法是一种误导,或者说是没有说中关键点。关键是:(value++)是一个表达式,虽然它的结果是把value加一,但他的值是0。value=(value++)等于是value=0,所以value后来等于0。 “GFox(小狐)的说法是正确的,楼顶的两位的说法是一种误导,或者说是没有说中关键点。”这个我同意。但请教一下:(value++)是一个表达式,怎么知道它的值是0呢? value++是这次的值不进行自加1,而是下一次自加;反过来 ++value 是这次就进行自加1; 我们可以做个测试: for (int i=0;i<10;i++){ System.out.println(i);} for (int i=0;i<10;++i){ System.out.println(i);}比较一下两者的输出就知道了! 解压缩文件遇到点问题。不知道该怎么解决~? 急求:关于swing JDialog JAVA编程 WebService的发布与JDK版本问题 怎样得到百度搜索结果页面的前50个结果链接对应的网页? java 写一个直线方程函数的困惑? JTable如何修改列表体的颜色? 谁知道哪里还有像CSDN这样国内大的技术论坛?太感谢了 怎样读写sql server的ntext和image字段? 如何在html中显示doc或excel文档 java的自带类库说明是哪个文件啊?谢谢!!! 关于连续访问数据库,这个问题怎么有时好有时出错?
int value1=0,value2=0;
temp=value1;value1=value1+1; value1=temp; //value1=value1++;value2=value2+1;temp=value2; value2=temp;//value2=++value2;
System.out.println(value1+" "+value2);所以value1还是为0(因为取值过程在自加过程前已经完成了)
value1++;还有能达到要求吗?
关键是:(value++)是一个表达式,虽然它的结果是把value加一,但他的值是0。value=(value++)等于是value=0,所以value后来等于0。
这个我同意。
但请教一下:(value++)是一个表达式,怎么知道它的值是0呢?
我们可以做个测试:
for (int i=0;i<10;i++){
System.out.println(i);
}
for (int i=0;i<10;++i){
System.out.println(i);
}
比较一下两者的输出就知道了!