首页 > 编程知识 正文

java八种包装类型(java八种基本数据类型包装类)

时间:2023-12-10 13:48:25 阅读:314124 作者:TCES

本文目录一览:

什么是java中的包装类

包装类就是基本数据类型的那8种:

Java中的包装器类有两个主要的目的:

1、提供一种机制,将基本值“包装”到对象中,从而使基本值能够包含在为对象而保留的操作中,比如添加到Collections 中,或者从带对象返回值的方法中返回。注意,java5增加了自动装箱和拆箱,程序员过去需手工执行的许多包装操作,现在可以由java自动处理了。

2、为基本值提供分类功能。这些功能大多数于各种转换有关:在基本值和String对象间相互转换,在基本值和String对象之间按不同基数转换,如二进制、八进制和十六进制。

北大青鸟设计培训:关于java包装的定义?

Java有八种基本类型,每种基本类型都有一个对应的包装类。

包装类是什么呢?它是一个类,内部有一个实例变量,保存对应的基本类型的值,java课程培训机构发现这个类一般还有一些静态方法、静态变量和实例方法,以方便对数据进行操作。

Java中,基本类型和对应的包装类如下表所示:基本类型包装类booleanBooleanbyteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacter包装类也都很好记,除了Integer和Character外,其他类名称与基本类型基本一样,只是首字母大写。

包装类有什么用呢?Java中很多代码(比如后续文章介绍的集合类)只能操作对象,为了能操作基本类型,需要使用其对应的包装类,另外,包装类提供了很多有用的方法,可以方便对数据的操作。

包装类的基本使用是比较简单的,但我们不仅会介绍其基本用法,还会介绍一些平时用的相对较少的功能,同时剖析其实现代码,内容比较多,我们会分三节来介绍,本节主要介绍各个包装类的基本用法及其共同点,后两节我们会进一步介绍高级功能,并剖析实现代码。

java的包装类是什么,作用是什么,如何使用

一、 整型、实型、字符型变量中的相互转换在Java中整型,实型,字符型被视为同一类数据,但是级别有所不同,转换时要注意低级变量能够直接转换为高级变量,例如,下面的语句能够在Java中直接通过:byte b;int i=b;而将高级变量转换为低级变量时,情况会复杂一些,您能够使用强制类型转换.即您必须采用下面这种语句格式:int i;byte b=(byte)i;能够想象,这种转换肯定可能会导致溢出或精度的下降,因此我们并不推荐使用这种转换.二、Java的包装类在我们讨论其他变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是能够直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就能够看出他们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。三、简单类型变量和包装类之间的相互转换简单类型的变量转换为相应的包装类,能够利用包装类的构造函数.即:Boolean(boolean value),Character(char value),Integer(int value),Long(long value),Float(float value),Double(double value)而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据.利用这种方法,也能够实现不同数值型变量间的转换.四、String类和其他数据类型的相互转换由于可以通过包装类中的构造函数可以转换:Boolean(String s),Integer(String s),Long(String s),Float(String s),Double(String s)而将String类转换为Date类也能够使用这样的构造函数:Date(String s)字符型变量,事实上String类能够理解为一个char型数组,所以charAt(int index)能够得到String类中某一位置上的字符,toCharArray()更能够将整个String类转换成一个char的数组.对于任何的包装类都存在一个名为toString()的方法能够将其转换成对应的String类,而对于整型类和长整型类,还能够使用toBinaryString(int i),toHexString(int i),toOctalString(int i)分别以二进制,十六进制和八进制的形式进行到String类的转换。五、将字符型直接做为数值转换为其他数据类型

java包装类

在Java中我们经常会见到一些基本的数据类型,比如整数类型(int),小数类型(double,float)等,但是Java是一门面向对象的语言,很多的类型都是以对象的形式展现,像这些数据类型也可以有自己的对象;每个类型的对应包装类型为:int- Integer double-Double float-Float char-Character short-Short boolean-Boolean byte-Byte;

我们用包装类将这些类型封装好之后,就可以使用对象的一些属性和方法,可以方便的操作这些对象;

在这些包装类中,我们可以将这些包装类对象和基本数据类型进行转换,也叫做装箱操作和拆箱操作:装箱操作就是将基本数据类型转换为包装类型,例如将基本数据类型int转换成包装类Integer,装箱操作有两种方式,手动装箱与自动装箱,自动装箱就是直接将基本数据类型赋值给包装类型对象即可;手动装箱就是创建一个包装类对象,然后将值赋值给该对象;

int value1 = 10;

Integer value2 = value1; // 自动装箱

Integer value3 = new Integer( value1 ); // 手动装箱

有了装箱操作也就有拆箱操作,拆箱操作的意思就是将包装类型转换为基本数据类型;拆箱操作也有两种方式:手动拆箱与自动拆箱;

int value4 = value2; // 自动拆箱,直接将包装类对象赋值给基本数据类型变量

Int value5 = value2.intValue(); // 手动拆箱,调用包装类的intValue()方法,获取变量值;

包装类也是一个普通的类,当然也有类的基本属性,方法;数值类型的包装类继承的父类是Number类,这个类里面有一些基本的方法,比如获取intValue的值,longValue的值等等;

包装类继承Number之后,也会有一些自己的属性方法,比如Integer类有自己的一些属性,可以将整数转换为字符串,也可以将字符串转换成整数等操作;

Integer常用方法

比较两个数的大小,如果第一个数小于第二个数返回-1;如果两个数相等返回0;如果第一个数大于第二个数返回1;

public static int compare(int x, int y)

将数值字符串转换为数字,如果传入的参数中包含非数字的字符,则会报出异常

public static int parseInt(String s)

将整数类型转换为字符串类型

public String toString()

valueOf返回Integer类型的数据,根据参数返回不同的结果

public static Integer valueOf(String s, int radix)

public static Integer valueOf(String s)

public static Integer valueOf(int i)

除了Integer之外,其他的包装类例如Long, Double也都有类似的功能

包装类型除了基本数值类型的包装类之外,还有boolean, char的包装类,这两个类都是普通的封装,并没有继承Number类;

使用包装类的使用,进行两个对象的判断,需要使用equals方法进行判断,不可以使用==,当Integer值的范围在-128到127(包含)之间的时候,使用==返回true,但是不在这个返回的时候,返回false;

用JAVA编写一个程序,要求打印基本8中数据类型和其包装类型,并且加上包装类型和基本类型的互相转换

public class Test {

public static void main(String[] args) {

/*8种基本数据类型*/

byte a = 'b';

char b = 'b';

short c = 32767;

int d = 2147483647;

long e = 9223372036854775807L;

float f = 3;

double g = 0.3;

boolean h = true;

/*基本类型转换为包装类型*/

Byte z = a;

Character y = b;

Short x = c;

Integer w = d;

Long v = e;

Float u = f;

Double t = g;

Boolean s = h;

/*包装类型转换为基本类型*/

byte i = z;

char j = y;

short k = x;

int l = w;

long m = v;

float n = u;

double o = t;

boolean p = s;

System.out.println(i);//98

System.out.println(j);//b

System.out.println(k);//32767

System.out.println(l);//2147483647

System.out.println(m);//9223372036854775807

System.out.println(n);//3.0

System.out.println(o);//0.3

System.out.println(p);//true

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。