i++和++i

自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


版权声明


在编程的基础部分,很多新手都在纠结i++和++i的用法。故,在此用示例加以总结。

第一种情况

单独使用i++和++i。在该情况下将++放在操作数(例如i)的前面或者后面效果是一样的;请看如下示例:

public void test1() {
        int i=5;
        i++;
        System.out.println("在test1( )中i="+i);
        System.out.println("---------------");
    }

    public void test2() {
        int i=5;
        ++i;
        System.out.println("在test2( )中i="+i);
        System.out.println("---------------");
    }

输出结果如下:

在test1( )中i=6
---------------
在test2( )中i=6
---------------

第二种情况

i++和++i参与运算。在该情况下:

  • 1、将++放在操作数(例如i)的前面,那么i会先自增然后再参与运算

  • 2、将++放在操作数(例如i)的后面,那么i会先参与运算然后再自增

请看如下示例:

public void test3() {
        int i=5;
        int a=i++;
        System.out.println("在test3( )中i="+i);
        System.out.println("在test3( )中a="+a);
        System.out.println("---------------");
    }

    public void test4() {
        int i=5;
        int a=++i;
        System.out.println("在test4( )中i="+i);
        System.out.println("在test4( )中a="+a);
        System.out.println("---------------");
    }

输出结果如下:

在test3( )中i=6
在test3( )中a=5
---------------
在test4( )中i=6
在test4( )中a=6
---------------

按照惯例给出本文的全部代码,如下所示:

package cn.com;
/**
 * 原创作者:谷哥的小弟
 * 博客地址:http://blog.youkuaiyun.com/lfdfhl
 */
public class Test {

    public static void main(String[] args) {
        Test test=new Test();
        test.test1();
        test.test2();
        test.test3();
        test.test4();
    }

    public void test1() {
        int i=5;
        i++;
        System.out.println("在test1( )中i="+i);
        System.out.println("---------------");
    }

    public void test2() {
        int i=5;
        ++i;
        System.out.println("在test2( )中i="+i);
        System.out.println("---------------");
    }

    public void test3() {
        int i=5;
        int a=i++;
        System.out.println("在test3( )中i="+i);
        System.out.println("在test3( )中a="+a);
        System.out.println("---------------");
    }

    public void test4() {
        int i=5;
        int a=++i;
        System.out.println("在test4( )中i="+i);
        System.out.println("在test4( )中a="+a);
        System.out.println("---------------");
    }
}

输出结果如下:

在test1( )中i=6
---------------
在test2( )中i=6
---------------
在test3( )中i=6
在test3( )中a=5
---------------
在test4( )中i=6
在test4( )中a=6
---------------

关于i–和–i与i++和++i类似;在此不再赘述。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷哥的小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值