Java数据类型重新学习
来源:互联网 发布:思纬网络 编辑:程序博客网 时间:2024/06/06 17:59
Java的数据类型结构如下
基本数据类型和引用数据类型的区别在于,基本数据类型是值传递,而引用数据类型是引用传递。区别如下
int a = 5; 基本数据会直接在堆存下a=5;
int a [] = new int [4]; 会在堆中只存一个a,指向堆栈存放数据
其中,基本数据类型的包装类如下
Boolean, Byte, Character, Short, Integer, Long, Float, Double, Void
在java中使用基本类型来存储语言支持的基本数据类型,这里没有采用对象,而是使用了传统的面向过程语言所采用的基本类在型,主要是从性能方面来考虑的:因为即使最简单的数学计算,使用对象来处理也会引起一些开销,而这些开销对于数学计算本来是毫无必要的。但是在java中,泛型类包括预定义的集合,使用的参数都是对象类型,无法直接使用这些基本数据类型,所以java又提供了这些基本类型的包装器。
基本数据类型与其对应的封装类的区别:
基本数据类型只能按值传递,而封装类按引用传递。
基本类型在堆栈中创建;而对于对象类型,对象在堆中创建,对象的引用在堆栈中创建。基本类型由于在堆栈中,效率会比较高,但是可能会存在内存泄漏的问题。
字符类型包装器:
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); static boolean isLetter(char ch); static boolean isLowerCase(char ch);
static boolean isUpperCase(char ch); 等
布尔类型包装器: 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 );
- Java数据类型重新学习
- JAVA重新学习第三篇-数据类型
- 重新学习C# 之 数据类型(一)
- 重新学习C# 之 数据类型(二)
- 重新开始学习Java
- 重新学习java
- 开始重新学习JAVA
- 重新拾起java学习
- 重新学习JAVA
- java重新学习
- java重新学习
- 重新学习JAVA
- Java重新学习01
- Java的重新学习
- 重新开始学习JAVA基础
- 【Java重新学习】多线程-2
- 重新学习java的起点
- 重新学习JAVA的笔记
- python简单验证码识别
- 学习loadrunner过程中遇到的问题
- gpio的工作方式
- Dev 等待提示 WaitDialogForm
- Linux常用命令(1)(欢迎指正,持续更新)
- Java数据类型重新学习
- C语言指针和二维数组
- centos安装和准备工作
- 哈哈哈哈哈哈
- 大数乘法
- java中数据类型转换总结
- hadoop2.x配置
- QT 属性系统
- 浅析 JIT 即时编译技术