【JAVA基础】数据类型

来源:互联网 发布:精准数据库营销 编辑:程序博客网 时间:2024/06/06 16:30

   数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解。

   Java是强类型语言,所以Java对于数据类型的规范会相对严格,比如对整数类就划分了byteshort,int,long四种类型。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用类型。


一、区别

数据类型\对比

内存中的位置

内容

基本

数字、字符、布尔值

四类八种

引用

引用在栈,对象在堆

指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。

3

     

                

二、基本类型:

byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0

 

short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0

 

int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0

 

long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L

 

float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0

 

double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0

 

char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空

 

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false

 

三、引用类型

  1、类Class引用

    可以是我们创建的,比如:Object类,String类,Date类,void类。

    1.1Object

    Object是一个很重要的类,Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。用Object可以定义所有的类

    如:

    Object object= new Integer(1); 来定义一个Interger类

    Integer i=(Integer) object;     在来把这个Object强制转换成Interger类

    1.2String

    String类代表字符串,Java程序中的所有字符串字面值(如"abc")都作为此类的实例来实现。检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转换为大写或小写形式。

    1.3Date

    Date表示特定的瞬间,精确到毫秒。Date的类一般现在都被CalendarGregorianCalendar所有代替

    1.4Void

    Void类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void Class对象的引用。同时也有对应的Class如:Integer Long  Boolean  Byte Character  Double  Float  Short

 

  2、接口interface引用

   可以是我们创建的,比如:

   2.1List<E>:列表

   此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从 性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。

 List 接口提供了两种在列表的任意位置高效插入和移除多个元素的方法。

    add() :在列表的插入指定元素。

    emove():移除列表中指定位置的元素。

    get(int index):返回列表中指定位置的元素。

   2.2Map<K,V>

    K -此映射所维护的键的类型

    V -映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

    put(K key,V value):将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的 

 映射关系,则用指定值替换旧值(当且仅当,返回 true时,才能说映射 m 包含键 k的映射关系)。     

    remove(Object key)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。更确切地讲,如果此映射包含从满足(key==null? k==null :key.equals(k))的键 k到值 v 的映射关系,则移除该映射关系。(该映                       射最多只能包含一个这样的映射关系。)

    get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null

 

  3、数据引用:

  常用的有NumberArrayList<E>Arrays

   http://www.cnblogs.com/hmiinyu/archive/2012/10/22/2732781.html

 

  可以查考jdkapi。(这些类和接口在java.lang:提供利用 Java 编程语言进行程序设计的基础类。 java.unit:包含 collection框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。)

   

总结:

  基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的


参考文章:

http://www.cnblogs.com/ChrisMurphy/p/4825906.html

http://www.cnblogs.com/dubo-/p/5565677.html

http://blog.csdn.net/ta1bin1/article/details/53666163

http://www.360doc.com/content/13/0818/13/8074294_308018875.shtml




原创粉丝点击