java中i++与++i是什么意思
我是一个java初学者,在网上找教程自学,下面这个我怎么也闹不懂,第一个打印出来的i是哪个i,为什么是6,count打印出来为什么是12,说详细一点,谢谢inti=3;i...
我是一个java初学者,在网上找教程自学,下面这个我怎么也闹不懂,第一个打印出来的i是哪个i,为什么是6,count打印出来为什么是12,说详细一点,谢谢
int i=3;
int count=(i++)+(i++)+(i++);
System.out.println(i);
System.out.println(count); 展开
int i=3;
int count=(i++)+(i++)+(i++);
System.out.println(i);
System.out.println(count); 展开
36个回答
展开全部
//i++和++i是有区别的,
//i++是在一个先使用后加1,即先使用i的值,后让i+1
//++i则是先加1后使用,即先让i+1后再使用i的新值
//还有什么不明白的可以hi我
class ijiajia
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int i=3;
int count=(i++)+(i++)+(i++);//count=3+4+5,不信的话你可以用count=(i++)+(i++);这时会等于7
System.out.println(i);//i=6
System.out.println(count);//count=12
int j=3;
count=(++j)+(++j)+(++j);//count=4+5+6
System.out.println(j);//j=6
System.out.println(count);//count=15
}
}
//i++是在一个先使用后加1,即先使用i的值,后让i+1
//++i则是先加1后使用,即先让i+1后再使用i的新值
//还有什么不明白的可以hi我
class ijiajia
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int i=3;
int count=(i++)+(i++)+(i++);//count=3+4+5,不信的话你可以用count=(i++)+(i++);这时会等于7
System.out.println(i);//i=6
System.out.println(count);//count=12
int j=3;
count=(++j)+(++j)+(++j);//count=4+5+6
System.out.println(j);//j=6
System.out.println(count);//count=15
}
}
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-06-22 · 知道合伙人互联网行家
关注
展开全部
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
后缀++,先进行变量自增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++就是坑爹的!!理论上讲,语言规范上就不应该这么写。
实际编译运算结果是 i = i++ 的话,最后i一直是原值,没有自增
i = i+1 ,很容易理解就是i的值增1,返回给i
而 i = i++ ,i ++ 理论上在运算完毕以后要自加的,这个自加应该是发生在赋值之前,于是i的临时新值是 i+1
运算符只有一个 ++,所以会直接使用赋值号把右侧运算结果赋值给 i,于是 i 还是等于原来的 i
底层源码没见过……,也大致就是感觉如此了
实际编译运算结果是 i = i++ 的话,最后i一直是原值,没有自增
i = i+1 ,很容易理解就是i的值增1,返回给i
而 i = i++ ,i ++ 理论上在运算完毕以后要自加的,这个自加应该是发生在赋值之前,于是i的临时新值是 i+1
运算符只有一个 ++,所以会直接使用赋值号把右侧运算结果赋值给 i,于是 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++,是先执行赋值再+。
首先你要明确以一点是不管是 ++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++,是先执行赋值再+。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询