java基础(一)九种基本数据类型的大小,以及他们的封装类

来源:互联网 发布:大数据可视化分析 编辑:程序博客网 时间:2024/06/01 12:05

     首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char。

       它们的封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。

因为对基本数据类型封装之后,封装类有可以有方法和属性,然后就可以利用这些方法和属性来处理数据。


基本数据类型与其对应的封装类由于本质的不同,具有一些区别:

    • 基本数据类型只能按值传递,而封装类按引用传递。
    • 基本类型在堆栈中创建;而对于对象类型,对象在堆中创建,对象的引用在堆栈中创建。基本类型由于在堆栈中,效率会比较高,但是可能会存在内存泄漏的问题。

int一般32位系统就是32位,64位系统就是64位

short = int/2

long = int

float = int

double = float*2

byte为8位

boolean为8位

char为8位


字符类型包装器:

Character是char的包装器,它的构造方法如下:

Character(char ch);其中ch是将封装在Character对象中的字符。为了获取包含在Character对象中包装的字符,可以调用charValue()方法:char  charValue();和String 一样,封装在Character对象里的字符是一个常量,无法对它做出修改。

Character c=new Character('a');

如果想将其中的字符改成b的话,唯一的办法就是丢弃原来的对象,然后重新创建对象:

Character c=new Character('b');

Character类还提供了许多方法:

static boolean isDigit(char ch);  

isDigit方法检测指定字符是否为数字。如果字符为数字,则返回true;否则返回false。

static boolean isLetter(char ch); 

isLetter方法用于判断参数字符是否为字母。如果字符为字母,则返回true;否则返回false。

static boolean isLowerCase(char ch); 

isLowerCase方法用于判断字符是否为小写字母。如果字符为小写字母,则返回true;否则返回false。

static boolean isUpperCase(char ch);

isUpperCase方法用于判断字符是否为大写字母。如果字符为大写字母,则返回true;否则返回false。



布尔类型包装器:  

Boolean 是封装布尔值的包装器。它定义了下面的的构造方法:

Boolean (boolean boolValue);//boolValue 的值必须是true或false;

Boolean (String boolString);//boolString 的值为“true”,那么创建的布尔对象为true,否则为false;

为了获得Booolean 对象中的布尔值,可以使用booleanValue()方法;

boolean占多少字节呢?

虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。

 

数字类型包装器:

所有数字类型的包装器都是从抽象类Number 继承下来的。Number 声明了多种以不同的数字格式返回一个对象值的方法:

byte byteValue( );

int intValue();

...

所有的数字类型包装器都提供了一个静态的方法,可以将字符串 转换为自己所封装的数据类型;例如:

static int parseInt(String s  );

可以把String类型转化为int类型


      


1 0
原创粉丝点击