--k和k--的区别

--k和k--区别

问题描述

很多程序初学者都会有这个疑问,–k和k–有什么区别呢,简单的解释是:

–k就是先让k减去1,再把k-1的结果给–k
k–是先把k的结果给k–,然后k自己减1

我来通过实际代码解读一下。

方法

首先我用python尝试了一下,

 = 9

while(k!=0):
	k--
	print(k)

果不其然,报错了,因为python中没有‘++’和’–'这两个操作符。
于是我换成了java。

public class kth {


    public static void main(String[] args){
        int k =9;
        while(k!=0){
//            k--;
            System.out.println("k的值为:"+ --k);
        }
    }
}

输出结果为:

k的值为:8
k的值为:7
k的值为:6
k的值为:5
k的值为:4
k的值为:3
k的值为:2
k的值为:1
k的值为:0

当代码为:

public class kth {


    public static void main(String[] args){
        int k =9;
        while(k!=0){
//            k--;
            System.out.println("k的值为:"+ k--);
        }


    }
}

输出结果为:

k的值为:9
k的值为:8
k的值为:7
k的值为:6
k的值为:5
k的值为:4
k的值为:3
k的值为:2
k的值为:1

总结

两次输出的值不同,根源就是操作符的问题,–k是直接把k减了1,所以第一次输出就是8,而k–第一次输出是9,等到下次执行才会减1,所以–k比k–快一步。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值