欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

【Java笔记】Java的类型转换,

来源: javaer 分享于  点击 22650 次 点评:285

【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);

相关文章

    暂无相关文章
相关栏目:

用户点评