表达式转型注意事项,和final修饰的变量会被JVM优化
来源:互联网 发布:淘宝价格走势app 编辑:程序博客网 时间:2024/06/04 17:44
1java中表达式转型需要注意
实例如下:
byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6);
问会出现什么状况:A、输出结果:13,B、b6=b4+b5 编译出错 C、b3=b1+b2编译出错 D、运行异常
首先表达式转型注意以下规则:
①所有的byte,short,char型的值将被提升为int型;
②如果有一个操作数是long型,计算结果是long型;
③如果有一个操作数是float型,计算结果是float型;
④如果有一个操作数是double型,计算结果是double型;
首先2个byte类型相加,会自动提升为int,计算的结果也是int因此需要强制转化会byte,而被fianl修饰的变量不会改变,会被JVM优化,当2个final修饰相加时候会根据左边变量的类型而转化,作为这2个final变量的最终类型。
如下面的代码:
编译运行都是通过的,final int和final byte相加是整形和byte型都可以,不需要强制转换。
public static void main(String[] args) {final int a=2;final byte a2=3;int a3=a+a2;byte a4=a+a2;System.out.println(a4);}
出处:http://www.bubuko.com/infodetail-1053430.html
0 0
- 表达式转型注意事项,和final修饰的变量会被JVM优化
- 表达式转型注意事项,和 final修饰的变量会被JVM优化
- 表达式转型注意事项,和final修饰的变量会被JVM优化
- final修饰的变量
- Java final修饰的变量
- final修饰变量的问题
- static和final修饰的变量之间的区别
- 关于被final修饰的基本数据类型一些注意事项
- final修饰类、方法和变量的目的
- final修饰基本类型和引用类型变量的区别
- 于java里方法的内部类只能访问被final修饰的局部变量和.
- static、final修饰的变量和方法能否被继承的问题
- jvm加载Final修饰的变量时,类是否需要加载
- 被final修饰的变量不一定要赋初值
- final修饰变量 与Stastic修饰的变量
- Java里final修饰的类变量,实例变量和局部变量
- private final static ×× 和private static final xx 两者修饰变量的区别
- final 修饰的成员变量无默认值!
- 【LWJGL官方教程】Game loops 游戏循环
- Linux 进阶 文件和文件系统的压缩和打包
- 动画(三)
- 托尔斯泰
- Node.js 内存泄露 定位
- 表达式转型注意事项,和final修饰的变量会被JVM优化
- Deep Learning及NLP(自然语言处理)杂谈--第一部分
- css中margin-left与left的区别
- Deep Learning及NLP(自然语言处理)杂谈--第二部分
- 指针数组与数组指针
- 动画(四)属性动画的工作原理
- Android View 使用自定义stateListDrawable时使用 verifyDrawable(...)
- Java关键字final、static使用总结
- 界面升级: 全新的Dungeons & Dragons 在线商店