java运算符a=a+b与a+=b区别——demo例子

 时间:2024-10-16 17:14:06

1、首先创建一个java文件,通过记事本编写简单的demo代码,本人编写了一个Test文件,然后另存为.java文件。参考下图,

java运算符a=a+b与a+=b区别——demo例子

2、现在我们通过编译来比较b=b+10;和b+=10;的区别,第一步我们把b+=10;进行注释,参考下图。

java运算符a=a+b与a+=b区别——demo例子

3、然后在cmd命令行进行编译(环境配置时候classpath设置当前路径),通过编译我们可以发现b=b+10会报错误,原因是b是byte类型,而10是int类型,int类型不能隐式转换为byte。参考下面结果:

java运算符a=a+b与a+=b区别——demo例子

4、将第一步我们把b=b+10进行注释,然后进行编译,执行,我们会发现b+=10;是可以通过的。具体参考下图

java运算符a=a+b与a+=b区别——demo例子

5、那么,为什么byte b=1;b+=10;会编译通过呢,首先我们通过反编译工具查看编译后的class文件。具体如下:

java运算符a=a+b与a+=b区别——demo例子

6、通过对class文件的了解可以知道,这段代码byte b=1;b+=10;System.out.println(b);被编译成了int i = 1;i = (byte)(i + 10);System.out.println(i);现在我们可以很清楚的了解到为什么byte b=1;b+=10;b=b+10的区别,首先编译上,b+=10是可以编译通过的,编译后的文件也是做过处理的。有兴趣的可以测试下下面这个代码,你会更加了解byte和int的关系。

java运算符a=a+b与a+=b区别——demo例子
  • 微积分下册隐函数偏导求法
  • 原神怎么解锁更多的食谱?
  • 淘宝会员怎么升级
  • 原神祭礼剑不能锻造了
  • 能源利用时期中的煤炭时期?
  • 热门搜索
    绿色校园手抄报资料 数学的手抄报 走进西部的手抄报 节粮节水节电手抄报 海量阅读手抄报 法制在我身边手抄报 数学乐园手抄报内容 没有字的手抄报 反对邪教手抄报图片 清明手抄报资料大全