今天咱来聊聊关于 i++ 与 ++i 到底有啥不一样哈!
相信这个问题绕晕了很多小白的脑瓜子!!!毕竟小编才接触这个的时候呢,也是脑瓜子嗡嗡嘚!!!!
首先++i与i++都是自加1 的意思哈!区别就在于先自加还是后自加! 别晕别晕哈!还没开始呢!!!
假设i=1;(方便后面友友的理解哈!)
++i 就是先自加1 ,再输出
(此处输出是指到达下一步前的值,并不是真正的输出哈!)那么此时执行++i;这一句代码后的值为2
i++ 就是先输出 ,再自加1
(也就是说这个时候到达下一步之前的值还未自加1,如果出现分号,就是说明这i++一句代码结束,结束后的值便是自加1后的值)那么此时执行i++值为1;(在没有遇到分号的情况里i还未自加)而执行完这句i++;的值则为2.
再送友友们一个小技巧:
加号在前呢,就先自加1,加号在后呢就后自加1!!!!
是不是脑瓜子还嗡嗡的吖!!!!!
别慌!!咱们来看看案例压压惊!!!
int a=9;
System.out.println(++a);
System.out.println(a++);
此处第一个输出++a是10;加号在前,先自加1,所以是10
第二个输出a++是9;加号在后,后自加1,在括号里没有遇到分号,所以是9,还没有自加1
对啦! i-- 和 --i 也是相同的道理哟!
好啦!一大波习题即将来临!友友们接好啦!!!!
(小编在文章末尾奉上了答案哟!!!
(做题要仔细哟!坑还是挺多的,可得看好路哈!别栽了!!!!!)
(1)
int a=2;
int b=3;
a++;
b++;
System.out.println(a++);
System.out.println(++b);
(2)
int a=8;
a++;
++a;
System.out.println(++a+a++);
要增加难度啦!!!!抗住啊!友友们!
(3)
int a=1;
a++;
System.out.println(++a+a++);
System.out.println(a++);
System.out.println(a++);
(4)
int i=2;
int a=++i+(i++)+(i++)+(i++)+(++1)+(++1);
System.out.println(a);
巅峰习题!!!!友友别哭,你可以的!!!!!加油加油!!!!!
(5)
int x=10,y=10;
System.out.println((x++)>10?(++y+(++x)):(--y+--x));
好啦!!!没有啦!毕竟友友们的脑瓜子也需要缓一缓的嘛!!!!!
答案揭晓!!!!!
(1)3 5
(2)22
(3)6 4 5
(4)30
(5)19
练习有不懂的,欢迎留言提问哟!!!!!!!小编已经擦亮宝座等待友友们啦!!!!!!
(小编也在努力学习更多哟!以后会多多分享哒!)
希望对友友们有所帮助!!!!