1. Java中的原生数据类型共有8种:
1)整型:使用int表示。(32位)
2)字节型:使用byte表示。(表示-128~127之间的256个整数, 8位)。
3)短整型:使用short表示。(16位)
4)长整型:使用long表示。(64位)
5)单精度浮点型:使用float表示:floatb= 2.3f;
6)双精度浮点型:使用double表示:double a = 1.2;
双精度浮点型表示数据范围要比单精度浮点型大。
7)字符型:使用char表示(char是character的缩写)。所谓字符,就是单个的字符表示,比如字母a,或者中文张,外面用单引号包围上。比如char a = ‘B’; char b = ‘张’;
8)布尔类型,使用boolean表示。布尔类型只有两种可能值,分别是true与false。
注:浮点型最后一位是系统随机产生的,所以两个浮点型的数不会相等;
2. Java中的所有浮点类型默认情况下都是double。不能将double类型的值赋给float类型的变量,即便该double类型的值处于float类型的范围内也是不可以的。总之,能否成功赋值取决于等号右边的值类型与等号左边的变量类型是否一致。
3. 如何将double类型的值赋给float类型的变量?
答案就是:强制类型转换,将double类型的值强制转换为float类型。
强制转换的语法: 类型 变量名 = (类型)变量值;
代码示例:
double a = 1.2;
float b = 2.3f;
b = (float)a;
System.out.println(a);
结果:1.2
4. 变量在使用前必须要赋值;变量必须要声明其类型方可使用;变量在使用前必须要定义,并且只能定义一次。
注意:局部变量必须得初始化:String name = “zhangpeng”;
全局变量不需要初始化:String name;
原因:全局变量系统会自动初始化为默认值,而局部变量则需要手动的去初始化;
5. 如下代码无法通过编译:
inta = 1;
shortb = a;
a是int类型,b是short类型,int类型表示的数据范围要比short类型大,不能将表示范围大的值赋给表示范围小的变量,必须得强制类型转化即可(short b =( short) a;)。
6. 如下代码可以通过编译:
shorta = 1;
intb = a;
a是short类型,b是int类型,int类型表示的数据范围要比short类型大,可以将表示范围小的值赋给表示范围大的变量。
7. 总结:可以将表示范围小的值赋给表示范围大的变量;但不能直接将表示范围大的值赋给表示范围小的变量,只能通过强制类型转换实现。