精华内容
下载资源
问答
  • 形参的基本类型和引用类型的调用
    千次阅读
    2019-06-10 17:29:24

    形式参数的问题:

            基本类型:形式参数的改变不影响实际参数。

            引用类型:形式参数的改变直接影响实际参数。

    数据类型:基本数据类型,接口,数组,类。

    形式参数是基本类型:

    class Demo{
        public int sum(int a,int b){
            
            return a + b;
        }
    }

    形式参数是引用类型:

    class Student {
        public void show() {
            System.out.println("我爱学习!!");
        }
    }
    class StudentDemo {
        //如果一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。
        public void method(Student s) {                    
            //调用的时候,把main方法中的s的地址传递到了这里 Student s = new Student()
            s.show();
        }
    }

    测试类:

    class ArgsTest {
        public static void main(String[] args) {
            //形式参数是基本类型的调用
            Demo d = new Demo();
            int result = d.sum(10,20);
            System.out.println("result:"+result);
            System.out.println("---------------");
    
            //形式参数是引用类型的调用
            //需求:调用StudentDemo类中的menthod()方法
            StudentDemo sd = new StudentDemo();
            //创建学生对象
            Student s = new Student();
            sd.method(s);//把s的地址给了这里
        }
    }

     

    更多相关内容
  • 基本类型和引用类型区别

    千次阅读 2020-03-13 16:13:28
    基本类型和引用类型也有人叫原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,可变类型和不可边类型 3.基本类型 基本类型是按值访问的,引用类型是按引用访问 3.1 基本类型的值是不可变的 由于基本类型...

    目录

    1.基本类型包括:

    2. 引用类型包括:

    3.基本类型

    3.1 基本类型的值是不可变的

    3.2基本类型的比较是值的比较

    3.2.1基本类型的数据类型相同时

    3.2.2基本类型的数据类型不同时

    3.3基本类型的存储:

    3.4基本类型赋值

    4.引用类型

    4.1引用类型的值是可变的

    4.2引用类型的值是同时保存在栈内存和堆内存中的对象

    4.3 引用类型的比较是引用的比较

    4.4引用类型的赋值


    1.基本类型包括:

     string,number,boolean,null,undefined,symbol

    2. 引用类型包括:

    Function,Array,Object

    基本类型和引用类型也有人叫原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,可变类型和不可边类型

    3.基本类型

    基本类型是按值访问的,引用类型是按引用访问

    3.1 基本类型的值是不可变的

    由于基本类型本身是没有方法和属性的,所以他的值是不可变的

    eg:

    var dog = 'xiaohua'
    
    name.toUpperCase()
    console.log(name); // 输出  'xiaohua'
    //可见原值没有改变
    
    var person = 'jona';
    person.age = 22;
    person.method = function(){//...};
     
    console.log(person.age); // undefined
    console.log(person.method); // undefined
    //基本类型不能天机暗属性和方法
    
    

    3.2基本类型的比较是值的比较

    3.2.1基本类型的数据类型相同时

    基本类型的数据类型相同时两个变量的比较就是对值的比较, == 和===此时是一样的

    eg

    var a = 'jona';
    var b = 'jona';
    console.log(a === b);//true
    console.log(a == b);//true

    3.2.2基本类型的数据类型不同时

    基本类型的数据类型不同时也是值的比较,只不过不同的是它会对基本类型的数据类型进行隐式转换

    eg

    var a = 1;
    var b = true;
    console.log(a == b);//true
    console.log(a === b);//false

    在用==比较两个不同类型的变量时会进行一些类型转换。像上面的比较先会把1转化为true进行比较,结果就是true了。

    ==是值相等即可,===是值和数据类型都必须相等

    3.3基本类型的存储:

    基本类型的存储是放在栈区的(栈区也就是指内存里面的栈内存)

    eg

    var name = 'jona';
    var city = 'kunming';
    var age = 18;

    3.4基本类型赋值

    在从一个变量向另一个变量赋值基本类型时,会在该变量上创建一个新值,然后再把该值复制到为新变量分配的位置上:

    var a = 10;
    var b = a;
     
    a ++ ;
    console.log(a); // 11
    console.log(b); // 10

    此时,a中保存的值为 10 ,当使用 a 来初始化 b 时,b 中保存的值也为10,但b中的10与a中的是完全独立的,该值只是a中的值的一个副本,此后,
    这两个变量可以参加任何操作而相互不受影响。

    也就是说基本类型在赋值操作后,两个变量是相互不受影响的。

    4.引用类型

    引用类型也可以说是对象了,对象是属性和方法的集合。
    也就是说引用类型可以拥有属性和方法,属性又可以包含基本类型和引用类型。

    4.1引用类型的值是可变的

    我们可为为引用类型添加属性和方法,也可以删除其属性和方法,如:

    var dog= {};//创建个控对象 --引用类型
    dog.name = 'jozo';
    dog.age = 22;
    dog.sayName = function(){console.log(dog.name);} 
    dog.sayName();// 'jozo'
     
    delete dog.name; //删除dog对象的name属性
    dog.sayName(); // undefined
     

    说明引用类型可以拥有属性和方法,并且是可以动态改变的。

    4.2引用类型的值是同时保存在栈内存和堆内存中的对象

    引用类型的存储需要内存的栈区和堆区(堆区是指内存里的堆内存)共同完成,栈区内存保存变量标识符和指向堆内存中该对象的指针,
    也可以说是该对象在堆内存的地址。

    4.3 引用类型的比较是引用的比较

    var person1 = {};
    var person2 = {};
    console.log(person1 == person2); // false

    引用类型时按引用访问的,换句话说就是比较两个对象的堆内存中的地址是否相同,那很明显,person1和person2在堆内存中地址是不同的:

    4.4引用类型的赋值

    当从一个变量向另一个变量赋值引用类型的值时,同样也会将存储在变量中的对象的值复制一份放到为新变量分配的空间中。
    保存在变量中的是对象在堆内存中的地址,所以,这个值的副本实际上是一个指针,而这个指针指向存储在堆内存的一个对象。那么赋值操作后,两个变量都保存了同一个对象地址,则这两个变量指向了同一个对象。因此,改变其中任何一个变量,都会相互影响:

    var a = {}; // a保存了一个空对象的实例
    var b = a;  // a和b都指向了这个空对象
     
    a.name = 'jozo';
    console.log(a.name); // 'jozo'
    console.log(b.name); // 'jozo'
     
    b.age = 22;
    console.log(b.age);// 22
    console.log(a.age);// 22
     
    console.log(a == b);// true

    展开全文
  • 【js中的基本类型和引用类型有哪些,有什么区别?】 每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇...

    这里是修真院前端小课堂,本篇分析的主题是

    【js中的基本类型和引用类型有哪些,有什么区别?】

    每篇分享文从

    【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

    八个方面深度解析前端知识/技能,本篇分享的是:

    【js中的基本类型和引用类型有哪些,有什么区别?】

     

     

    大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的web程序员。

    今天给大家分享一下,修真院官网js任务1中可能会使用到的知识点:

     

    1.背景介绍

     

    基本数据类型:按值访问,可操作保存在变量中的实际的值。基本类型值指的是简单的数据段。

    基本数据类型有这五种:Undefined、Null、String、Number、Boolean。

    引用类型:当复制保存着对象的某个变量时,操作的是对象的引用,但在为对象添加属性时,操作的是实际的对象。引用类型值指那些可能为多个值构成的对象。引用类型值指那些可能为多个值构成的对象。

    引用类型有这几种:object、Array、RegExp、Date、Function、特殊的基本包装类型(String、Number、Boolean)以及单体内置对象(Global、Math)。

     

    2.知识剖析

     

    1.Number

    Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
    NaN:非数字类型。两大特点:1.涉及到的 任何关于NaN的操作,都会返回NaN。2. NaN不等于自身。

    isNaN() 函数用于检查其参数是否是非数字值

    2.String

    字符串是存储字符的变量,由双引号(" ")或单引号(' ')表示
    字符串有length属性。可以取得字符串的长度。

    字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,undefined没有toString()方法)。

    3.Boolean

    只有两个值,true和false;在运算中true=1,false=0。

    4.Undefined

    只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

    5.Null

    也是只有一个值的数据类型,null值表示一个空对象指针,使用typeof操作符检测null值会返回"object"

    6.常见的引用类型

    Object类型:带有属性和方法的特殊数据类型。
    Array:是使用单独的变量名来存储一系列的值。

    Function:函数类型在JavaScript中也是对象。

    7.基本类型和引用类型的区别

    基本类型的变量是存放在栈区的(栈区指内存里的栈内存);
    引用类型的值是同时保存在栈内存和堆内存中的对象;
    基本类型的比较是值的比较;
    引用类型的比较是引用的比较;

     

    3.常见问题

     

    4.解决方案

    5.编码实战


    6.扩展思考

    1.Null和Undefined的区别?

    null和undefined基本同义,只有一些细微的差别。

    null表示“没有对象”,即该处不应该有值。

     

    (1) 作为函数的参数,表示该函数的参数不是对象。

    (2) 作为对象原型链的终点。

    undefined表示缺少值,此处应该有值,但是还没有定义。

     

    (1)变量被声明了,但没有赋值时,就等于undefined。

    (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

    (3)对象没有赋值的属性,该属性的值为undefined。

    (4)函数没有返回值时,默认返回undefined。

    2.NaN是什么?

    NaN表示一个元素可不是数值,isNaN()用于判断元素是否为数字的函数,是的话返回false,不是数字返回true。NaN和任何值比较都不相等。

    3.什么是栈内存,什么是堆内存,两者有什么区别?

    栈内存:由程序自动向操作系统申请分配以及回收,速度快,使用方便,但程序员无法控制。若分配失败,则提示栈溢出错误。注意,const局部变量也储存在栈区内,栈区向地址减小的方向增长。

    堆内存:程序员向操作系统申请一块内存,当系统收到程序的申请时,会遍历一个记录空闲内存地址的链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。分配的速度较慢,地址不连续,容易碎片化。此外,由程序员申请,同时也必须由程序员负责销毁,否则则导致内存泄露

    • 关于堆和栈区别的比喻:

    堆和栈的区别可以引用一位前辈的比喻来看出:使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

     


    更多讨论

    PPT:https://it-xzy.github.io/WEB-NEW/2018-4-28-C%E7%BB%84-js1.html

    腾讯视频:https://v.qq.com/x/page/d0640dcrofz.html

    展开全文
  • Java中基本类型和引用类型的区别

    万次阅读 2019-06-22 18:18:00
    Java中基本类型和引用类型的区别 一、基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,...

    Java中基本类型和引用类型的区别

    一、基本数据类型:
    byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
    short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,默认值0
    int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
    long:长整型,在内存中占64位,即8个字节-263~263-1,默认值0L
    float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
    double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
    char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
    boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false
    二、引用数据类型:
    类、接口类型、数组类型、枚举类型、注解类型。
    区别:
    基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。
    引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。

    相关知识:
    静态区: 保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。
    堆区: 一般由程序员分配释放,由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,由OS释放。其特点是使用灵活,空间比较大,但容易出错
    栈区: 由编译器自动分配释放,保存局部变量,栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限
    文字常量区: 常量字符串就是放在这里的。 程序结束后由系统释放。

    展开全文
  • 当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型的变量而言,它保存的仅仅是一个引用,final只保证这个引用所引用的地址不会改变,即一直引用同一个...
  • js中的基本类型和引用类型

    千次阅读 2017-05-19 11:22:59
    js的基本类型有哪些?引用类型有哪些?  基本类型:Number,String,Boolean,Null,undefined。  引用类型:Object,Array,Date,RegExp,Function nullundefined的区别。  参考:...
  • 1,传递基本类型参数,请看下面例子 function addNum(num) { num + = 10; return num; } var count = 20; var result = addTen(count); alert(count); //20, not change alert(result); //30 在调用函数...
  • ECMAStript变量包含两种不同类型的值,基本类型和引用类型。引用类型和传统的面向对象程序设计中的类相似,但实现不同。
  • Java基本数据类型和引用类型的区别

    千次阅读 2020-08-27 23:30:52
    新语言Kotlin已经抛弃了Java里的基本数据类型,而是采用引用类型去声明一个变量,那么怎么区分基本数据类型和引用类型呢? 文字概念 基本数据类型:byte、short、int、long、float、double、char、boolean引用类型:...
  • java基本类型引用类型

    万次阅读 多人点赞 2018-01-04 17:30:32
    java基本类型引用类型 目录 java基本类型引用类型 目录 一基本数据类型 二引用类型基本类型引用类型的区别 默认值 内存分配 自动装箱自动拆箱 自动装箱拆箱带来的问题 程序的性能 空指针异常 ...
  • 这篇文章主要是从内存的角度来区分基本类型和引用类型的区别: 1、先了解内存分区(大家需要知道,定义的变量都是在内存中存放的) 内存是存储数据的,不同类型的数据要存储在不同的区域,即分类存放,不同的区域...
  • js 基本数据类型和引用数据类型

    千次阅读 2021-02-26 13:42:39
    引用数据类型:Object(在JS中除了基本数据类型以外的都是对象,数据是对象,函数是对象,正则表达式是对象) 2、基本数据类型(存放在栈中) 基本数据类型是指存放在栈中的简单数据段,数据大小确定,内存空间大小...
  • 一、基本数据类型 java中一共分为8种 基本数据类型:byte、short、int、long、float、double、char、boolean byte、short、int、long是整型 float、double是浮点型 ...二、引用类型 java为每种基...
  • Java中的数据类型分为两大类,基本数据类型和引用数据类型 一、数据类型二、基本数据类型和引用数据类型的区别
  • Java 基本类型引用类型

    千次阅读 多人点赞 2019-03-27 20:55:51
    Java 基本类型引用类型 一、基本数据类型 java 中一共分为 8 种基本数据类型:byte、short、int、long、float、double、char、boolean, 其中 byte、short、int、long 是整型。float、double 是浮点型,char 是...
  • js基本类型引用类型

    千次阅读 多人点赞 2018-06-15 11:21:22
    1.基本类型:Underfined ,...而对象,以及被装箱的数据放在堆中栈内存中存放地址指向堆内存中的对象基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象基本类型在内存中分别占有固...
  • 说明: 1:好记性,不如写博客 2:静下心来丢掉手机不做低头族 3:开始学习以及复习Android第一节课 4:本章资料取决于Java编程思想(第4版)第一阶段:JAVA面向对象编程 JAVA基本数据类型和引用数据类型 基本数据...
  • Javascript中的基本类型和引用类型

    千次阅读 2016-06-30 21:46:27
    一、基本类型和引用类型概述 js中数据类型的值包括:基本类型值和引用类型值 基本数据类型:undefined;null;boolean;number;string 引用类型值:保存在内存中,js不允许直接访问内存位置,因此时操作引用而不是...
  • JS基本类型和引用类型赋值的区别

    千次阅读 2017-04-07 18:55:21
    基本类型包括:number,string...引用类型包括:Object,Array,Date,RegExp,Function 通过代码来看他们的区别: var a=2; var b=a; b=3; console.log(a);//2 console.log(b);//3 首先基本类型的赋值是
  • 2.引用数据类型有:(也可以说是对象,对象是属性方法得集合 Object、Function、Array、RegExp、Date、以及单体内置对象(Global、Math) 二、两者使用区别 1.实际操作得对象 基本类型:按值访问,操作的是保存在...
  • Java 基本数据类型与引用类型 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过...
  • JS有六大数据类型: Number、String、Boolean、Null、Undefined、Object ​ 这些数据类型可以通过 typeof关键字 进行检测 typeof 123 //number typeof 'abc' //string typeof true //boolean typeof ...
  • JavaScript中基本数据类型和引用数据类型的区别

    千次阅读 多人点赞 2018-01-06 11:09:53
    原文地址 ... 1、基本数据类型和引用数据类型  ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。... 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。
  • session中基本类型和引用类型的区别

    千次阅读 2018-04-23 09:26:05
    session中存入的是基本类型(int之类的)和引用类型(对象)是不一样的。   1。基本类型情况 session.setAttribute("test",1) -------》Object test = session.getAttribute("test") ----...
  • 引用类型和基本类型的区别?

    万次阅读 2018-06-08 00:00:19
    两者的区别可以主要从以下三个方面说起:1:内存空间 2:对值的操作 3:变量的复制 《javascript高级程序设计》中对于二者的定义是:基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。...
  • js基本类型引用类型的区别

    千次阅读 2017-06-08 20:27:32
    首先JavaScript中的变量分为基本类型和引用类型基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象。 1、基本类型 基本类型有Undefined、Null、Boolean、Number 和String。...
  • js中引用类型和基本类型的区别

    千次阅读 多人点赞 2018-06-04 20:14:28
    1、背景介绍:基本类型有哪些1、undefined 类型表示不存在定义,声明变量但没有初始化,这个变量的值就是undefined; 注意:在任何一个引用变量值设置为undefined都是错误的2、null 类型,表示一个值被定义了,定义...
  • java基本数据类型和引用类型的判断

    千次阅读 2018-01-30 16:27:33
    查看例子package day02;//boolean类型的用法 public class Test05 { public static void main(String[] args) { // TODO Auto-generated method stub boolean flag=true; int a=1;
  • java中数据类型分两种:基本数据类型和引用数据类型 基本数据类型有:整型类型的数据(byte、short 、int 、long )浮点型、字符型、布尔型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,037,748
精华内容 415,099
关键字:

基本类型和引用类型