目录
- 1.自动类型转换
- 1.定义
- 2.数据类型按精度大小排序
- 3.使用细节
- 2.强制类型转换
- 1.定义
- 2.使用细节
- 3.基本数据类型与String类型的转换
- 1.基本数据类型转String类型
- 2.String类型转基本数据类型
今天主要学习的是Java基本数据类型之间的转换以及String类型与基本数据类型之间的转换
1.自动类型转换
1.定义
Java程序在进行赋值或运算时,自动将精度小的转换成精度大的。
2.数据类型按精度大小排序
char —> int —> long —> float —> double
byte —> short —> int —> long —> float —> double
3.使用细节
- 当有多种数据混合运算时,系统首先自动将所有数据转换成容量最大的数据类型,再进行计算。
- 当把精度大到数据类型赋给精度小的会报错。注意在进行数值赋值时,先判断是否在该小精度数据类型范围内,如果是就可以,如果是进行变量赋值,就不行。
- byte,short和char之间不能相互自动转换。
- byte,short和char三者可以计算,计算时转换成为int类型。
- boolean类型不参与转换。
- 自动提升原则:表达式结果的类型自动转换成操作数中最大的类型。
2.强制类型转换
1.定义
自动类型转换的逆过程,将容量大的数据类型装换成容量小的数据类型。使用时要加上强制转换符,但可能造成精度降低或溢出。
2.使用细节
强制类型转换只对最近的操作数有效,往往会使用小括号提升优先级。
char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
public class ForceTest{ public static void main(String []args){ int x = (int)(10*3.5+6*1.5);//正确 int y = (int)10*3.5+6*1.5;//报错 } }
3.基本数据类型与String类型的转换
1.基本数据类型转String类型
将本类型的值 + “” 即可。
int n1 = 100; String str1 = n1 + "";
2.String类型转基本数据类型
通过基本数据类型的包装类调用parseXX函数即可,但要确保String类型能够转换成有效的数据,比如可以将"123"转换,但不能将"hello"转换成一个整数,如果格式不对,就会抛出异常,终止程序。
String Str1 = "345"; Integer.parseInt("123"); Double.parseDouble("123.5"); Float.parseFloat("123.3"); Short.parseShort("123"); Boolean.parseBoolean("true"); Long.parseLong("123456"); Byte.parseByte("12"); //将字符串转换成字符型需要调用charAt(int a)函数 Str1.charAt(a); //表示字符串中第a+1个字符 Str1.charAt(0)='3';
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)