八大基本类型:int short long byte float double char boolea
八大类型可分为三种:数值型,字符型,布尔型。每种基本类型对应一种包装类,下面以Integer为例介绍数值型的基本用法。
Integer
代码
public class learn {
public static void main(String[] args) {
Integer integer = 13842;
//1.数值转化类
System.out.println(integer.byteValue()); //转化为byte型输出
System.out.println(integer.shortValue()); //转化为short型输出
System.out.println(integer.longValue()); //转化为long型输出
System.out.println(integer.doubleValue()); //转化为double型输出
System.out.println(integer.floatValue()); //转化为float型输出
System.out.println(Integer.toUnsignedLong(integer)); //将输入的int型数值转变成无符号long型
System.out.println(Integer.toHexString(integer)); //将输入的int型数值转变成16进制型
System.out.println(Integer.toOctalString(integer)); //将输入的int型数值转变成8进制型
System.out.println(Integer.toBinaryString(integer)); //将输入的int型数值转变成2进制型
//2.字符串转数值型
String s="123";
System.out.println(Integer.parseInt(s)); // parseInt将字符串类型转化成整形数值
System.out.println(Integer.parseInt(s,8)); // parseInt将字符串类型按照radix进制转化成整形数值
System.out.println(Integer.parseUnsignedInt(s,8)); //parseUnsignedInt将字符串类型按照radix进制转化成无符号整形数值
System.out.println(Integer.parseUnsignedInt(s)); //parseUnsignedInt将字符串类型按照radix进制转化成无符号整形数值,默认转化为十进制
System.out.println(Integer.valueOf(s)); //valueOf将字符串转化为指定进制的数值
System.out.println(Integer.valueOf(s,8));
System.out.println(Integer.valueOf("1a", 16));
//3.数值转字符串
System.out.println(Integer.toString(15,2)); //将第一个参数转变成radix进制数字并转化为string型输出
System.out.println(Integer.toUnsignedString(integer)); //将输入的int型数值转变成String,radix为可加可不加的参数。默认十进制
System.out.println(Integer.toUnsignedString(integer));
System.out.println(integer.toString().replace('1','9'));
System.out.println(Integer.toString(456));
System.out.println(Integer.toHexString(456)); //转化为16进制的字符串型
System.out.println(Integer.toBinaryString(456)); //转化为二进制的字符串型
System.out.println(Integer.toOctalString(456)); //转化为8进制的字符串型
//4.功能类方法
System.out.println(integer.toString().replace('1','9'));
System.out.println(integer.getClass());
System.out.println(integer.compareTo(new Integer(13)));
System.out.println(integer.compareTo(new Integer(999999)));
System.out.println(integer.compareTo(new Integer(13842)));
System.out.println(integer.equals(13842));
}
}
输出结果
18
13842
13842
13842.0
13842.0
13842
3612
33022
11011000010010
123
83
83
123
123
83
26
1111
13842
13842
93842
456
1c8
111001000
710
93842
class java.lang.Integer
1
-1
0
true
第一行结果和预期的差异的原因是超出了byte的范围,这警示我们在调用对应的数值类型的时候要注意它的取值范围。