java中的自增和自减运算符

 引子

 Java中有自增(++)和自减(--)两种运算符,这两种运算符帮助我们在编写程序的时候简化了代码,提高了速度,方便快捷。自增和自减运算符可以放在变量的前面和变量的后面,如 ++a, a++,放在变量前面和后面的执行结果大相径庭,如果不做深入了解,在使用的过程中可能会出现问题。

示例分析

  自增和自减运算符号放在变量的前面,如 ++a, 表示先执行运算,再生成值, 放在变量的后面,如: a++,先生成值,再执行运算。下面我们看看具体的用法。

  int i=1;
  System.out.println("之前 i:"+i);//之前
  System.out.println("++i :"+ ++i);
 System.out.println("之后 i:"+i);//之后

上面我们定义了一个变量i, 执行++i的时候,是先执行运算,再生成值,所有执行++i的时候的值是2

  System.out.println("i++用法");
        System.out.println("之前  i:"+i);//之前
        System.out.println("i++ :"+ i++);
        System.out.println("之后  i:"+i);//之后

    上面的代码中我们执行i++的时候,先生成值,再执行计算,所以i++ 输出还是执行计算之前的值

全部代码

 public static void main( String[] args )
    {

        int i=1;

        System.out.println("++i用法");
        // ++i之前和之后的值
        System.out.println("之前 i:"+i);//之前
        System.out.println("++i :"+ ++i);
        System.out.println("之后 i:"+i);//之后

        System.out.println("---------------------");

        System.out.println("i++用法");
        System.out.println("之前  i:"+i);//之前
        System.out.println("i++ :"+ i++);
        System.out.println("之后  i:"+i);//之后

        System.out.println("---------------------");


        System.out.println("--i用法");
        // ++i之前和之后的值
        System.out.println("之前 i:"+i);//之前
        System.out.println("--i :"+ --i);
        System.out.println("之后 i:"+i);//之后

        System.out.println("---------------------");

        System.out.println("i--用法");
        System.out.println("之前  i:"+i);//之前
        System.out.println("i-- :"+ i--);
        System.out.println("之后  i:"+i);//之后

        System.out.println("---------------------");


    }


执行结果

++i用法
之前 i:1
++i :2
之后 i:2
---------------------
i++用法
之前  i:2
i++ :2
之后  i:3
---------------------
--i用法
之前 i:3
--i :2
之后 i:2
---------------------
i--用法
之前  i:2
i-- :2
之后  i:1
---------------------


for循环

for循环中经常会用到自增和自减运算符,先看下for循环的执行顺序和流程

for(init;bool;step)
{
  statement
}
init:表示初始化值
bool:表示判断条件
step:表示运算步骤,就是常用的自增和自减运算符
statement:表示执行的内容
先说下for语句中的执行顺序,
init只执行一次,在第一次执行for的时候进行初始化
bool:每次执行前都要进行判断,如果条件不满足,就结束for循环执行, 严格的说,step执行完后,才执行bool判断
step:是递增变量,每次执行完  statement后,才会再执行step; 也就是说statement优先于step执行,这是重点,
看下面的代码我们就明白了for的原理和自增的原理

 for(int j=0;j<5;System.out.println("执行变量前"+j),j++,System.out.println("执行变量后"+j))
        {
            System.out.println(j);
        }


0
执行变量前0
执行变量后1
1
执行变量前1
执行变量后2
2
执行变量前2
执行变量后3
3
执行变量前3
执行变量后4
4
执行变量前4
执行变量后5





  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值