【JAVA基础】数据类型

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

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


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



一、区别


数据类型\对比

内存中的位置

内容

基本

数字、字符、布尔值

四类八种

引用

引用在栈,对象在堆

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

3

   

20170917113646967.png


二、基本类型:


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.2 String :


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


   1.3Date :


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


   1.4 Void :


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


 


 2、接口interface引用

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

  2.1 List<E>:列表



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


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


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


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


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


  2.2 Map<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、数据引用:

 常用的有Number ArrayList<E>Arrays

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

可以查考jdk的api。(这些类和接口在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

————————————————

版权声明:本文为CSDN博主「小王师傅66」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/WKX18330698534/article/details/78009206

相关文章
|
9天前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
9天前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
|
9天前
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
42 15
|
10天前
|
Java
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
45 17
|
10天前
|
Java
课时11:Java数据类型划分(浮点类型)
课时11介绍了Java中的浮点数据类型。主要内容包括:1. 定义小数,默认使用Double类型;2. 定义Float变量,需在数值后加&quot;F&quot;或&quot;f&quot;进行强制转换;3. 观察不同类型计算结果,如Int型除法会丢失精度,需至少包含一个Double或Float类型以确保准确性。总结指出,在复杂计算中推荐使用Double类型以避免精度损失。
|
10天前
|
Java
课时10:Java数据类型划分(整型类型)
本文主要围绕Java中整型数据展开,详细讲解整型变量、常量的概念,整型数据运算规则,包括数据溢出问题及解决方法,数据类型转换(自动转换与强制转换)的原理和注意事项,同时介绍了整型数据默认值的相关知识,以及byte数据类型与int数据类型的关系和使用场景,帮助读者全面掌握Java整型数据的相关内容。
|
10天前
|
Java C语言 C++
课时9:Java数据类型划分(数据类型划分)
课时9介绍了Java的数据类型划分及其操作。Java数据类型分为基本数据类型和引用数据类型。基本数据类型包括八种:数值型(整形、浮点型)、字符型和布尔型;引用数据类型有数组、类和接口。重点讲解了每种数据类型的默认值、适用场景及选择原则,如整数用int,小数用double,日期时间用Long等。掌握这些内容对编程至关重要。
课时9:Java数据类型划分(数据类型划分)
|
10天前
|
存储 Java C语言
课时11:Java数据类型简介
本文介绍了Java中的数据类型划分,主要分为基本数据类型和引用数据类型。基本数据类型包括数值型(整型、浮点型)、布尔型和字符型,每种类型有固定的默认值和存储范围。引用数据类型涉及内存使用,如数组、类和接口,默认值为Null。文中还提供了不同类型的选择原则,帮助开发者在实际编程中合理选用数据类型。
|
2月前
|
存储 Java 测试技术
Java基础(三):八种基本数据类型
Java基础(三):八种基本数据类型
170 12
Java基础(三):八种基本数据类型
|
3月前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型