本帖最后由 杨健yj 于 2012-9-6 18:15 编辑
大家从44行代码处开始看
- public class Demo1 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // 看几个例子把
- // 现验证一下i++;
- int i = 0;
- int num = i++;// 此时我打印一下i和num的值
- System.out.println("num:" + num + "__" + "i:" + i);// num:0__i:1
- // 从结果不难看出,就是下面AfterAdd的效果
- int j = 0;
- System.out.println(AfterAdd(j));//i:1 0
-
- System.out.println("---------------------------------------------");
- //验证一下++i;
- i = 0;
- num = ++i;// 此时我打印一下i和num的值
- System.out.println("num:" + num + "__" + "i:" + i);// num:1__i:1
- //从结果不难看出符合下面的firstAdd的效果
- j=0;
- System.out.println(firstAdd(j));
- System.out.println("---------------------------------------------");
- //看一个例子
- i=0;
- i = i++ + ++i;//前面i++表达式返回值0,i此时变为1,在计算++i该表达式的返回值为(i+1)即2,i也为2,所以结果为2
- System.out.println("i:"+i);
- System.out.println("---------------------------------------------");
- num=0;
- i=0;
- num = i++ +i*10+ ++i*10+i*100;
- /*
- * i++表达式的返回值为0,i=1;
- * i*10=10
- * ++i*10 表达式的返回值为(++i)*10就是2*10=20,i=2;
- * 2*100=200
- * 最终结果 0+10+20+200=230
- * */
- System.out.println("num="+num);//大家以后这样理解就不会出错的
- //最后看一下f1()这个函数,大家一定都会了把,希望帮助了大家,呵呵
- }
- // 自己对i++ 和 ++i的一些理解,主要是方便大家,我们可以把i++和++i理解为两个
- // 函数具体见下
- public static int AfterAdd(int i) {// 这是对应i++的函数
- int temp;// 定义一个变量,它是函数的返回值,大家困惑的往往是那些死概念(先参与运算,在加1)
- // 我的理解就是返回值这一概念,所谓的先参与运算就是指先记住i++表达式的返回值,然后i在加1
- temp = i;// 先记住返回值,在加1
- i = i + 1;
- System.out.println("i:" + i);// 在外面不会改变实际i的值就在内部演示大家明白就行了,实际i++时i的值是会改变的
- return temp;
- }
- public static int firstAdd(int i) {
- int temp;// 定义一个变量,它是函数的返回值
- i = i + 1;// 先加1在记住返回值
- temp = i;
- System.out.println("i:" + i);// // 在外面不会改变实际i的值就在内部演示大家明白就行了,实际++i时i的值是会改变的
- return temp;
- }
- public static void f1() {
- int count = 0;
- for (int i = 0; i < 10; i++) {
- count = count++;
- }
- System.out.println("count=" + count);
- }
- }
复制代码 |