Java_数据类型转换
Posted 小企鹅推雪球!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_数据类型转换相关的知识,希望对你有一定的参考价值。
Java_自动类型转换
- 自动类型转换:整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
- 有多种类型的数据进行混合运算时,系统首先自动将所有数据类型转换成容量最大的那种数据类型,然后再进行计算
byte,short,char
之间不会相互转换,这三种数据类型在计算时会首先转换为int类型
- 不能对
boolean类型
进行类型转换。 - 不能把对象类型转换成不相关类的对象。
- 在把
容量大的类型转换为容量小的类型时必
须使用强制类型转换。 - 转换过程中可能导致溢出或损失精度
- 当把任何基本数据类型的值和字符串
(String)进行连接时(+),
基本数据类型的值将自动转化为字符串(String)类型
- 自动类型转换必须满足转换前的数据类型的位数要低于转换后的数据类型,例如:
short数据类型的位数为16位,就可以自动转换位数为32的int类型,``float数据类型的位数为32,可以自动转换为64位的double类型
。 - 高位数转向低位数的数据类型时则会出现溢出的情况
Java_强制类型转换
- 强制类型转换:将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符:
(转换类型)
,但是可能会造成精度降低的问题, - 通常,
字符串不能直接转换为基本类型
,但是通过基本类型对应的包装类则可以实现把字符串转换为基本类型 String a = "43"; int b = Integer.parseInt(a);
boolean
类型不能转换为其他数据类型
public class Test{
public static void main(String[] args){
int i1 = 123;
byte b = (byte) i1; //强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于" + b);
}
}
Java_隐含强制类型转换
- 整数的默认类型是
int
- 浮点类型不存在隐含的强制类型转换的情况,因为定义
float
类型时必须在数字后面上 F 或者 f。
以上是关于Java_数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章