导航:首页 > 编程语言 > 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相关的资料

热点内容
小公司如何选择服务器 浏览:791
android指纹识别驱动 浏览:447
荣耀手机的系统有方舟编译器吗 浏览:629
单片机应用的论文 浏览:474
什么app可以查网购的真伪 浏览:444
培训班的程序员怎么样找工作 浏览:813
codeblocks编译器位数 浏览:447
bios加密怎么设置 浏览:349
台电u盘加密大师损坏 浏览:850
secure网站加密 浏览:124
电视显示加密是怎么回事 浏览:6
hadoophdfs书籍源码 浏览:584
电极服务器什么意思 浏览:10
MI预编译系统 浏览:596
python数据筛选教程 浏览:965
dell服务器怎么风扇一直叫 浏览:27
巴巴腾使用什么APP 浏览:216
程序员与it 浏览:805
农民种地用什么app 浏览:665
视频彩铃为什么服务器升级失败 浏览:588