Java基础——Number类

Number类

在使用数字时,我们通常会使用内置数据类型,如下:

int a = 100;
double b = 11.22;

//byte的取值范围为(-128~127),占用int类型的四分之一空间。
byte c = 127;

//short取值范围为(-32768~32767),占用int类型的二分之一空间.
short d = 32767;

//boolean只有两个取值:true和false,表示一位的信息。
boolean e = true;

long f = 1000; 
float g = 234.3f;
char h = 'A';

然而在数据开发中,我们进程遇到需要使用对象而不是使用内置数据类型的对象。为了解决之一问题,Java为每一个内置数据类型提供了对应的包装类(比如使用该类型所拥有的函数)
以上基本数据类型的包装类如下:

基本数据类型 (对应的) 包装类
boolean Boolean
byte Byte
short Short
long Long
char Character
int Integer
float Float
double Double
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。(Character、Boolean)单独。

这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。

下面使用Integer对象的实例:

public class Test {
    public static void main(String args[]){
 
        Integer x=5;
        x +=20;  //当x被赋值为整型值时。由于x是一个对象,所以编译器要对x进行装箱。然后为了使x能进行加运算,所以要对x进行拆箱。   
        System.out.println(x);
    }
}


Number类方法

xxxValue()方法

例题:

类型 方法 用途
byte byteValue 以byte形式返回指定的数值
abstract double doubleValue() 以double形式返回指定的数值
abstract float floatValue() 以float形式返回指定的数值
abstract int intValue() 以int形式返回指定的数值
abstract long longValue() 以long形式返回指定的数值
short shortValue() 以short形式返回指定的数值

compareTo()方法

compareTo()方法用于将Number对象与方法的参数进行比较。该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较

equals()方法

``

valueOf()方法

valueOf()方法用于返回给定参数的原生Number对象值,参数可以是原生数据类型,String等。
该方法是静态方法,该方法接收两个参数:字符串String,和基数。

  • 语法(以Integer类为例)
      static Integer valueOf(int i)              //i为Integer对象的整数,返回一个表示指定的int值的Integer实例
      static Integer valueOf(String s)           //s为Integer对象的字符串,
      static Integer valueOf(String s,int radix)     //radix为在解析字符串s时使用的进制数,用于指定使用的进制数。返回一个Integer对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的String中提取的值

例题:

toStrng()方法

  • 以String类为例

       String toString()  //toString():返回表示Integer值的String对象
       static String toString(int i) //i为要转换的整数,返回int的String对象。

  • 例题:

parseInt()方法

  parseInt()函数可解析一个字符串,并返回一个整数,
  • 语法
System.out.println(Integer.parseInt(String a,int radix));

System.out.println(Double.parseDouble(String a,int radix));
//Integer() 、Double()为必需,指定返回对象
//a(必需)要被解析的字符串
//radix可选,表示要解析的数字的基数,该值介于2~36之间(若为16就返回十六进制数)。

例题:

posted @ 2020-11-04 15:43  deqi525  阅读(277)  评论(0编辑  收藏  举报