Java入门教程六(内置包装类)

时间:2022-06-18 11:34:37

Java 是一种面向对象的编程语言,Java 中的类把方法与数据类型连接在一起,构成了自包含式的处理单元。但在 Java 中不能定义基本类型对象,为了能将基本类型视为对象处理,并能连接相关方法,Java 为每个基本类型都提供了包装类,如 int 型数值的包装类 Integer,boolean 型数值的包装类 Boolean 等。这样便可以把这些基本类型转换为对象来处理了。

Object类

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

public class MyClass{…}
//与下面的写法是相等的,因为所有类默认继承了Object类
public class MyClass extends Object {…}

Java 中的所有类都是由 Object 类派生出来的,因此在 Object 类中定义的方法,在其他类中都可以使用,equals() 方法和 getClass() 方法在 Java 程序中比较常用

Object clone()	//创建与该对象的类相同的新对象
boolean equals(Object) //比较两对象是否相等
void finalize() //当垃圾回收器确定不存在对该对象的更多引用时,对象的圾回收器调用该方法
Class getClass() //返回一个对象运行时的实例类
int hashCode() //返回该对象的散列码值
void notify() //激活等待在该对象的监视器上的一个线程
void notifyAll() //激活等待在该对象的监视器上的全部线程
String toString() //返回该对象的字符串表示
void wait() //在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待

Integer类

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

Integer 类的构造方法

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

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

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

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

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 数值

Integer 类的常量

Integer 类包含以下 4 个常量。

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

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

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

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

int max_value=Integer.MAX_VALUE;    //获取 int 类型可取的最大值
int min_value=Integer.MIN_VALUE; // 获取 int 类型可取的最小值
int size=Integer.SIZE; // 获取 int 类型的二进制位
Class c=Integer.TYPE; // 获取基本类型 int 的 Class 实例

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 值。

Float float1=new Float(3.14145);    //以 double 类型的变量作为参数创建 Float 对象
Float float2=new Float(6.5); //以 float 类型的变量作为参数创建 Float 对象
Float float3=new Float("3.1415"); //以 String 类型的变量作为参数创建 Float 对象

Float 类内部包含了一些和 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 数值

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 max_value=Float.MAX_VALUE;    //获取 float 类型可取的最大值
float min_value=Float.MIN_VALUE; //获取 float 类型可取的最小值
float min_normal=Float.MIN_NORMAL; //获取 float 类型可取的最小标准值
float size=Float.SIZE; //获取 float 类型的二进制位

Double类

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

Double 类的构造方法

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

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

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

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

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 数值
String str="56.7809";
double num=Double.parseDouble(str); //将字符串转换为 double 类型的数值
double d=56.7809;
String s=Double.toString(d); //将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 实例。

Number类

Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类

Number 类定义了一些抽象方法,以各种不同数字格式返回对象的值。如 xxxValue() 方法,它将 Number 对象转换为 xxx 数据类型的值并返回,其中 doubleValue() 方法返回 double 类型的值,floatValue() 方法返回 float 类型的值,抽象类不能直接实例化,而是必须实例化其具体的子类

Number num=new Double(12.5);
System.out.println("返回 double 类型的值:"+num.doubleValue());
System.out.println("返回 int 类型的值:"+num.intValue());
System.out.println("返回 float 类型的值:"+num.floatValue());

Boolean类

Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类的对象只包含一个类型为 boolean 的字段。此外,此类还为 boolean 和 String 的相互转换提供了很多方法,并提供了处理 boolean 时非常有用的其他一些常用方法

Boolean 类的构造方法

Boolean(boolean boolValue);
Boolean(String boolString);

Boolean 类的常用方法

booleanValue()	boolean	将 Boolean 对象的值以对应的 boolean 值返回
equals(Object obj) boolean 判断调用该方法的对象与 obj 是否相等。当且仅当参数不是 null,且与调用该
方法的对象一样都表示同一个 boolean 值的 Boolean 对象时,才返回 true
parseBoolean(String s) boolean 将字符串参数解析为 boolean 值
toString() string 返回表示该 boolean 值的 String 对象
valueOf(String s) boolean 返回一个用指定的字符串表示的 boolean 值

