Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:
1、boolean:数据值只有true或false,适用于逻辑计算。
2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用Unicode编码,它的前128字节编码与ASCII兼容字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '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个字节。(float精度为7-8位)
8、double:double型(双精度浮点型)数据在内存中占用8个字节。
下面说说java中引用数据类型:
引用数据类型分3种:类,接口,数组;
一、类Class引用 
可以是我们创建的,这里我不多讲,主要是讲解几个java库中的类 
Object :Object是一个很重要的类,Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。用Object可以定义所有的类 
              如: 
              Object object= new Integer(1); 来定义一个Interger类 
               Integer i=(Integer) object;     在来把这个Object强制转换成Interger类 
String :String类代表字符串,Java 程序中的所有字符串字面值(如"abc")都作为此类的实例来实现。检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转换为大写或小写形式。 
Date :Date表示特定的瞬间,精确到毫秒。Date的类一般现在都被Calendar 和GregorianCalendar所有代替 
Void :Void 类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void 的 Class 对象的引用。 
同时也有对应的Class如:Integer  Long  Boolean  Byte  Character  Double  Float   Short

二、接口interface引用

可以是我们创建的,这里我不多讲,主要是讲解几个java库中的接口interface
List<E>:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引 (在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。 List 接口提供了两   种在列表的任意位置高效插入和移除多个元素的方法。 
add() : 在列表的插入指定元素。 
remove():移除列表中指定位置的元素。 
get(int index):返回列表中指定位置的元素。
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。
这里我们主要是用String List Map Object 是最常用Number ArrayList<E> Arrays等

三、数组引用

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

数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始

数组的定义

第一种方式:类型[] 数组名 int[] nums; 
第二种方式:类型数组名[];  int nums[];
大多数Java程序员喜欢使用第一种风格,因为它把数据类型int[],和变量名num分开了.
数组的初始化
Java中数组必先初始化后才能使用.
初始化就是给数组元素分配内存,并为每个元素赋初始值。
初始化数组的两种方式:

静态初始化:
语法格式:类型[] 数组名 = new 数组类型[]{元素1,元素2,元素3,...元素n};
简化语法:类型[] 数组名 = {元素1,元素2,元素3...元素n};
动态初始化:
如果我们事先不知道数组里存储哪些数据,只知道需要存储数据的个数,此时可以使用动态初始化方式。
动态初始化:初始化时由我们指定数组的长度,系统自动为数组元素分配初始值。
格式:类型[] 数组名 = new 数组类型[数组长度];
注意:无论,以哪种方式初始化数组,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化。也就是说数组是定长的。

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

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

栈空间小且连续,往往会被放在缓存。引用类型cache miss率高且要多一次解引用。

对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高


http://www.taodudu.cc/news/show-5619489.html

相关文章:

  • JAVA基础第2.5章 JAVA引用数据类型
  • 通道抠像原理和实例操作
  • Android WiFi无法连接隐藏AP
  • 电脑无法连接隐藏式wifi
  • 怎么查找计算机隐藏用户,怎么找到隐藏的wifi_电脑怎么搜索隐藏wifi-win7之家
  • 如何连接上隐藏WiFi
  • 树莓派3B连接隐藏wifi网络
  • 计算机如何连接隐藏的无线网络,电脑怎么加入隐藏用户名的WiFi?(如何连接隐藏wifi)...
  • python调用wifi_使用Python发现隐藏的wifi
  • 怎样搜索网络隐藏计算机,如何搜隐藏的wifi信号 ?
  • xp桌面计算机隐藏设置密码,电脑哪里输入隐藏wifi密码
  • 计算机怎么添加隐藏的网络,win10怎么添加隐藏wifi?电脑连接隐藏wifi方法
  • 教程:wifi隐藏信号怎么连接
  • android 连接隐藏wifi,小技能 | 教你如何连接隐藏了的wifi(最齐全版本)
  • android扫描隐藏wifi,安卓手机连接隐藏wifi 安卓连接隐藏wifi密码-192路由网
  • 懒人必备,自动识别语音给视频添加字幕
  • html将字幕添加到视频链接,目前最高效,给视频自动添加字幕的方法
  • html将字幕添加到视频链接,html5-video – 如何在html中为视频添加字幕?
  • 安卓使用ffmpeg给视频添加字幕
  • bitflip
  • opencv flip
  • PHP函数array_flip
  • opencv中flip函数
  • cv flip函数
  • pytorch tensor flip
  • 三星Flip4什么时候发布 三星Flip4配置如何
  • Buffer flip()方法用法
  • Flip PDF2.4.10,无需打开程序的图形环境
  • c语言flip用法,C++ bitset::flip()用法及代码示例
  • java flip方法_Python numpy.flip函数方法的使用

java中引用数据类型相关推荐

  1. java中引用数据类型有哪几种

    本文主要介绍了java中引用数据的类型,具有很好的参考价值.希望对你有帮助.如有错误或不足之处,请不吝赐教. 目录 Java中的引用数据类型有哪些?先说Java中的引用数据类型:1.类别引用2.接口参 ...

  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中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...

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

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

  9. java中 引用传递_Java中的引用传递

    我觉得引用传递  真的很好理解,不知道为什么大家觉得这么难,你只要掌握这几点就可以了 在Java机制中他自己提供的那些数据类型(String ,Object等)要这样理解: 1)在Java中  引用 ...

最新文章

  1. 每日一皮:当写的程序出现bug时,就是这么奇妙...
  2. 编写高质量代码:改善Java的151个建议五(类、对象、方法)31-51
  3. 针对这一行业痛点,创新工场投资的潞晨科技发布了大规模并行AI训练系统——“夸父”(Colossal-AI) ,通过多维并行、大规模优化器、自适应任务调度、消除冗余内存、降低能量损耗等方式,旨在打造一个
  4. c语言二分法查找一个数_算法简解-二分查找
  5. nullnullanimate用法
  6. 我常用的Markdown公式符号
  7. mysql导出bacpac_在 Azure 中备份应用
  8. 眉骨高者为大贵之相_什么样才算富贵相?曾国藩的识人秘诀(组图)
  9. [导入]使用SqlCommand对象执行存储过程
  10. 两台电脑间大量数据拷贝的快捷方法
  11. array_merge用法
  12. 开源合规处理方法_经济高效的开源软件许可合规模型
  13. Windows命令行(DOS命令)教程
  14. SAP License:浅谈利用借贷做销售业务调整处理
  15. 阿里正式进军机器人赛道,首款物流机器人“小蛮驴”来了!
  16. 【ArcGIS 10.2新特性】Portal for ArcGIS新特性
  17. 2022 基于SpringBoot/SSM的数据库查询平台
  18. winrar注册码激活码
  19. python爬虫网络中断_python爬虫中断
  20. 微信小程序 异步加载f2图表

热门文章

  1. jumpserver堡垒机 (资源
  2. 为什么早期的 Windows 需要整理碎片
  3. source tree 关联gitlab/github账号 实现项目管理
  4. 智能制造时代的机器视觉
  5. 《Adobe Illustrator CS5中文版经典教程》—第1课1.2节理解工作区
  6. python画图程序飞机_分享给大家几段有趣的代码,学会python画画可以不用自己动手啦...
  7. 制作Excel表头的6种方式如分项表头 双线复合表头等等
  8. AI又对游戏下手了,用强化学习通关超级马里奥兄弟
  9. 家里接入光纤网连接无线路由器上网的方法
  10. 响宴 月光下的凤尾竹 梁祝 我爱你塞北的雪 送别 年轻的朋友来相会 朋友