java中的四类八型有什么区别
逻辑型-boolean文本型-char整数型-byte,short,int,long浮点型-float,double这些都有什么区别啊以及怎样使用和转换...
逻辑型-boolean 文本型-char 整数型-byte,short,int,long
浮点型-float,double 这些都有什么区别啊
以及怎样使用和转换 展开
浮点型-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本身的数据类型并不改变,由于这类转换中,源类型的值可能大于目标类型,因此强制类型转换可能会造成数值不准确。
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 不可能为其它值,也不指什么0与非0,他不能与其它类型转换,其它类型也不能转换成boolean型.
char 字符型,占4个字节,int型也是占4个字节,但他们之间不能相互转换,char可以理解为无符号的int型,所以他表示的数值范围比int(有符号)要广.即使这样也不能相互转换(除非你编写方法)
数值型 也就是你剩下的几个类型,他们之间可以进行一些转换:
byte 占用1个字节 数值范围自己查,记住也没什么用
short 2
int 4
long 8
float 4
double 8
在表达式中出现多种类型时自动往高级转换如:byte能转换成int型而数值不变,在有浮点数的地方转换为浮点数如:int 转换成float,long转换成double.当把浮点数强制转换成整型时将舍去小数部分,另外将一个大的整数转换成小的整数类型时如:long 转换成int 则系统会将大整数的低位字节转给小整数.如 long在转换成int 时会把long的低位4个字节的数值原样的赋给int型变量.高位的4个字节将被舍弃,建议不要这样做.
char 字符型,占4个字节,int型也是占4个字节,但他们之间不能相互转换,char可以理解为无符号的int型,所以他表示的数值范围比int(有符号)要广.即使这样也不能相互转换(除非你编写方法)
数值型 也就是你剩下的几个类型,他们之间可以进行一些转换:
byte 占用1个字节 数值范围自己查,记住也没什么用
short 2
int 4
long 8
float 4
double 8
在表达式中出现多种类型时自动往高级转换如:byte能转换成int型而数值不变,在有浮点数的地方转换为浮点数如:int 转换成float,long转换成double.当把浮点数强制转换成整型时将舍去小数部分,另外将一个大的整数转换成小的整数类型时如:long 转换成int 则系统会将大整数的低位字节转给小整数.如 long在转换成int 时会把long的低位4个字节的数值原样的赋给int型变量.高位的4个字节将被舍弃,建议不要这样做.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java书上都有
还是看书理解理解
还是看书理解理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这问题太多了,建议看一些java相关的书
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询