JAVA中i =0是什么意思_i++和++i是什么意思 i++和++i的区别

i++和++i是C语言运算符,i++是后缀递增的意思,++i是前缀递增的意思。

1、i++是后缀递增的意思,i++是先进行表达式运算,再进行自增运算。把i++的运算过程拆分开,等效于i=i+1可以看到运算结果是一致的。

x = i ++; //先让x变成i的值1,再让i加1

2、++i是前缀递增的意思,++i是先进行自增或者自减运算,再进行表达式运算。运算结果可以发现,仅从i的值来看,++i和i++最终的i值是一样的,都是i自增加了1。

x = ++i; //先让i加1, 再让x变成i的值1

扩展资料

C语言运算符的特点

1、C语言是一种具有结构化编程、变量作用域和递归函数的过程化语言。

2、C语言中按值传递的形参和按值传递的指针也可以传递。

3、不同的变量类型可以与结构体结合使用。

4、只有32个保留关键字可以使变量和函数的命名更加灵活。

5、可以转换部分变量类型,比如整数和字符变量。

6、利用指针,C语言可以很容易地控制内存在较低的层次上。

7、预编译处理(预处理器)使C语言编译更具弹性。

参考资料来源:百度百科—C语言运算符

i++的作用是先对i进行操作再++;

如:

int

a

=

1;

int

b

=

a++;

//此时先运算b=a,再a++,故b=1,a=2

int

c

=

--a;

//此时先--a,再运算c=a,故c=1,a=1

i++ 和 ++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i =i+1 ;

++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于:

前缀++,先使用变量,再进行变量自增1

后缀++,先进行变量自增1,再使用变量

如:

示例代码1:

int i=0;

while( i++ < 5 ) //先用i的原值与5比较,比较完成后,无论结果是真还是假,都要再进行i=i+1运算

{

System.out.print( i+ " ");

}

这个循环运行5次,输出 1 2 3 4 5,最后的i值是6

示例代码2:

int i=0;

while( ++i < 5 ) //先进行i=i+1运算,然后用i的新值与5比较,判断结果是真还是假

{

System.out.print( i+ " ");

}

这个循环运行4次,输出 1 2 3 4,最后的i值是5

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左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。

比如:

int i = 0;

int *p1 = &(++i);//正确

int *p2 = &(i++);//错误

++i = 1;//正确

i++ = 1;//错误

扩展资料:

当i=5时,s=(++i)+(++i)和s=(i++)+(i++)的值:

1、当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,

再计算第二个(++i),++在前面也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13。

2、s=(i++)+(i++)=11 先算第一个(i++),i在前面,就先赋值再把i加1,即(i++)的值为5,i的值变为6,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了。所以s=(i++)+(i++)=5+6=11。

参考资料来源:百度百科-自增自减运算符

参考资料来源:百度百科-++

i++和++i是什么意思 -

: i++是C语言运算符,i++是后缀递增的意思,++i是前缀递增的意思.1、i++是后缀递增的意思,i++是先进行表达式运算,再进行自增运算.把i++的运算过程拆分开,等效于i=i+1可以看到运算结果是一致的.x = i ++; //先让x变成i的值1,再让i...

i++和++i是什么意思

: i++ :先引用后增加++i :先增加后引用i++ :先在i所在的表达式中使用i的当前值,后让i加1++i :让i先加1,然后在i所在的表达式中使用i的新值

java中i++与++i是什么意思 -

: 在java中i++和++i都是运算方式 例:1、i++先引用后增加 {int i=0; int j=i++;} 运算过后,j=0;表明i++是指先把i赋值给j然后再自身加1;2、++i 先增加后引用 {int i=0; int z=++i;} 运算过后,z=1;表明++i是指先自身加1后赋值给z;

i++.与++i.到底是个什么意思 -

: i++ 是先赋值 后运算 可以把程序拆分2步执行 1、i=i, 2、i=i+1 ++i 是先运算 后赋值 可以把程序拆分2步执行 1、i=i+1 2、i=i 最后2者的执行结果都是将i+1

i++和++i的含义 -

: ++是自加运算符 如果另 i=1 , i++ 是在i的基础上 先求i的值 再+1, 最后结果是2,i=1; ++i, 是先+1 再得 i的值 ,结果为 2,i=2;

里面的i++ 或++i 是什么意思?

: i++就是i=i+1等号代表赋值,就是先赋值再加一 ++i就是先加一在赋值

i++,++i是什么意思

: 例如 i = 0; i++ 是先取 i 的值然后对 i 进行加1的操作; ++i是先对i进行加1的操作然后再取i的值; int k = i++; 这个时候k = 0,i = 1; int k = ++i; 这个时候k=1,i = 1;

i++ 和++i是一个意思吗? -

: 都是,区别在于i++是i先不自加,在语句完后自加,++i先自加;列如a=1+i++;i本来为1的话,这里a=1+1;语句完后i才加1为2;a=1+++i的话就先i=i+1;i=2.然后a=i+1,a=3

java中i++与++i是什么意思

: i++和++i都是对i进行+1的操作,不同的是i++是在i值被使用后才+1而++i是i值在被使用之前就+1;拿你的例子进行说明先分析count=(i++)+(i++)+(i++);运算是从左向右的,由于i++是在i值被使用后才+1所以第一个括号的(i++)应该为3,但是i的...

假设i是整型变量i++和++i含义什么? -

: ++i为前置自增,i++为后置自增,前者i先加1再参加其他运算,后者i先参加其他运算再加1,如果单独一条语句i++;或++i;两者运行效果相同,比如 for(int i=0; iint i = 0, j; j = i++; 运行结果为i为1,但是j为0 int i = 0, j; j = ++i; 运行结果为i为1,但是j为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值