Java的数据类型及数据类型转换
Posted benon94
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的数据类型及数据类型转换相关的知识,希望对你有一定的参考价值。
要了解数据类型,需要先知道什么是变量?
变量:就是在程序的执行过程中,其值是可以在一定的范围内发生改变的量。
也就是说,当创建变量的时候,需要先在内存中申请空间,变量的值就存储在这个空间中。
变量的组成规则:数据类型 变量名 = 初始化值;
1.必须对其进行限定。
如何限定呢?使用变量类型。
2.在运行的时候,不可能拿这个空间去运算,而是使用空间中的值。
因此,要给空间起一个名字,就是变量名。
3.初始化值。
定义变量的时候,一定要有一个初始化值,否则是无效定义。
--------------------------------------------------------------------------------------------------------------------------------------
Java语言是强类型语言,对每一种数据都定义了明确的数据类型。
这样,内存管理系统才能根据变量的类型为变量分配存储空间。
各类型占用字节数如下:
byte:1 short:2 int:4 long:8
float:4 double:8
cha:2
boolean:1
* 整数默认是int类型,浮点数默认是double类型。
数据类型转换:
1.布尔类型不能转换为其他的数据类型;
2.默认转换规则:
byte,short,char--->int--->long--->float--->double
byte,short,char相互之间不转换,他们参与运算的时候会首先转换为int类型。
举例:以下两种定义是相同的吗?有没有问题?
short s = 1; s = s + 1;
short s = 1;s += 1;
分析:第一种定义是错误的,因为s在作运算的时候会自动转换为int类型,运算结果也会为int类型,不能再赋值给short类型。
第二种定义是,因为这种赋值运算符隐含了一个强制类型转换,会将s+1的结果强制转换为short类型。
3.强制转换:
目标类型 变量名 = (目标类型)(被转换的数据);
举例:以下两个赋值有没有区别?
float f1 = (float)12.345;
float f2 = 12.345F;
分析:f1是将一个double类型的值强制转换为float类型,这样会进行截取,而f2本身定义就是一个float类型。
故第二种方法更好。
以上是关于Java的数据类型及数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章