主题:数据类型,数值类型变量相互转化
Java是强类型的语言,与JavaScript(松散型)在数据类型上有很大的差异(1.所有变量必须先申明,后使用;2.指定类型的变量只接受与之匹配类型的值)。这个看似很严格,但有他的好处,Java中每个数据的类型都是明确的,减少了我们编程中的错误。
Java类型的分类:基本类型、引用类型(这和JavaScript的分类是一样的)。基本类型:整数类型(byte,short,int,long),字符类型(char),浮点类型(float,double),布尔类型(boolean)。每次看到浮点类型的float就想到css中的float:left。额(⊙o⊙)… 引用类型:类,接口,数组类型,空类型(null)。
既然有这么多数值类型,那么开发中一定会涉及到类型间的转换。下面,来聊聊。(o゚▽゚)o
1.自动类型转换
Java中支持范围小的数值类型自动转换为范围大的类型的。如下所示范围大小,从左向右,范围越来越大。注意:系统不能把byte类型直接转换为char类型!
byte --> short --> int --> long --> float --> double
char -->
例:int i = 2; float f = i; System.out.println(f); //2.0
2.强制类型转换
强行将大类型转换为小类型。大类型小一点还好,大的话转换为小类型后就会出现溢出,导致数据丢失。
例:double d = 3.14; int i = (int)d; System.out.println(i); //3
3.表达式类型自动提升
这种自动提示方式和第一种是一样的,只不过是在表达式中。
例:char c = 'c'; double d = 3.14; double result = c + d; System.out.println(result); //102.14
但在实际工作中,我们往往要把String类创建的字符串进行相应的转换。这里就涉及到了String类字符串的一些转换方法了。有兴趣详细了解的请看这篇博文,里面介绍的很清楚,希望能帮助到你。