精华内容
下载资源
问答
  • java中引用数据类型有哪些

    万次阅读 多人点赞 2016-07-18 09:45:37
    Java中俩种数据类型,其中主要8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:1、boolean:数据值...

    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率高且要多一次解引用。

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

     

    展开全文
  • 8种基本类型 4种整型 byte 1字节 -128——127 short 2 字节 -32,768 —— 32,767 int 4 字节 -2,147,483,648 ——2,147,48

    8种基本类型 
          4种整型 
                     byte      1字节           -128——127 
                     short     2 字节         -32,768 —— 32,767 
                    int       4 字节          -2,147,483,648 ——2,147,483,647(超过20亿) 
                    long      8 字节   -9,223,372,036,854,775,808——9,223,372,036854,775,807 
                    注释:java中所有的数据类所占据的字节数量与平台无关,java也没有任何无符号类型 
         2种浮点类型 
                    float    4 字节         32位IEEE 754单精度(有效位数 6 – 7位) 
                   double   8 字节         64位IEEE 754双精度(有效位数15位) 
        1种Unicode编码的字符单元 
                   char    2 字节          整个Unicode字符集 
          1种真值类型 
                   boolean    1 位             True或者false 
     
    3种引用类型 

              类class ,就是自己定义的数据结构,还有一些java类库中的:包括string,date等
              接口interface 
              数组array 

    Java Byte 的取值范围大家都知道(-128 ~ 127),那么-128 和 127 这两个数是怎么计算的呢?

    #大学知识回顾:

    概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1

    在计算机内,定点数有3种表示法:原码、反码和补码

    [原码]就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

    [反码]表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

    [补码]表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

    Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为符号 位 ,正 数 的 符 号 位 为 0,负 数 为 1。

    现在进行java Byte 取值范围分析:

          1、确定byte是1个字节,也就是8位

          2、对于计算机来说,二进制最大的正数是01111111 转换成十进制为:127

          3、最小的负数: 10000000,即-128   

    二进制负数的值:取反加一,所以 10000000 的值为:
    1. 取反 -> 01111111    127
    2. 加一  ->  128
    3. 加上符号:  -128
    展开全文
  • JS数据类型之引用数据类型

    千次阅读 2019-06-28 16:46:51
    1、引用数据类型也就是对象数据类型object,比如:object、array、function、data等; 2、引用类型的值可以改变: let person = {name: 'lisa'} person.name = 'Jane' // 通过修改对象属性值更改对象 console....

    1、引用数据类型也就是对象数据类型object,比如:object、array、function、data等;

    2、引用类型的值可以改变:

      let person = {name: 'lisa'}
      person.name = 'Jane' // 通过修改对象属性值更改对象
      console.log(person) // 输出:{name: "Jane"}
      person.age = 18 // 给对象增加一个属性
      console.log(person) // 输出:{name: "Jane", age: 18}
      let arr = [1, 2, 3, 4, 5]
      arr[0] = 0 // 更改数组的某一个元素
      console.log(arr) // 输出:[0, 2, 3, 4, 5]
      arr[5] = 6 // 给数组增加一个元素
      console.log(arr) // 输出:[0, 2, 3, 4, 5, 6]

    3、引用类型可以添加属性和方法:

      let person = {}
      person.name = 'lisa'
      person.say = function () {
        alert('hello world')
      }
      console.log(person.name)   // 输出:lisa
      console.log(person.say)   // 输出:function () { alert('hello world') }

    4、引用类型的赋值是对象引用

      let a = {}
      let b = a
      a.name = 'lisa'
      console.log(a.name)  // 输出:lisa
      console.log(b.name)  // 输出:lisa
      b.age = 18
      console.log(a.age)  // 输出:18
      console.log(b.age)  // 输出:18

    看上面的代码,我们发现当从一个变量向另一个变量赋值引用类型的值时候,同样会将存储在变量中的对象的值复制一份放到位新变量分配的空间中,引用类型保存在变量中的是对象在堆内存中的地址。所以,与基本数据类型的简单赋值不同,这个值的副本实际上是一个指针,而这个指针指向存储在堆内存的一个对象。那么赋值操作后,两个变量都保存了同一个对象的地址,而这两个地址都指向了同一个对象,因此,改变其中任何一个变量,都会互相影响。

    关系图如下所示:

    所以,引用类型的赋值其实是对象保存在栈区地址指针的赋值,所以两个变量指向同一个对象,任何的操作都会互相影响。

    5、引用类型的比较是引用的比较

      let man = {}
      let woman = {}
      console.log(man === woman) // 输出:false

    看上面的例子发现,两个对象一模一样,但是却不相等。因为引用类型的比较是引用的比较,换句话说,就是比较两个对象保存在栈区的指向堆内存的地址是否相等,此时,虽然man和woman看起来都是一个“{}”,但是他们保存在栈区中的指向堆内存的地址却是不同的,所以两个对象不相等。

    6、引用类型是同时保存在栈区中和堆区中的,引用类型的存储需要在内存的栈区和堆区中共同完成,栈区保存变量标识符和指向堆内存的地址:

      let a = {name: 'aaa'}
      let b = {name: 'bbb'}
      let c = {name: 'ccc'}

    上面三个对象的内存中保存情况如下图:

     

    展开全文
  • 两者之间的关系特点:一、从概念方面来说基本数据类型:变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值二、从内存构建方面来说基本数据类型:变量在声明之后java就会立刻分配给...

    两者之间的关系


    特点:

    一、从概念方面来说

    基本数据类型:变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值

    二、从内存构建方面来说

    基本数据类型:变量在声明之后java就会立刻分配给他内存空间

    引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址。

    三、从使用方面来说

    基本数据类型:使用时需要赋具体值,判断时使用“==”号

    引用数据类型:使用时可以赋null,判断时使用equals方法


    展开全文
  • java中的五种引用数据类型(对象类型)

    万次阅读 多人点赞 2019-01-20 14:38:23
    Java 5种引用类型(对象类型):类 接口 数组 枚举 标注 引用类型:底层结构和基本类型差别较大 JVM的内存空间: (1). Heap 堆空间:分配对象 new Student() (2). Stack 栈空间:临时变量 Student stu (3)...
  • 一个变量可以存放两种类型的值,基本类型的值...它是 JavaScript 语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。 基本类型 ...
  • 基本数据类和引用数据类型

    万次阅读 多人点赞 2018-06-07 22:19:07
    Java提供了两类数据类型:一种是基本数据(原始类型),一种是引用类型。 数据类型图: 基本数据类型: 注意: 1.在基本数据类型中,除了boolean类型所占长度与平台有关外,其他数据类型长度都是与平台无关的...
  • Java中主要8中基本数据类型,分别是byte,short,int,long,char,boolean,float,double,具体如下: 1、boolean:数据值只有true或false,适用于逻辑计算。 2、char:char型(字符型)数据在内存中占用2个字节。...
  • JavaScript中基本数据类型和引用数据类型的区别

    千次阅读 多人点赞 2018-01-06 11:09:53
    原文地址 ... 1、基本数据类型和引用数据... 基本数据类型指的是简单的数据段,引用数据类型指的是多个值构成的对象。  当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。
  • Java 数据类型(基本数据类型、引用数据类型)

    千次阅读 多人点赞 2013-12-11 23:40:11
    Java 数据类型(基本数据类型、引用数据类型) 简单的介绍
  • java数据类型(八种基本数据类型+三种引用类型)

    万次阅读 多人点赞 2017-02-08 11:05:32
    2引用数据类型 二:注意事项: 1:java开发过程中整型用int、小数用double、布尔用boolean; 2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;  例如:(1)int a=12;double b=a;(2...
  • JS六大数据类型: Number、String、Boolean、Null、Undefined、Object ​ 这些数据类型可以通过 typeof关键字 进行检测 typeof 123 //number typeof 'abc' //string typeof true //boolean typeof ...
  • 理解Java自定义类作为数据类型——引用数据类型

    千次阅读 多人点赞 2020-01-11 20:01:48
    前言:Java的数据类型按照类型可分为基本数据类型(byte、short、int、long、double、float、char、boolean)和引用数据类型(类(class)、接口(interface)、数组(array)),8种基本数据类型相信只要接触过Java就...
  • 引用数据类型有object, es6新增一个symbol 1、symbol类型 Symbol()返回的symbol值都是唯一的,使用Symbol()创建新的symbol值,并用一个可选的字符串作为其描述 —— 描述相同的两个Symbol值依然是不同的 2、...
  • JavaScript数据类型,包括原始类型和引用类型有哪些? 原始类型五个 Number类型 专门保存数字的类型,可用于进行数学计算等的数值 String类型 专门用来保存字符串的类型;” “,用来存储字符串类型的文本. ...
  • Java引用类型有哪些

    万次阅读 2019-07-05 16:48:32
    其中,引用数据类型在存储堆中对需要引用的对象进行引用,引用是Java面向对象的一个特点,在Java入门中,我们会接触到四种Java的引用类型,接下来就说说这四种Java引用类型有哪些吧: 1、Java中哪几种引用?...
  • 基本数据类型和引用数据类型的区别

    千次阅读 多人点赞 2018-03-18 21:35:18
    根据这篇文章可以理解一下java中的基本... 基本数据类型指的是简单的数据段,引用数据类型指的是多个值构成的对象。 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值...
  • JS中的数据类型 (一)、基本数据类型(值类型) 1.number:数字 -12、12.5、-12.5 0这些数字都是number; js中增加了一个number类型的数据:‘NaN’ typeof NaN -&amp;gt;“number” ①&quot;NaN&...
  • js的基本数据类型和引用数据类型 js的六大数据类型 Number, String, Boolean, Undefined , Null , Object 基本数据类型:Number,String,Boolean, Null 引用数据类型:Object , Array, Function 如何...
  • 编辑器所开发的代码都是推送到浏览器。...将基本数据类型存在当前栈里边,解析到引用数据类型的时候,他会接着做另一个辅助工作,在浏览后台开辟一个堆内存(私有作用域),来储存我们的代码字符;
  • 关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确。希望能给大家带来点帮助。 如果错误请指出。 来看下面例子: 复制代码 复制代码 //值类型 int ...
  • Java中的数据类型分为两大类,基本数据类型和引用数据类型 一、数据类型二、基本数据类型和引用数据类型的区别
  • java的数据类型有哪些

    万次阅读 2019-04-01 14:25:34
    java的数据类型相关知识点? 总结就是八个字: 数据2型,四类八种 (个人理解,仅供参考) 解析图如下: 基本数据类型: 1.逻辑类:boolean 布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0...
  • 一、基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储...
  • 1. 对基本数据类型,不同的变量会分配不同...对引用数据类型,赋值是把原对象的引用传递给另外一个引用。对数组而言,当一个数组引用赋值给另外一个数组引用后, 这两个引用指向同一个数组,也就是指向同一块内存空间。
  • Java数据类型分为基本数据类型与引用数据类型。 1、 基本数据类型 byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16 bit),取值范围-...
  • 数据类型:  undefiend 没有定义数据类型  number 数值数据类型 例如 10或者1或者5.5  string 字符串数据类型用来描述文本 例如 "你的姓名"  boolean 布尔类型 true|false 不是正就是反,是或者否,或者...
  • Java引用数据类型String详解

    万次阅读 2020-07-02 23:54:44
    Java引用数据类型(String)引用数据类型概述引用数据类型与基本数据类型的差别(举例说明) 引用数据类型概述 说到引用数据类型,那么何为引用数据类型? 引用类型,都可以用null值作为值,也就是说可以在初始化的...
  • Java基础_引用数据类型的强制类型转换

    千次阅读 多人点赞 2019-05-23 20:01:07
    其实不然,他们之间的强制类型转换是条件的。 当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了。在Java中我们可以通过继承、向上转型的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,410,137
精华内容 564,054
关键字:

引用数据类型有哪些