java中的四类八型有什么区别

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:04:57
逻辑型-boolean 文本型-char 整数型-byte,short,int,long
浮点型-float,double 这些都有什么区别啊
以及怎样使用和转换

boolean类型用来存储布尔值,在java里布尔值只有两个,true、false

char类型用来存储如字母、数字、标点符号以及其他符号之类的单一字符。java的字符占两个字节,是Unicode编码。

byte,short,int,long是用来存储整数的,其存储范围如下:
byte 8位 -128至127
short 16位 -32768至32767
int 32位 -2147483648至2147483647
long 64位 -9223372036854775808至9223372036854775807

float,double用来存储浮点数,分别是单精度(float)和双精度(double),其取值范围为:
float 32位 1.4E-45至3.4E+38,-1.4E-45至-3.4E+38
double 64位 4.9E-324至1.7E+308,-4.9E-324至-1.7E+308

数据类型的转换分为自动类型转换和强制类型转换
1、自动类型转换
要实现自动类型转换,需要同时满足两个条件,第一是两种类型彼此兼容,第二是目标类型的取值范围要大于源类型。例如,当byte型向int型转换时,由于int型取值范围大于byte型,就会发生自动转换。所有的数字类型,包括整型和浮点型彼此都可以进行这样的转换。
例:byte b=3;
int x=b;
2、强制类型转换
当两种类型彼此不兼容,或目标类型取值范围小于源数据时,自动转换无法进行,这是就需要进行强制类型转换。格式如下:
目标类型 变量=(目标类型)值
例:byte a;
int b;
a=(byte)b;
这段代码的含义就是先将int型的变量b的取值强制转换成byte型,再将该值赋给 变量a,注意,变量b本身的数据类型并不改变,由于这类转换中,源类型的值可能大于目标类型,因此强制类型转换可能会造成数值不准确。

boolean 型只有两个值: true 和 false 不可能为其它值,