转自:http://blog.sina.com.cn/s/blog_5eab3d430101fdv6.html ,
http://www.360doc.com/content/10/0915/10/2795334_53771845.shtml 十分感谢博主!
代码片段:
byte bmax, bmin;
short shmax, shmin;
char cmax, cmin;
int imax, imin;
long lmax,lmin;
float fmax,fmin;
double dmax,dmin;
fmax = Float.MAX_VALUE;
fmin = Float.MIN_VALUE;
dmax = Double.MAX_VALUE;
dmin = Double.MIN_VALUE;
bmax = Byte.MAX_VALUE;
bmin = Byte.MIN_VALUE;
cmax = Character.MAX_VALUE;
cmin = Character.MIN_VALUE;
shmax = Short.MAX_VALUE;
shmin = Short.MIN_VALUE;
imax = Integer.MAX_VALUE;
imin = Integer.MIN_VALUE;
lmax = Long.MAX_VALUE;
lmin = Long.MIN_VALUE;
System.out.println("float max="+fmax);
System.out.println("float min="+fmin);
System.out.println("double max="+dmax);
System.out.println("double max="+dmin);
System.out.println("byte max="+bmax);
System.out.println("byte min="+bmin);
System.out.println("char max="+cmax);
System.out.println("char min="+cmin);
System.out.println("short max="+shmax);
System.out.println("short min="+shmin);
System.out.println("int max="+imax);
System.out.println("int min="+imin);
System.out.println("long max="+lmax);
System.out.println("long min="+lmin);
输出:
float max=3.4028235E38
float min=1.4E-45
double max=1.7976931348623157E308
double max=4.9E-324
byte max=127
byte min=-128
char max=?
char min=
short max=32767
short min=-32768
int max=2147483647
int min=-2147483648
long max=9223372036854775807
long min=-9223372036854775808
说明:
实际上是每种类型的Container类定义的常量。
简单数据类型之间的转换
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double
简单数据类型之间的转换又可以分为:
●低级到高级的自动类型转换
●高级到低级的强制类型转换
●包装类过渡类型能够转换
低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
long l=b;
float f=b;
double d=b;
如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如r
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,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。
将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int i=99;
byte b=(byte)i;
char c=(char)i;
float f=(float)i;
可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。