Java新手学程序员

Java编程基础(11)

2018-12-07  本文已影响19人  疯狂平头哥

Java编程基础知识:Java内置包装内

1.Java Object类详解:Object类的常用方法(equals()和getClass())

Object 是 Java 类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类是等价的。

publicclassMyClass{…}

等价于

publicclassMyClass extends Object{…}

由于 Java 中的所有类都是由 Object 类派生出来的,因此在 Object 类中定义的方法,在其他类中都可以使用,常见的方法如表 1 所示。

表1 Object类的常用方法

方法说明

Object clone()创建与该对象的类相同的新对象

boolean equals(Object)比较两对象是否相等

void finalize()当垃圾回收器确定不存在对该对象的更多引用时,对象的垃圾回收器调用该方法

Class getClass()返回一个对象运行时的实例类

int hashCode()返回该对象的散列码值

void notify()激活等待在该对象的监视器上的一个线程

void notifyAll()激活等待在该对象的监视器上的全部线程

String toString()返回该对象的字符串表示

void wait()在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待

其中,equals() 方法和 getClass() 方法在 Java 程序中比较常用。

equals() 方法

equals() 方法的作用与运算符类似,用于值与值的比较和值与对象的比较,而 equals() 方法用于对象与对象之间的比较,其使用格式如下:

boolean result=obj.equals(Object o);

其中,Obj 表示要进行比较的一个对象,o 表示另一个对象。

程序有运行的结果为:

上述代码在 validateLogin() 方法中又使用 equals() 方法将两个 String 类型的对象进行了比较,当 uname 对象与保存 admin 的 String 对象相同时,uname.equals("admin") 为 true;与此相同,当 upwd 对象与保存 admin 的 String 对象相同时,upwd.equals("admin") 为 true。当用户输入的用户名和密码都为 admin 时,表示该用户为合法用户,提示登录成功信息,否则提示用户名或密码有误的错误信息。

getClass() 方法

getClass() 方法返回对象所属的类,是一个 Class 对象。通过 Class 对象可以获取该类的各种信息,包括类名、父类以及它所实现接口的名字等。

2.Java Integer类详解

Integer 类在对象中包装了一个基本类型 int 的值。Integer 类对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

Integer 类的构造方法

Integer 类中的构造方法有以下两个。

Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值。

Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

例如,以下代码分别使用以上两个构造方法来获取 Integer 对象:

Integer integer1=newInteger(100);//以 int 型变量作为参数创建 Integer 对象

Integer integer2=newInteger("100");//以 String 型变量作为参数创建 Integer 对象

Integer 类的常用方法

在 Integer 类内部包含一些和 int 类型操作有关的方法,表 1 列出了这些常用的方法。

表1 Integer类中的常用方法

方法返回值功能

byteValue()byte以 byte 类型返回该 Integer 的值

shortValue()short以 short 类型返回该 Integer 的值

intValue()int以 int 类型返回该 Integer 的值

toString()String返回一个表示该 Intege r值的 String 对象

equals(Object obj)boolean比较此对象与指定对象是否相等

compareTo(Integer

anotherlnteger)int在数字上比较两个 Integer 对象,如相等,则返回 0;

如调用对象的数值小于 anotherlnteger 的数值,则返回负值;

如调用对象的数值大于 anotherlnteger 的数值,则返回正值

valueOf(String s)Integer返回保存指定的 String 值的 Integer 对象

parseInt(String s)int将数字字符串转换为 int 数值

在实际的编程过程中,经常将字符串转换为 int 类型的数值,或者将 int 类型的数值转换为对应的字符串。以下代码演示如何实现这两种功能:

String str="456";

intnum=Integer.parseInt(str);//将字符串转换为int类型的数值

inti=789;

String s=Integer.toString(i);//将int类型的数值转换为字符串

注意:在实现将字符串转换为 int 类型数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。

Integer 类的常量

Integer 类包含以下 4 个常量。

MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。

MIN_VALUE:值为 -231的常量,它表示 int 类型能够表示的最小值。

SIZE:用来以二进制补码形式表示 int 值的比特位数。

TYPE:表示基本类型 int 的 Class 实例。

下面的代码演示了 Integer 类中常量的使用。

intmax_value=Integer.MAX_VALUE;//获取 int 类型可取的最大值

intmin_value=Integer.MIN_VALUE;// 获取 int 类型可取的最小值

intsize=Integer.SIZE;// 获取 int 类型的二进制位

Class c=Integer.TYPE;// 获取基本类型 int 的 Class 实例

3.Java Float类

Float 类在对象中包装了一个基本类型 float 的值。Float 类对象包含一个 float 类型的字段。此外,该类提供了多个方法,能在 float 类型与 String 类型之间互相转换,同时还提供了处理 float 类型时比较常用的常量和方法。

Float 类的构造方法

Float 类中的构造方法有以下 3 个。

Float(double value):构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。

Float(float value):构造一个新分配的 Float 对象,它表示基本的 float 参数。

Float(String s):构造一个新分配的 Float 对象,它表示 String 参数所指示的 float 值。

例如,以下代码分别使用以上 3 个构造方法获取 Float 对象:

