Java学习之神奇的i=i++(收藏)
来源:互联网 发布:oa软件在线试用 编辑:程序博客网 时间:2024/05/13 11:51
学习过一门计算机语言的人一定知道j=i++的运算结果,整个表达式的值为i,而i的值变为i+1;那么i=i++又是一个什么情况呢?下面分别用java 和 c 两种语言来做个测试:
JAVA:
public class test{
public static void main(String args[]){
int i,j;
i=0;
for(j=0;j<5;j++){
i=i++;
System.out.println("i="+i);
}
}
}
C:
#include<stdio.h>
main(){
inti,j;
i=0;
for(j=0;j<5;j++){
i=i++;
printf("i=%d/n",i);
}
}
你也许会问,这么简单的程序会有什么问题呢?是的,如果不相信的话,你可以运行一下这两个程序,得到的结果非常让人震惊。第一个JAVA程序得出的结果如下:
i=0
i=0
i=0
i=0
i=0
而第二个C程序得出的结果如下:
i=1
i=2
i=3
i=4
i=5
所以这样最后一次循环内的结果仍旧是i(即0)。
而C语言中的i=i++就只是完成i++的内容,所以结论会不同。这种情况说明java和c的处理语法的机制不同,如果在程序中只输入i++就不会出现这个方面的问题,所以大家在以后的程序中如果使用到i=i++的时候要格外小心,一般只需要用i++就不会有问题了。
- Java学习之神奇的i=i++(收藏)
- Java学习之神奇的i=i++
- Java学习之神奇的i=i++
- Java学习之神奇的i=i++
- Java学习之神奇的i=i++
- Java学习之开始使用神奇的i=i++
- Java学习之神奇的i=i++
- 神奇的i=i++
- 好神奇,java里的i=i++;
- JAVA/C#中神奇的i=i++/i--,完全区别于C/C++
- 神奇的i++和++i
- JAVA i=i++,i=i+1的误区
- java学习之i/o
- Java面试题之i=i++
- java i=i++
- i++ ,++i,i=i++的问题
- i++ ,++i,i=i++的问题
- JAVA i=i++的问题
- 推荐学习.net的入门好书:Understanding .NET: A Tutorial and Analysis
- 该怎样去爱一个人(很值得静心品位的一篇文章)
- 关于层的挡隔问题的探讨
- JAVA文件加密器(收藏)
- PHP新手上路
- Java学习之神奇的i=i++(收藏)
- 600多k的顶级防火墙Look n Stop 中文版
- 如何在 Java 应用程序中读取8 位和24 位位图文件
- 学习Java的30个基本概念
- 以前组装的一个播放器
- java常用的加密,解密,数字签名等API
- C,C++和java到底有什么差别
- 应用Java技术实现数据库应用系统(收藏)
- CMOS密码恢复工具v4.5+源代码