文档章节

java关于a+=b与a=a+b的区别

my_juke
 my_juke
发布于 06/14 09:04
字数 332
阅读 91
收藏 2

今天看到一个题目a += b与 a=a+b的区别

看下面一段代码
代码A

short a=4;
int b=5;
a += b;

代码B

short a=4;
int b=5;
a =a+b;

可以告诉你:A编译成功,B编译失败。
这里没有为什么,需要记住一点,+= 会对结果进行转型,A代码的结果是int,最后赋值给a的时候,会转为shot类型。
我们看它的编译后的二进制代码:

  4: iconst_4   //加载常量4
  5: istore_1   //将常量4给第一个变量
  6: iconst_5  //加载常量5
  7: istore_2  //将常量5给第二个变量
  8: iload_1   //以int类型加载第一个变量到栈
  9: iload_2  //以int类型加载第二个变量到栈
 10: iadd    //弹出两个变量进行相加,结果入栈
 11: i2s    //弹出一个变量,将int转为short
 12: istore_1  //将short类型的值给第一个变量

那么 -=,*=,/=呢?

© 著作权归作者所有

my_juke
粉丝 4
博文 34
码字总数 22261
作品 0
深圳
私信 提问
Java开发每日复盘2018_0514

今天主要跟大家分享3个部分: 一、「Java的核心机制」 二、「Java命名规范」 三、「Java数据类型相关」 下面我们来一个一个的说: 「Java核心机制」 Java是一种强制面向对象的解释型语言(O...

ZeroOSTalk
2018/05/14
0
0
这是我见过最有用的java面试题,面试了无数公司总结的(含答案)

(一小部分题的答案被我略作改动) 1、什么是线程局部变量? 线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java 提供 ThreadLocal 类来支持线程局部变量,是...

Java高级架构
2018/10/15
0
0
一道c++的题目,改成java版本后发群里,引众多java码农争论

去年曾经一道c++的题目在网上引起众多码农的热议,题目就是两个函数,在第一个函数中定义了变量a与b的值,并且调用了第二个函数,而第二个函数是一个空函数,有两个参数a与b, 第一个函数末尾...

whoisliang
04/16
12
0
大佬分享:180+道Java面试题目!含答案解析!

作者:我是offer 链接:https://www.nowcoder.com/discuss/84736 来源:牛客网 大厂常见问题 写视频点播网站文件下载接口 基础变量/数组写出模拟maven导入包过程 写出新变脸内存分配,模拟垃...

Java高级架构
2018/07/24
0
0
【Java】几道让你拿offer的面试题

只有光头才能变强 之前在刷博客的时候,发现一些写得比较好的博客都会默默收藏起来。最近在查阅补漏,有的知识点比较重要的,但是在之前的博客中还没有写到,于是趁着闲整理一下。 文本的知识...

Java3y
2018/08/02
35
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么要在网站中应用CDN加速?

1. 网页加载速度更快 在网站中使用CDN技术最直接的一个好处就是它可以加快网页的加载速度。首先,CDN加速的内容分发是基于服务器缓存的,由于CDN中缓存了不少数据,它能够给用户提供更快的页...

云漫网络Ruan
16分钟前
2
0
亚玛芬体育(Amer Sports)和信必优正式启动合作开发Movesense创新

亚玛芬体育和信必优正式启动合作开发Movesense创新,作为亚玛芬体育的完美技术搭档,信必优利用Movesense传感器技术为第三方开发移动应用和服务。 Movesense基于传感器技术和开放的API,测量...

symbiochina88
27分钟前
2
0
创龙TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA核心板规格书

SOM-TL437xF是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA芯片设计的核心板,采用沉金无铅工艺的10层板设计,适用于高速数据采集和处理系统、汽车导航、工业自动化等领...

Tronlong创龙
27分钟前
2
0
好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
33分钟前
6
0
IDEA 自定义方法注解模板

IDEA 自定义方法注解模板 1、使用效果 /*** 计算交易费用* @Author wangjiafang* @Date 2019/9/11* @param feeComputeVo* @return*/@PostMapping("/v1/fee_compute")public ApiResp......

小白的成长
33分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部