包装类
Number类
基本类型(byte short int long float double char boolean)是以值的形式直接存在,所以他们没有面向对象的特性,自然不继承object,不能使用多态,用object角度去接受基本类型。
为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。
xxxValue() 方法
xxxValue() 方法用于将 Number 对象转换为 xxx 数据类型的值并返回。
该方法不接受任何参数。
Integeri=1; System.out.println(i.doubleValue());//1.0System.out.println(i.byteValue());//1
valueOf() 方法
valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。该方法是静态方法。
staticIntegervalueOf(inti) staticIntegervalueOf(Strings) staticIntegervalueOf(Strings, intradix)//radix --在解析字符串 s 时使用的进制数,用于指定使用的进制数。Integerx=Integer.valueOf(9); Doublec=Double.valueOf(5); Floata=Float.valueOf("80"); Integerb=Integer.valueOf("444",16); // 使用 16 进制 System.out.println(x);//9System.out.println(c); //5.0 System.out.println(a); //80.0System.out.println(b); //1092
equals() 方法
equals() 方法用于判断 Number 对象与方法的参数进是否相等。如 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。
Integeri=1; Integerb=1; Integerc=5; Shorta=1; System.out.println(i.equals(b));//trueSystem.out.println(i.equals(c));//falseSystem.out.println(i.equals(a));//false
Math 类
Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
System.out.println("90 度的正弦值:"+Math.sin(Math.PI/2));//90 度的正弦值:1.0System.out.println(Math.PI); //3.141592653589793
sqrt() 方法
sqrt() 方法用于返回参数的算术平方根
返回参数的算术平方根。
doublea=4.0; System.out.println(Math.sqrt(c));//2.0
round() 方法
round() 方法返回一个最接近的 int、long 型值,四舍五入。round 表示"四舍五入",算法为Math.floor(x+0.5) ,即将原来的数字加上 0.5 后再向下取整。
Math.round(11.5)//12Math.round(-11.5)//-11doubled=100.752floatf=100; System.out.println(Math.round(d));//101System.out.println(Math.round(f));//100
parseXXX(String str)方法
包装类提供了一个静态方法parseXXX(String str),可以将给定字符串转换为对应的基本类型,前提是该字符串必须正确描述基本类型。
intx=Integer.parseInt("9"); doublec=Double.parseDouble("5"); ints=Integer.parseInt("123.123");//报错,字符串类型不对System.out.println(x);//9System.out.println(c);//5.0
Character 类
Character 类用于对单个字符进行操作。
Character 类在对象中包装一个基本类型 char 的值
Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象。
Characterch=newCharacter('a');
在某些情况下,Java编译器会自动创建一个Character对象
// 原始字符 'a' 装箱到 Character 对象 ch 中Characterch='a'; // 原始字符 'x' 用 test 方法装箱// 返回拆箱的值到 'c'charc=test('x');
将一个char类型的参数传递给需要一个Character类型参数的方法时,那么编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。
自动拆装箱是编译器认可,而不是虚拟机认可,编译器在将源程序编译时自动补齐代码来完成基本类型与包装类之间的转换。
inti=newInteger(0); //在.class 文件中,编译器将其改为inti=newInteger(0).intValue(); Integera=12; //在.class 文件中为Integera=Integer.valueOf(12);
toString() 方法
toString() 方法用于返回一个表示指定 char 值的 String 对象。结果是长度为 1 的字符串,仅由指定的 char 组成。
System.out.println(Character.toString('a'));//aSystem.out.println(Character.toString('A'));//A
大家可以去菜鸟教程等相关的网站去看更详细的知识点。今天浅浅分享了一下Java中包装类这一知识点,如果有啥问题,欢迎大家指出,谢谢大家。