表达式转型注意事项,和final修饰的变量会被JVM优化
来源:互联网 发布:觉悟软件在线注册码 编辑:程序博客网 时间:2024/06/06 18:49
1java中表达式转型需要注意
实例如下:
1
2
3
4
5
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型都可以,不需要强制转换。
1
2
3
4
5
6
7
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);
}
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 修饰的成员变量无默认值!
- Altera_FPGA的设计流程总结
- 一些css样式问题
- 文件操作的不带缓冲和带缓冲的区别是什么!
- (转)Ubuntu下AndroidStudio的真机调试
- Unreal Engine 4 C++ AI 简单巡逻BehaviorTree的构建
- 表达式转型注意事项,和final修饰的变量会被JVM优化
- 百度地图开发MapView+Fragment出现的问题
- 瞅一眼编译器的内部:保留我的memset
- url传递参数中文乱码
- 安卓 相对布局属性
- 译 - Cassandra 数据建模的基本规则
- json字符串为html语言,怎么显示在手机上
- 单片机unit8 unit16强转
- LeetCode No.98 Validate Binary Search Tree