【Java笔记】Java的类型转换,
【Java笔记】Java的类型转换,
目录
–
太长不看版(总结)
**总结:
- 目录
- 太长不看版(总结)
- 1、JAVA数据类型
- 1、1基本数据类型(小写)
- 1、2引用数据类型(大写)
- 2、JAVA都有哪些类型转换
- 2.1低级到高级的自动类型转换;
- 2.2高级到低级的强制类型转换(会导致溢出或丢失精度);
- 2.3基本类型向类类型转换;
- 2.4基本类型与字符串的转换;
- ⑴其它类型向字符串的转换
- ⑵字符串作为值,向其它类型的转换
- 2.5类类型向字符串转换
- 3、基本数据类型之间的转换规则
1、JAVA数据类型
要了解JAVA的数据类型转换我们就要先了解一下JAVA都有哪些数据类型。
JAVA中分为基本数据类型及引用数据类型
1、1基本数据类型(小写)
基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。
注意:
4类8种对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long
基本的数据类型由低级到高级分别为:(byte、short、char)——int——long——float——double
PS:此处的“级别”是指表示值的范围的大小。
4类8种:
(1)整型:int、short、long、byte。
(2)浮点型:float、double。
(3)字符型:char。
(4)布尔型:boolean。
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0
int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L
float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false
1、2引用数据类型(大写)
引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过*类或接口进行构造*,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。
引用类型包括类、接口、枚举和数组类型、null类型。
空引用null只能被被转化为引用类型,不能转化成基本类型,因此,不能把一个null值赋给基本类型的变量。
2、JAVA都有哪些类型转换
总结:其他基本类型转换为类类型都可以用volueOf(X),例如String.volueOf(X);类类型向对象的基本类型转换都可以使用XXXValue,例如 int i=Integer.valueOf(“123”).intValue()。这个语句使用的类包装器过渡。
分为以下几种情况:
2.1低级到高级的自动类型转换;
2.2高级到低级的强制类型转换(会导致溢出或丢失精度);
2.3基本类型向类类型转换;
2.4基本类型与字符串的转换;
⑴其它类型向字符串的转换
①调用类的串转换方法:X.toString();
②自动转换:X+“”;
③使用String的方法:String.volueOf(X);
⑵字符串作为值,向其它类型的转换
①先转换成相应的封装器实例,再调用对应的方法转换成其它类型
例如,字符中“32.1”转换double型的值的格式为:new Float(“32.1”).doubleValue()。也可以用:Double.valueOf(“32.1”).doubleValue()
②静态parseXXX方法
String s = “1”;
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
③Character的getNumericValue(char ch)方法
具体可查阅api。
2.5类类型向字符串转换
正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
反向转换:通过类包装器new出一个新的类类型的变量
eg1: int i=Integer.valueOf(“123”).intValue()
说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
3、基本数据类型之间的转换规则
基本数据类型之间的转换规则
1.在一个双操作数以及位运算等算术运算式中,会根据操作数的类型将低级的数据类型自动转换为高级的数据类型,分为以下几种情况:
1)只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;
2)只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;
3)只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;
4)两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。
short i=99 ;
char c=(char)i;
System.out.println(“output:”+c);
相关文章
- 暂无相关文章
用户点评