学了这8种原声数据类型才发现java其实和c/c++差不多的,反正数据类型是一样的。接下来是八种原生数据类型和原声数据类型使用的陷阱。
1.八种原生数据类型:
- 1.整型:使用int表示 占据32位
- 2.字节型:使用byte表示。表示的数字比较小,-128~127之间的256个证书。
- 3.短整形:使用short表示。占据16位
- 4.长整型:使用long表示。占据64位
- 5.单精度浮点型:使用float表示所谓浮点型,指的就是小数,也叫做实数。
- 6.双精度浮点型:使用double表示 双精度浮点型表示的数据范围要比单精度浮点型大。
- 7.字符型:使用char表示。所谓字符就是单个的字符表示,比如字母a,或者中文张,外面用单引号包围。比如chara=’B";charb=’张’;
- 8.布尔类型:使用boolean表示,布尔类型只有两种可能值,分别是true和false
总结一下这八种,前四种,从范围上来讲,byte short int long四种类型表示的范围依次增大;接下来,双精度类型比单精度类型范围大;接下来是字符型char和布尔型,其实理解记忆更加容易。
2.java原声数据类型使用陷阱pitfall
java中的所有浮点类型默认情况下都是double,不能将double类型的值赋给float类型的变量,即使double类型的值处于float类型的范围也是不可以的。总之,能否成功赋值,取决于等号右边的值类型与等号左边的变量类型是否一致。
3.如何将double类型的值赋给float类型的变量?答案就是:
(1)强制类型转换,将double类型强制转换为float类型。
强制转换类型的语法:类型 变量名 = (类型)变量值
float c=(float)1.2; 将1.2强制转换为float,然后赋值给float类型的变量c
(2)使用java语言内置
float c=1.2F; //此处:f大小写都可以的。
4.变量在使用前必须要赋值。变量必须要声明其类型方可使用。变量在使用前必须要定义,并且只能定义一次;
5.
short a=1;
int b=a;
System.out.println(b); 可以编译输出1 因为int类型比short类型范围大。
int a=1;
short b=a;
System.out.println(b); 无法编译通过。因为a是int类型,b是short类型,int类型表示的数据范围要比short类型大。不能将表示范围大的值赋给表示范围小的。
6.总结:可以将表示范围小的值赋给表示范围大的,但不能直接将表示范围大的值赋给表示范围小的变量。只能通过强制类型转换。