java 常见类型及其转换
Java中常见类型:
Java中常见数据类型主要有8种基本数据类型、 字符串String类型 和Date类型 。其中基本数据类型主要分为数值型、字符型和浮点型,如下图所示:
如上图所示 八种基本数据类型分别为 byte、short、int、long、float、double、boolean、char
这几种基本数据类型都有自己的“封装器”类。当创建一个对应的类型的对象的时候可以使用它所对应的封装类 如 Character c = 'x';
就创建了一个值为’x’的对象而不是基本数据类型。
数据类型之间的转换:
(1)首先为数值型的转换,直接进行强转即可,例如从任意类型均可转为最小占位的byte
byte b1 = 1;
short s1 = 1;
int i1 = 1;
long l1 = 1;
double d1 = 3.13244;
float f1 = 1;
byte b2 = (byte) s1;
byte b3 = (byte) i1;
byte b4 = (byte) l1;
byte b6 = (byte) d1;
byte b7 = (byte) f1;
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
System.out.println(b6);
输出:
1
1
1
3
也可以将任意类型转化为double (同上)
char 和 int之间的转换:
将char转换为int不能使用强转,这样得到的是字符的ASCII码,如下所示:
int a = (int)'0';
System.out.print(a).
>> 48
int a = (int)'a';
System.out.print(a)
>> 97
int a = (int)'A';
System.out.print(a).
>> 65
因为所有字符在java中都是用ASCII码表示的,它是可以表示为对应的数字大小的(参考百度百科)只是占用的字节不同如:
boolean b = 'A'==65
System.out.print(b)
>> true
因此我们通常可以用运算转化:
int a = (int)'9'-'0';
System.out.print(a).
>> 9
将int转化为char 可以使用它们之间的ASCII码的大小关系转化:
因此若想将 数字0 转化为 ‘0’ 可以利用ASCII码计算关系:
char a = 0 + 48;
System.out.print(a).
>> '0'
将基本数据类型转化为String:
将基本数据类型转化为String ,直接在上面加空字符串即可。
将String转化为基本数据类型:
String数字格式转换:
当我们在使用字符串类型数字的时候,通常需要将其转化为我们想要的格式化数值,比如需要将double d = 3.1233
转化为两位有效数字,此时我们使用DecimalFormat类,在构造方法中需要我们传入格式模式字符串输出我们想要的格式化数值,格式模式元素包含:
如下表达:
DecimalFormat df1 = new DecimalFormat("00.00");
DecimalFormat df2 = new DecimalFormat("##.##"); //注意转换的时候四舍五入
DecimalFormat df3 = new DecimalFormat("%");
DecimalFormat df4 = new DecimalFormat("\u2030");
String s1 = df1.format(3.2);
String s2 = df2.format(3.2);
String s3 = df3.format(3.2);
String s4 = df3.format(0.31111); //只表示整数部分
System.out.println(s1); //03.20
System.out.println(s2); // 3.2
System.out.println(s3); //%320
System.out.println(s4); //‰311