Float float1=newFloat(3.14145);//以 double 类型的变量作为参数创建 Float 对象

Float float2=newFloat(6.5);//以 float 类型的变量作为参数创建 Float 对象

Float float3=newFloat("3.1415");//以 String 类型的变量作为参数创建 Float 对象

在 Float 类内部包含了一些和 float 操作有关的方法,见表 1。

表1 Float类中的常用方法

方法返回值功能

byteValue()byte以 byte 类型返回该 Float 的值

doubleValue()double以 double 类型返回该 Float 的值

floatValue()float以 float 类型返回该 Float 的值

intValue()int以 int 类型返回该 Float 的值(强制转换为 int 类型)

longValue()long以 long 类型返回该 Float 的值(强制转换为 long 类型)

shortValue()short以 short 类型返回该 Float 的值(强制转换为 short 类型)

isNaN()boolean如果此 Float 值是一个非数字值,则返回 true,否则返回 false

isNaN(float v)boolean如果指定的参数是一个非数字值,则返回 true,否则返回 false

toString()String返回一个表示该 Float 值的 String 对象

valueOf(String s)Float返回保存指定的 String 值的 Float 对象

parseFloat(String s)float将数字字符串转换为 float 数值

例如,将字符串 456.7 转换为 float 类型的数值,或者将 float 类型的数值 123.4 转换为对应的字符串,以下代码演示如何实现这两种功能:

String str="456.7";

floatnum=Float.parseFloat(str);//将字符串转换为 float 类型的数值

floatf=123.4f;

String s=Float.toString(f);//将 float 类型的数值转换为字符串

注意:在实现将字符串转换为 float 类型数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。

Float 类的常用常量

在 Float 类中包含了很多常量,其中较为常用的常量如下。

MAX_VALUE:值为 1.4E38 的常量,它表示 float 类型能够表示的最大值。

MIN_VALUE:值为 3.4E-45 的常量,它表示 float 类型能够表示的最小值。

MAX_EXPONENT:有限 float 变量可能具有的最大指数。

MIN_EXPONENT:标准化 float 变量可能具有的最小指数。

MIN_NORMAL:保存 float 类型数值的最小标准值的常量,即 2-126。

NaN:保存 float 类型的非数字值的常量。

SIZE:用来以二进制补码形式表示 float 值的比特位数。

TYPE:表示基本类型 float 的 Class 实例。

下面的代码演示了 Float 类中常量的使用。

floatmax_value=Float.MAX_VALUE;//获取 float 类型可取的最大值

floatmin_value=Float.MIN_VALUE;//获取 float 类型可取的最小值

floatmin_normal=Float.MIN_NORMAL;//获取 float 类型可取的最小标准值

floatsize=Float.SIZE;//获取 float 类型的二进制位

4.Java Double类

Double 类在对象中包装了一个基本类型 double 的值。Double 类对象包含一个 double 类型的字段。此外,该类还提供了多个方法,可以将 double 类型与 String 类型相互转换,同时 还提供了处理 double 类型时比较常用的常量和方法。

Double 类的构造方法

Double 类中的构造方法有如下两个。

Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。

Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。

例如,以下代码分别使用以上两个构造方法获取 Double 对象:

Double double1=newDouble(5.456);//以 double 类型的变量作为参数创建 Double 对象

Double double2=newDouble("5.456");//以 String 类型的变量作为参数创建 Double 对象

Double 类的常用方法

在 Double 类内部包含一些和 double 操作有关的方法,见表 1。

表1 Double类中的常用方法

方法返回值功能

byteValue()byte以 byte 类型返回该 Double 的值

doubleValue()double以 double 类型返回该 Double 的值

fioatValue()float以 float 类型返回该 Double 的值

intValue()int以 int 类型返回该 Double 的值(强制转换为 int 类型)

longValue()long以 long 类型返回该 Double 的值(强制转换为 long 类型)

shortValue()short以 short 类型返回该 Double 的值(强制转换为 short 类型)

isNaN()boolean如果此 Double 值是一个非数字值,则返回 true,否则返回 false

isNaN(double v)boolean如果指定的参数是一个非数字值,则返回 true,否则返回 false

toString()String返回一个表示该 Double 值的 String 对象

valueOf(String s)Double返回保存指定的 String 值的 Double 对象

parseDouble(String s)double将数字字符串转换为 Double 数值

例如,将字符串 56.7809 转换为 double 类型的数值,或者将 double 类型的数值 56.7809 转换为对应的字符串,以下代码演示如何实现这两种功能:

String str="56.7809";

doublenum=Double.parseDouble(str);//将字符串转换为 double 类型的数值

doubled=56.7809;

String s=Double.toString(d);//将double类型的数值转换为字符串

在将字符串转换为 double 类型的数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。

Double 类的常用常量

在 Double 类中包含了很多常量,其中较为常用的常量如下。

MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。

MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。

NaN:保存 double 类型的非数字值的常量。

NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。

POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。

SIZE:用秦以二进制补码形式表示 double 值的比特位数。

TYPE:表示基本类型 double 的 Class 实例。

上一篇下一篇

猜你喜欢

热点阅读