本文主要介绍了java中引用数据的类型,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

目录

Java中的引用数据类型有哪些?先说Java中的引用数据类型:1。类别引用2。接口参考3。数组引用数组的定义。初始化数组有两种方法:Java中为什么有基本数据类型和引用数据类型?

java中引用数据类型有哪些

Java中有两种数据类型,其中主要有8种基本数据类型和引用数据类型。除了8种基本数据类型外,都是参考数据类型。8基本数据类型有字节型、短整型、整型、长型、字符型、布尔型、浮点型和双精度型,如下所示:

1.布尔型:数据值只有真或假,适合逻辑计算。

2.CHAR: Char类型(字符类型)数据占用内存2个字节。Char型数据用来表示一般意义上的字符,每个字符占用2个字节。Java字符以Unicode编码,其前128个字节的编码范围为\ u0000 ~ \ ufff。在定义字符型数据时,要注意添加'',例如,' 1 '表示字符' 1 '而不是值1。

3.Byte: Byte(字节型)数据在内存中占1个字节,表示存储的数据范围是-128~127。

4.Short: Short(短整型)数据占用内存2个字节。

5.int:int类型(整数)数据占用内存4个字节。

6.Long: Long(长整数)数据占用内存8个字节。

7.float:float类型(单精度浮点类型)数据在内存中占用4个字节。(浮点精度为7-8位)

8.Double: Double(双精度浮点型)数据占用内存8个字节。

下面说说java中引用数据类型:

引用数据有三种类型:类、接口和数组;

一、类Class引用

它可以由我们来创造。这里就不说了,主要讲解java库中的几个类。

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

比如:

Object object=新整数(1);定义一个整数类。

Integer i=(Integer)对象;将该对象强制转换为Interger类。

String:String类表示一个字符串,Java程序中所有的字符串文字(比如' abc ')都实现为这个类的实例。检查序列中的单个字符,比较字符串,搜索字符串,提取子字符串,创建一个字符串副本,其中所有字符都转换为大写或小写。

Date:Date表示特定的时刻,精确到毫秒。通常,日期类现在由日历和公历代替。

Void:void类是一个不可实例化的占位符类,它保存对表示Java关键字void的类对象的引用。

还有相应的类如:整数长布尔字节字符双浮点短。

二、接口interface引用

可以由我们自己创建,这里就不说了,主要讲解几个java库中的接口。

ListE:列表。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以根据整数索引(在列表中的位置)访问元素,并在列表中搜索元素。列表界面提供了两种搜索指定对象的方式。从性能的角度来看,应该谨慎使用这些方法。在许多实现中,它们将执行昂贵的线性搜索。List接口提供了两种方法来有效地在列表中的任意位置插入和移除多个元素。

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

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

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

MapK,V:

k-由该映射维护的键的类型

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

Put(K key,V value):将指定值与此map中的指定键相关联(可选操作)。如果这个映射之前包含了这个键的映射关系,那么旧的值将被指定的值替换(当且仅当,返回true,可以说映射M包含了键K的映射关系)。Remove(对象键)如果存在键映射关系,则将其从该映射中移除(可选操作)。更具体地说,如果这个映射包含key==null中的数据?K==null :key.equals(k)),映射关系被删除。(该映射最多只能包含一个这样的映射关系。)get(对象键):返回指定键映射的值;如果这个映射不包含这个键的映射关系,则返回null。

在这里,我们主要使用字符串列表映射对象,以及最常用的数组列表数组等。

三、数组引用

数组:存储在连续内存块中的相同数据类型(引用数据类型)的元素的集合。

数组中的每一段数据称为一个数组元素,数组中的元素被编入索引以指示它们的存储位置。索引(下标)从0开始。

数组的定义

第一种方式:类型[]的数组名;如int[]nums;

第二种方式:键入数组名[];如int nums[];

大多数Java程序员喜欢使用第一种风格,因为它将数据类型int[]与变量名num分开。

数组的初始化

Java中的数组必须先初始化,然后才能使用。

初始化就是给数组元素分配内存,给每个元素赋初始值。

初始化数组的两种方式:

- 静态初始化:

格式:type []数组名=新数组类型[]{元素1,元素2,元素3,元素n };

简化语法:type []数组名称={元素1,元素2,元素3.元素n };

- 动态初始化:

如果我们事先不知道数组中存储的是什么数据,而只知道要存储的数据的数量,这时就可以使用动态初始化。

动态初始化:我们在初始化时指定数组的长度,系统自动给数组元素赋初始值。

格式:type []数组名=新数组类型[数组长度];

