导航:首页 > 编程语言 > java中i和i

java中i和i

发布时间:2023-06-04 18:45:07

java 中 i++和++i有什么区别

i++

++i
都是表达式,都会有一个返回值。
不同的地方在于,i++返回的是加一之前的值,而++i是返回加1后的值。
int
i
=
1;
int
b
=
i++;
此时执行后i为2,b为1.
int
i=1;
int
b=++i;
执行后i为2,b为2.
传言++i比i++速度更快

⑵ Java里面i++和++i到底有什么区别

1、赋值顺序不同
++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。
因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。
形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。
2、效率不同
比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期,以及i值在程序流中的变化。
3、 i++ 不能作为左值,而++i 可以。
左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。
但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。

⑶ Java 中 i-- 和 --i 的实际应用

你这两段代码执行结果没有任何区别,--i和i--的区别我写个例子你看一下估计就明白了:

inti=10,a,b;
System.out.println("i="+i);
a=i--;
System.out.println("执行a=i--;//i="+i+",a="+a);
b=--i;
System.out.println("执行b=--i;//i="+i+",b="+b);

结果如下:

i=10
执行a=i--;//i=9,a=10
执行b=--i;//i=8,b=8

⑷ java中++i和i++的区别

无论在java还是在其他语言中,++i和i++的用法都是一样的,主要差别体现在直接使用中:

++i是先对i进行自增操作然后再进行运算,如

inti=10;
System.out.println(++i);//这时输出结果为11

i++是先进行运算然后再进行自增操作,如

inti=10;
System.out.println(i++);//这时输出的结果还是为10

当然在不是直接进行运算的用法当中输出的结果是一样的,如:

inti=10;
i++;
System.out.println(i);//结果为11
i=10;
++i;
System.out.println(i);//结果为11

⑸ Java中的++ i和 i++ 的区别

java中的++ i和 i++ 和c语言中是一样的

首先你要明确以一点是不管是 ++i 还是 i++,最后结果对于i来说都是一样的,他的值都会加1。
eg:i=5;这两个动作完成后i的值都变成6。

其次 对于他赋值给的那个变量就不一样了。
eg:i=5;
a = ++i,这句执行完后a = 6,当然i=6;
但是
a = i++,这句执行完后a = 5,i=6;

看了上面的例子应该明白结果了吧。

理解的话对于a = ++i你可以理解先执行+,再赋值。而对于a = i++,是先执行赋值再+。

阅读全文

与java中i和i相关的资料

热点内容
lcd单片机驱动 浏览:643
通达信主力拉升出货指标公式源码 浏览:635
廉洁pdf 浏览:16
批量用修改多个文件夹及子目录 浏览:315
王者每个服务器爆满怎么办 浏览:947
安卓手机如何清除所有的数据 浏览:978
激光打标机加密狗驱动无法启动 浏览:908
硅谷程序员题库 浏览:558
安卓系统怎么开车模式 浏览:940
网剧程序员那么可爱15集完整版 浏览:172
pdf怎么生成 浏览:934
pythondict树 浏览:582
ilo2命令 浏览:292
会饮pdf 浏览:88
软件加密到哪里去了 浏览:604
nas可以做云服务器吗 浏览:623
app利率怎么算 浏览:10
广电运通程序员 浏览:570
程序员放弃后会怎样 浏览:189
河北模具编程 浏览:192