深入理解Java字面量与数据类型转换
一、常用字面量默认的数据类型
Java是强类型语言,任何在程序中直接写出来的字面量都有确定的类型。
如:10 默认为int整型字面量
90.5 默认为double浮点型字面量
'' 默认为char字符型字面量
"" 字符串默认为String类的对象
二、给long、float型变量赋值时的字面量
定义long类型变量并赋值时需给字面量加上L(l) ,也可以不加。
如:long a = 10L(l); 或 long a = 10;
定义float类型变量并赋值时必须给字面量加上F(f) 。
如:float a = 10.0F(f);
1. 定义long型变量并赋值时,右侧字面量加L(l)和不加L(l)的区别
加了L(l) long a = 10L(l); 10才为long型字面量
未加L(l) long a = 10; 10默认为int型字面量,但可能编译不通过
具体分析:
1)不加L(l) —— 默认为int型字面量,取值在int型范围内
a. 若未超出int型的取值范围,则编译通过,实际上隐含了 int -> long 的类型转换(小类型到大类型的自动提升)
b. 若超出了int型的取值范围,则编译不通过
2)加L(l) —— 为long型字面量,取值在long型范围内
2301_79766701: 感谢感谢,明白了JRE与开发工具的区别
不会拯救世界的SuperMan: mark