关于Java中的变量自增以及String拼接的问题

  今天学习到变量++与++变量遇到问题

如上代码所示,其实说起来挺丢人的,我猜正确了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是被小括号括起来的,所以会先当做算数表达式执行!

这就是在下今天发现的细节问题,小白一枚,希望对同我一样的初学者有些帮助.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 28,434评论 5 19
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,953评论 18 399
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,742评论 0 6
  • String类 1、String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,...
    简诗阅读 3,097评论 0 1
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 8,655评论 0 6