注意:无论以哪种方式初始化数组,一旦初始化完成,数组的长度是固定的,除非重新初始化,否则不能更改。也就是说,数组的长度是固定的。

为什么Java里有基本数据类型和引用数据类型?

引用类型在堆中,基本类型在堆栈中。

堆栈空间小且连续,所以经常放在缓存中。类型缓存未命中率很高,需要再次取消引用。

对象必须多存储一个对象头,所以对于基本数据类型来说,空间浪费率太高。

以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

原文地址:http://www.ccttoo.com/html/1132.html

本文来自网络,不代表菜鸟教程之家立场,转载请注明出处。

java中引用数据类型有哪几种相关推荐

  1. java中引用数据类型

    Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,f ...

  2. 认识JAVA中引用数据类型

    1.引用类型认识 1.JAVA中数据类型分为基本数据类型和引用数据类型.这个是引用数据类型在Java体系中的位置.在java的世界里就上述两种数据类型. 详细介绍: class MyClass{pri ...

  3. java中引用数据类型和基本数据类型的一些区别(貌似不完整,但会有些启示)

    Ø        首先先举几个引用数据类型的例子: String                 StringBuffer               类(包括自己定义的一些类和包中有的类)      ...

  4. 3、java中的数据类型和运算符

    数据类型 数据类型是对数据存储在内存中位置的一种抽象表示,java的数据类型总体上分为两大类:基本数据类型和引用数据类型. 1.基本数据类型 基本数据类型是语言本身定义的,数据结构上有说基本数据类型表 ...

  5. Java中基本数据类型和引用数据类型的区别

    Java中基本数据类型和引用数据类型的区别 一.数据类型 1.基本数据类型 2.引用数据类型 二.基本数据类型和引用数据类型的区别 1.储存位置 基本变量类型 引用变量类型 2.参数传递方式 基本变量 ...

  6. Java中基本数据类型和引用数据类型的存放位置

    Java中基本数据类型和引用数据类型的存放位置 1.基本数据类型存放在哪? 基本类型的变量存在栈里或者堆里不是由"大小可知,生存期可知"就能确定了.关键是上下文. 比如: void ...

  7. [转载] Java内存管理-你真的理解Java中的数据类型吗(十)

    参考链接: Java中的字符串类String 1 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 推荐阅读 第一季 0.Java的线程安全.单例模式.JVM内存结构等知识 ...

  8. java中的数据类型有哪些?

     java中的数据类型分为两种:基本数据类型和引用数据类型. 基本数据类型: 1.boolean:布尔型数据,适用于逻辑计算,数据值只有true或false.(注意't' 和 'f' 都是小写) 2. ...

  9. Java中的string定义的两种方法和区别

    java中的String定义的两种方法和区别 第一种:new方式 String s1 = new String("hello world"); String s2 = new St ...

最新文章

  1. 查看Linux 下某个程序的内存情况
  2. malloc的内存分配之 malloc(0)的内存分配情况
  3. 解决交通拥堵、监测核辐射、野外搜救…无人机将有哪些神应用?
  4. 构建ASP.NET网站十大必备工具
  5. Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib
  6. redis和mysql双写一致_缓存与库双写一致,这种“老大难”怎么给它制服?
  7. SSH中常见jar包缺少错误
  8. 斯坦福自然语言组的NLP及计算语言学的资料汇总
  9. Mybatis笔记(狂神)
  10. java for 死循环_关于java编程死循环的应用
  11. JDBC(Java数据库连接) 学习笔记 第四天
  12. c程序设计语言第五单元,人教版七年级语文下册第五单元复习题
  13. android手机recovery,安卓手机recovery是什么意思?
  14. 详解联想bios怎么进入u盘启动
  15. 面向汽车企业的PLM知识管理
  16. 脑芯编 | 窥脑究竟,结网造芯(三)
  17. 如何通过VB合并Excel单元格以及设置Excel行高?VB创建Excel表格,合并单元格,生成图形等操作
  18. 【服务器数据恢复】重装系统导致分区无法访问的数据恢复案例
  19. JAVA架构师面试分享—链家网
  20. Windows下Firefox打开网页出现:此网址已被限制-此网址使用了一个通常用于网络浏览以外目的的端口-firefox取消端口限制方法

热门文章

  1. 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc
  2. 搭建一个自己的电影网站?如何做呢
  3. Web性能测试自动化方案
  4. 高光谱图像 空间分辨率
  5. QT QPushbutton制作下拉列表
  6. 寂静岭:理性与心魔的拔河
  7. Jetpack Compose——Text(文本)的使用
  8. 常用Source Insight快捷键
  9. pyquery 使用说明(支持python 3)
  10. 【GANs】Wasserstein GAN