博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用人话讲明白++i和i++的区别,非常好懂哦
阅读量:4035 次
发布时间:2019-05-24

本文共 1044 字,大约阅读时间需要 3 分钟。

public class Main {
public static void main(String[] args) {
int x=iAddAdd(); //1 int y=addAddI(); //2 System.out.println("x="+x); //3 System.out.println("y="+y); //4 int i=0; //5 System.out.println(i++); //6 System.out.println(++i); //7 } public static int addAddI() {
int i=0; //8 int b=0; //15 b=++i; //16 System.out.println("b="+b); //17 return ++i; //10 } public static int iAddAdd() {
int i=0; //11 int a=i++; //12 System.out.println("a="+a); //13 return i++; //14 }}

在Java中,i++和++i都是用来给i这个变量赋值的,不同的是,++i是先让i增加,再进行使用;而i++则是先给把i给用了,再让i增加。

为了方便,我通过注释给上面代码的每句话都编了一下号。
在上面的程序中,我们先执行了1号语句,我们定义了变量x,使它的值为iAddAdd这个函数的返回值。在iAddAdd当中,我们通过11制造出形式参数i,初值为零,在执行12时,计算机内部过程为:先把i拿出来,看看程序需不需要拿它做什么,这时,电脑发现他需要把i的值赋值给a,于是他就先让a=i(即让a=0),完成了这一步之后,计算机把i增加了1。这个就叫做先用再加。所以13输出的结果就是a=0。而,继续执行第14 句时,计算机又看到了i++,这时,他发现程序让他把i的值返还给主函数中的x,于是,他就将i的值给了语句1的x,给完之后,i变成2。这就叫:加号在后用后加。
程序回到主函数,执行语句2,调用了函数addAddI,当加加i执行到16号语句时,计算机现将i的值增加1,再检测i有没有什么用处,发现要把它赋值给b,于是b 就是1,这就叫:加号在前用前加。

转载地址:http://fqbdi.baihongyu.com/

你可能感兴趣的文章
python append 与浅拷贝
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
python自动化工具之pywinauto(零)
查看>>
python一句话之利用文件对话框获取文件路径
查看>>
PaperDownloader——文献命名6起来
查看>>
PaperDownloader 1.5.1——更加人性化的文献下载命名解决方案
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
漂亮的代码,糟糕的行为——解决Java运行时的内存问题
查看>>
Java的对象驻留
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>