JAVA的8种基本数据类型和类型转换

byte 字节型                        1字节(8bit) 初始值:0
char 字符型         2字节 空格
short 短整型         2字节 0
int 整形            4字节 0
long 长整形         8字节 0L
float 单精度浮点型        4字节 0.0f
double 双精度浮点型        8字节 0.0d
boolean Java未明确指出的大小 (可能1bit,1byte,4byte) false

上面所写的初始值都是针对类成员的变量。

数据类型之间的转换

两种:自动转换和强制转换

自动转换  小——>大

较“小”数据与较“大”数据一起运算时,系统将自动将小数据转换成大数据进行运算。

这些类型由"小"到"大"分别为 (byte,short,char)--int--long--float—double。这里我们所说的"大"与"小",并不是指占用字节的多少,而是指表示值的范围的大小。

①下面的语句可以在Java中直接通过:

byte b;int i=b; long l=b; float f=b; double d=b;

②如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如

char c='c'; int i=c;

System.out.println("output:"+i);输出:output:99;

强制转换 大——>小

对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。

short i=99 ; char c=(char)i; System.out.println("output:"+c);

输出:output:c;

注意:

①所有的byte,short,char型的值将被提升为int型;

②如果有一个操作数是long型,计算结果是long型;

③如果有一个操作数是float型,计算结果是float型;

④如果有一个操作数是double型,计算结果是double型;

例, byte b; b=3; b=(byte)(b*3);//必须声明byte。

原文地址:https://www.cnblogs.com/CheeseIce/p/10489321.html