今天学习到变量++与++变量遇到问题
如上代码所示,其实说起来挺丢人的,我猜正确了b的值是10,但是把a++忘了,以为两个都是10;所以在此跟各位Java入门的小白说说在下的理解思路:
其实看如上代码第二行b=a++,你的正确思路应该是分两步看,1.int b=a;2.a++;所以这样的正确答案应该是:b是10,a是11.
接着如下:
这段代码其实道理和上面的一样,吸取上一次的教训,可以先得出a的值是11;重点就是b的值,和上面一样,分两步看,先b=5+a;
然后a++;所以b的值是15,所以最终的结果就是11和15;
由此得出结论:当B变量++赋值给A变量时,是先把B的值赋值给A,然后B自增;反之则是先自增后赋值;
接下来是String拼接的问题:
输出s1的结果是:"laozhang58",而s2的结果是:"laozhang8";
这是因为表达式只要有字符串参与的运算结果总是字符串! s1中字符串后的'+'会被认为是连接符号,而s2中由于5+3是被小括号括起来的,所以会先当做算数表达式执行!
这就是在下今天发现的细节问题,小白一枚,希望对同我一样的初学者有些帮助.