Boolean 类的常用常量

TRUE:对应基值 true 的 Boolean 对象。
FALSE:对应基值 false 的 Boolean 对象。
TYPE:表示基本类型 boolean 的 Class 对象。

Byte类

Byte 类将基本类型为 byte 的值包装在一个对象中。一个 Byte 类的对象只包含一个类型为 byte 的字段。此外,该类还为 byte 和 String 的相互转换提供了方法,并提供了一些处理 byte 时非常有用的常量和方法

Byte 类的构造方法

Byte 类提供了两个构造方法来创建 Byte 对象

//通过这种方法创建的 Byte 对象,可以表示指定的 byte 值
Byte(byte value)
//通过这个方法创建的 Byte 对象,可表示 String 参数所指定的 byte 值
Byte(String s)

Byte 类的常用方法

byteValue()	byte	以一个 byte 值返回 Byte 对象
compareTo(Byte bytel) int 在数字上比较两个 Byte 对象
doubleValue() double 以一个 double 值返回此 Byte 的值
intValue() int 以一个 int 值返回此 Byte 的值
parseByte(String s) byte 将 String 型参数解析成等价的 byte 形式
toStringO String 返回表示此 byte 值的 String 对象
valueOf(String s) Byte 返回一个保持指定 String 所给出的值的 Byte 对象
equals(Object obj) boolean 将此对象与指定对象比较,如果调用该方法的对象与 obj 相等 则返回 true,否则返回 false

Byte 类的常用常量

MIN_VALUE:byte 类可取的最小值。
MAX_VALUE:byte 类可取的最大值。
SIZE:用于以二进制补码形式表示的 byte 值的位数。
TYPE:表示基本类 byte 的 Class 实例。

System类

System 类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于 java. lang 包。由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。

System 类内部的成员变量和成员方法都是 static 的,所以可以方便地进行调用

System 类的成员变量

System 类有 3 个静态成员变量,分别是 PrintStream out、InputStream in 和 PrintStream err

PrintStream out

标准输出流。此流已打开并准备接收输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标

System.out.println(data);//println 方法是属于流类 PrintStream 的方法,而不是 System 中的方法

InputStream in

标准输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源

PrintStream err

标准的错误输出流。其语法与 System.out 类似,不需要提供参数就可输出错误信息。也可以用来输出用户指定的其他信息,包括变量的值

System 类的成员方法

System 类中提供了一些系统级的操作方法,常用的方法有 arraycopy()、currentTimeMillis()、exit()、gc() 和 getProperty()

arraycopy()

该方法的作用是数组复制,即从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束

public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

src 表示源数组,srcPos 表示从源数组中复制的起始位置,dest 表示目标数组,destPos 表示要复制到的目标数组的起始位置,length 表示复制的个数

char[] srcArray={'A','B','C','D'};
char[] destArray={'E','F','G','H'};
System.arraycopy(srcArray,1,destArray,1,2);//复制后,destArray为 EBCH

currentTimeMillis()

该方法的作用是返回当前的计算机时间,时间的格式为当前计算机时间与 GMT 时间(格林尼治时间)1970 年 1 月 1 日 0 时 0 分 0 秒所差的毫秒数

long m=System.currentTimeMillis();

exit()

该方法的作用是终止当前正在运行的 Java 虚拟机

public static void exit(int status)

status 的值为 0 时表示正常退出,非零时表示异常退出

gc()

该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,取决于系统中垃圾回收算法的实现以及系统执行时的情况

public static void gc()

getProperty()

该方法的作用是获得系统中属性名为 key 的属性对应的值

public static String getProperty(String key)
java. version	Java 运行时琢境版本
java.home Java 安装目录
os.name 操作系统的名称
os.version 操作系统的版本
user.name 用户的账户名称
user.home 用户的主目录
user, dir 用户的当前工作目录
String jversion=System.getProperty("java.version");//输出java当前版本

