--k和k--区别

  • 问题描述
  • 方法
  • 总结

问题描述

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

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

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

方法

首先我用python尝试了一下,

 = 9while(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–快一步。

--k和k--的区别相关推荐

  1. ++k与k++区别 和双目运算符结合

    最近在写代码时发现了这样一个错误: 题目如下: 链接: Hdu 1027 关键代码如下: int k=1; while(next_permutation(s.begin(),s.end())){if( ...

  2. 简洁解释k++,++k,k+1,k+=1的区别(附图)

    以下为结合图进行说明 k++和++k两者都是递增1,但区别就在于k++是先赋值给n再++(n=k),而++k是先++后再赋值给n(n=k++). 但两者不论是哪一种,区别也仅在于执行++那一行,++执 ...

  3. 计算机中k,K和b,B以及kb,kB,Kb,KB的区别

    计算机中k,K和b,B的区别 1.在纯数学单位中的十进制中是10进位.100进位.1000进位.10000进位等, 举例:9+1=10,99+1=100,999+1=1000,9999+1=10000 ...

  4. tensorflow streaming_recall@kprecision@k与sklearn的区别

    声明:tensorflow的版本1.1.0 class_id是用来让你确定哪一个类别是正类的, 这是tf.contrib.metrics.streaming_sparse_recall_at_k官方文 ...

  5. MRR@K P@K R@K意义阐述与对比

    文章目录 概述 @K是什么 举例 P@5 R@5 MRR@5 讨论 P@K R@K区别 MRR 概述 首先需要说的是,这几个东西都是评价标准,在我当前工作的领域而言,其衡量的是推荐系统的性能.我们介绍 ...

  6. k、K、kb、kB、Kb、KB、GB、MB之间的关系

    1.k和K的区别: k当作十进制下的进位看待,即 1k=1000,即要到999+1后才是1000. K当作二进制中2^10看待,即1024,1K=1024,即要到1023+1后才是1024:2.b和B ...

  7. PRML第九章读书笔记——Mixture Models and EM K均值/K中心点、高斯混合奇异性、EM观点下的高斯混合/K-means/混合伯努利分布/贝叶斯线性回归、推广EM算法

    目录 9.1 K-means Clustering P429 K中心点算法K-medoids 9.2 Mixtures of Gaussians P433 高斯混合的奇异性 9.3 An Altern ...

  8. php中 b=a-=k =p,详细介绍下“K=K、K=A、A=B”代表的是什么意思?

    有客户经常问到"K=K.K=A.A=B"代表的是什么意思? 表示瓦楞纸箱纸质的要求,面纸和里纸为: K纸(K2.K1)进口牛卡,克重为130G和170G,有些业务员为了更高利润,会 ...

  9. C语言学习之求∑k(k=100)+∑K*k(k=50)+∑1/k(k=10)

    求∑k(k=100)+∑K*k(k=50)+∑1/k(k=10) #include <stdio.h> #include <math.h> void main(){double ...

  10. C语言学习之编程实现:输入长方形的两个边长a, b和一个整数k。k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s

    C语言学习 编程实现:输入长方形的两个边长a, b和一个整数k.k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s #include < ...

最新文章

  1. php限制字符输入,.NET_asp.net(c#)限制用户输入规定的字符和数字的代码,一下是这个代码: 只允许 用 - phpStudy...
  2. 8086地址传送指令LEA,LDS,LES
  3. python_fullstack基础(十八)-并发编程
  4. 深入解析MVVM架构
  5. Docker : Docker安装Kibana
  6. 蓝桥杯2017年第八届C/C++省赛C组第二题-兴趣小组
  7. VPC Peering 具有特定路由的配置
  8. ansi编码_刨根究底字符编码之零——前言
  9. docker容器2:镜像制作
  10. Python办公自动化之文件读写操作与Excel,csv,PDF文件
  11. python sdk是什么意思_什么是 SDK?
  12. Peekaboo(2019年上海网络赛K题+圆上整点)
  13. scanf可以输入负数吗_在excel表格中输入负数应该怎样输
  14. 解决Google浏览器打开页面速度太慢问题
  15. Java技术原理详解
  16. 月薪5w的大佬都爱用的SWOT分析法,本文分析透了!
  17. python语音转文字_Python文字转语音示例
  18. 用友通-财务报表维护
  19. 高等数学课程学习网站设计应用
  20. 计算机毕业论文nodejs,本科毕业论文--基于nodejs的博客系统设计与实现.docx

热门文章

  1. layui弹出层之layer.open弹出iframe窗口·
  2. 前摩拜创始人出任百度造车CEO
  3. Redis源码剖析和注释(十六)---- Redis输入输出的抽象(rio)
  4. switch语句 while循环 do-while循环
  5. CSS3 动画效果
  6. Xcode创建c语言方案及调试
  7. element-ui upload上传技巧
  8. 陆军常服军衔佩戴_美国陆军一名兽医如何从英语专业转到全栈开发人员(播客)...
  9. 电磁场的能量守恒和动量守恒
  10. Enter实现Tab键的功能