java中byte类型怎么用
java中String占几个字节?
java中String占几个字节?
Java中无论是汉字还是英文字母都是用Unicode编码来表示的,一个Unicode码是16位,每字节是8位,所以一个Unicode码占两字节。但是英文字母比较特殊,源自于8位(1字节)的ASCII吗,于是在Unicode码仅使用了低8位(1字节)就可以表示,高8位的话不使用也无所谓。所以
char ca
(().lenth()),得到的是1(字节)
但汉字就完整地使用了16位(2字节)的Unicode,所以
char c中
(().lenth()),得到的是2(字节)
综上,ca在内存中确实只占1字节,但这不意味着String s
byte类型和short类型可以一起算吗?
可以的。
譬如:
short ba 10中,10默认为int类型,a为byte类型,表达式中含有byte、short、char型数据运算时,java首先会将变量自动转换成int型,然后进行计算。
所以a会转换为int类型,两个int类型相加结果为int类型,short类型低于int类型,用short类型接收会出现错误。
short b (short)(a 10) ;通过强转成为short类型。
short b (byte)(a 10);强转为byte类型,short类型高于byte类型,byte类型可以自动转换为short类型。
byte类型的范围?
byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1);
short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1) ;
int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1) ;
浮点型 :
float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同 ;
float 3.402823e 38 ~ 1.401298e-45(e 38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节 ;
double 1.797693e 308~ 4.9000000e-324 占用8个字节 ;
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。