Java入门教程六(内置包装类)的更多相关文章

  1. 《zw版·Halcon入门教程与内置demo》

    <zw版·Halcon入门教程与内置demo> halcon系统的中文教程很不好找,而且大部分是v10以前的版本. 例如,QQ群: 247994767(Delphi与halcon), 共享 ...

  2. mySQL学习入门教程——4&period;内置函数

    四.内置函数: 包括了字符串函数.数值函数.日期函数.流程控制函数.其他函数(获取数据库信息)... 一.字符串函数[比较常用,需要掌握]1. concat(s1,s2,...,sn)   #把传入的 ...

  3. Java内置包装类

    Java内置包装类有Object.Integer.Float.Double.Number.Charcter.Boolean.Byte.System. Number,是抽象类,也是超类(父类).Numb ...

  4. Elasticsearch入门教程&lpar;六&rpar;:Elasticsearch查询&lpar;二&rpar;

    原文:Elasticsearch入门教程(六):Elasticsearch查询(二) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  5. 无废话ExtJs 入门教程六&lbrack;按钮:Button&rsqb;

    无废话ExtJs 入门教程六[按钮:Button] extjs技术交流,欢迎加群(201926085) 继上一节内容,我们在表单里加了个两个按钮“提交”与重置.如下所示代码区的第68行位置, butt ...

  6. Java入门教程总目录

    Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务

  7. (一)Java 入门教程

    Java 入门教程 Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言. Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统 ...

  8. PySide——Python图形化界面入门教程&lpar;六&rpar;

    PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tu ...

  9. form-create教程&colon;给内置组件和自定义组件添加事件

    本文将介绍form-create如何给内置组件和自定义组件添加事件 form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成器.并且支持生成任何 Vue ...

随机推荐

  1. PASCAL相关图书推荐

    PASCAL程序设计(第2版) 作      者 郑启华 著 出 版 社 清华大学出版社 出版时间 2013-01-01 版      次 2 页      数 286 印刷时间 2013-01-01 ...

  2. OC基础8:分类和协议

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于分类(category): (1) ...

  3. js数值转换

    先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...

  4. jsoup从表单中取数据

    表单的格式如下 <td>user</td> <td>cc</td> </tr> <tr> <td>pass</ ...

  5. 为何invalidate&lpar;&rpar;不可以直接在UI线程中调用&amp&semi;invalidate与postInvalidate

    1.android ui操作为什么一定要在主线程中执行? 答:Android UI操作是单线程模型,关于UI更新的相关API(包括invalidate())都是按照单线程设计的,对于多线程运行时不安全 ...

  6. TCP&sol;IP协议三次握手与四次握手

    TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式  TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式  上图中有几个 ...

  7. Centos7&period;3 之mysql5&period;7二进制安装

    #!/bin/bash #注意,该脚本是在centos7.3非生产环境下测试的,其他版本的系统可能不适用,要根据情况修改.需要先下载好mysql二进制包到本地(我一般都是在root家目录下操作,文件也 ...

  8. 微服务之Sping Cloud

    版本说明 Finchley SR2 价值简要 微服务之间是松耦合,跨不同业务部门,提供非常充分的灵活性,加快项目开发完成效率,方便组件化独立可扩展性及复用. 微服务应用结构表现 组件简要 1. Eur ...

  9. 全文检索&lpar;SOLR&rpar;前端应用浅析 &lpar;转&rpar;

    最近在一个关于知识管理系统中检索的一个功能方案,找到了一个很好的参考应用方案嘎要的分析一下,希望有类似应用的可以交流交流. 提起全文检索,Lucene的大名估计地球人都知道,通过这么多年的发展,外围的 ...

  10. spring websocket 和socketjs实现单聊群聊&comma;广播的消息推送详解

    spring websocket 和socketjs实现单聊群聊,广播的消息推送详解 WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随 ...