java中的基本数据类型和引用数据类型的区别

maskwolf`sblog      2022-04-19     201

关键词:

一、数据类型

Java中的数据类型分为两大类,基本数据类型和引用数据类型。

1、基本数据类型

基本数据类型只有8种,可按照如下分类
①整数类型:long、int、short、byte
②浮点类型:float、double
③字符类型:char
④布尔类型:boolean

No. 数据类型 大小/位 可表示数据范围 默认值
1 byte(字节型) 8 -128~127 0
2 short(短整型) 16 -32768~32767 0
3 int(整型) 32 -2147483648~2147483647 0
4 long(长整型) 64 -9223372036854775808~9223372036854775807 0
5 float(单精度) 32 -3.4E38~3.4E38 0.0
6 double(双精度) 64 -1.7E308~1.7E308 0.0
7 char(字符) 16 0~255 '\u0000'
8 boolean(布尔) - true或false false

2、引用数据类型

引用数据类型非常多,大致包括:
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型

例如,String类型就是引用类型。
简单来说,所有的非基本数据类型都是引用数据类型。

二、基本数据类型和引用数据类型的区别

1、存储位置

基本变量类型

  • 在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中的

引用变量类型

  • 只要是引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址
    ps:通过变量地址可以找到变量的具体内容,就如同通过房间号可以找到房间一般
public class Main{
   public static void main(String[] args){
       //基本数据类型
       int i=1;
       double d=1.2;
       
       //引用数据类型
       String str="helloworld";
   }
}

2、传递方式

基本变量类型

  • 在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递
//基本数据类型作为方法参数被调用
public class Main{
   public static void main(String[] args){
       int msg = 100;
       System.out.println("调用方法前msg的值:\n"+ msg);    //100
       fun(msg);
       System.out.println("调用方法后msg的值:\n"+ msg);    //100
   }
   public static void fun(int temp){
       temp = 0;
   }
}

引用变量类型

  • 引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本
//引用数据类型作为方法参数被调用

class Book{
    String name;
    double price;

    public Book(String name,double price){
        this.name = name;
        this.price = price;
    }
    public void getInfo(){
        System.out.println("图书名称:"+ name + ",价格:" + price);
    }

    public void setPrice(double price){
        this.price = price;
    }
}

public class Main{
   public static void main(String[] args){
       Book book = new Book("Java开发指南",66.6);
       book.getInfo();  //图书名称:Java开发指南,价格:66.6
       fun(book);
       book.getInfo();  //图书名称:Java开发指南,价格:99.9
   }

   public static void fun(Book temp){
       temp.setPrice(99.9);
   }
}

调用时为temp在栈中开辟新空间,并指向book的具体内容,方法执行完毕后temp在栈中的内存被释放掉

开通博客园来的第一篇博文,有不对的地方请大家多多指正,我将会做出及时更改。

每日一java------------基本类型和引用类型区别

java中有8中基本数据类型,byte,short,int,long,float,double,boolean,char.java中基本数据类型和引用数据类型之间的区别在于:    基本数据类型存放的是其二进制值,而引用数据类型存放的是数据所在的地址。   &n... 查看详情

java--数组和集合区别

一、数组1、Java语言中的数组是一种引用数据类型;不属于基本数据类型2、数组当中既可以存储“基本数据类型”的数据,也可以存储“引用数据类型”的数据(数组既可以存储基本数据类型,又可以存储引用数... 查看详情

基本数据类型和引用数据类型的区别(代码片段)

...本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值。示例: vara=10; varb=a; b=20; console.log(a);//10值上面,b获取的是a值得一份拷贝,虽然,两个变量的值相等,但是两个变量保存了两个不同的基本数据类型值... 查看详情

java的基本数据类型和引用数据类型的区别

JAVA的基本数据类型和引用数据类型的区别:1、基本数据类型有:byte:Java中最小的数据类型;short:短整型;int:整型;long:长整型;float:浮点型;double:双精度浮点型;char:字符型;boolean:布尔类型。引用数据类型有:类... 查看详情

java值类型和引用类型的区别

java这两种数据类型分别有哪些?java中的数据类型分为两大类:值类型(基本数据类型)和引用类型(复合数据类型) 一:值类型:  整数类型(byte,short,int,long)   浮点类型(float,double)  布尔类型(boolean... 查看详情

基本数据类型和引用数据类型的区别是啥

...型和引用数据类型的区别”1、基本数据类型由于在内存中的一个地址存放的是这些变量的值所以调用函数,函数里的形参,就是复制这些变量的值以后对形参值的变化不会影响到原来变量的值;2、引用数据类型由于在内存中是... 查看详情

java中引用数据类型和基本数据类型的区别

...位高人帮下忙‘小弟先谢了参考技术Ajava中数绝类型分为基本数据类型,和引用数据类型基本数据就是:int,float,boolean等等,8种引用数据类型包括:类,数组,接口本就没有太多的关系!参考资料:http://zhidao.baidu.com/question/54231579.html?si=5 ... 查看详情

java的基本数据类型和引用数据类型的区别

...,比如:Strings=newString("abc");Strings="abc";2、基本类型就是直接赋值就可以了,比如:inta=123;floatb=123.0;boolean=true;二、参数方面传递的不同引用类型是引用传递基本类型是值传递三、比较方面的不同引用类型比较的是... 查看详情

基本数据类型和引用数据类型的区别

...312GBK)char,‘单个字符’,和int兼容(表示字符集中的位 查看详情

java值传递和引用传递

  我们都知道,java中的数据类型可以分为基本数据类型和引用数据类型,java中的传递可以分为值传递和引用传递,两者之间的主要区别是什么呢?两者之间的造成区别的原因又是什么呢?本文从最基本的java虚拟机的存储进行... 查看详情

一.基本数据类型和引用数据类型的区别

 一、基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,默认值0 int:整型,用于存储整数,在... 查看详情

java中的基本数据类型和引用数据类型

java中基本数据类型有8种:byte,short,int,long,char,float,double,boolean整型有四种:byteshort,int,longbyte: 1字节 -128--127short: 2字节 -32768--32767int: 4个字节 -2147483648 --2147483647(超过2 查看详情

java中的引用数据类型

java数据类型图:┏数值型━┳━整数型:byteshortintlong┏基本数据类型━━┫┗━浮点型:floatdouble┃┣字符型:char数据类型╋┗布尔型:boolean┃┏类(class)┗引用数据类型━━╋接口(interface)┗数组(array)java的数据类型... 查看详情

java中的基本数据类型和引用类型

一、基本数据类型:byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0int:整型,用于存储整数,在内在中占32位,即4... 查看详情

java中int和integer有啥区别

...值  integer是对象,用一个引用指向这个对象  1.Java中的数据类型分为基本数据类型和复杂数据类型  int是前者>> 查看详情

基本数据类型和引用数据类型作为参数传递的区别

/*程序在执行过程中,参数的传递问题1.传递的数据是基本数据类型2.传递的数据是引用数据类型以下程序传递基本数据类型*/publicclassOOTest04{publicstaticvoidmain(String[]args){//局部变量inti=10;//调用m1(i);System.out.println("main--->"+i);//10}publ... 查看详情

java中的基本类型和引用类型变量的区别

基本类型:基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。引用类型:是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。&nb... 查看详情

java中,方法参数是基本类型和引用类型的区别

方法参数是基本类型时,传递的是值。 方法参数是引用类型时,传递的是内存地址值当参数是基本类型时,在调用方法时将值传递到方法中,运行方法,运行结束方法退出,对原本main中定义的变量没有任何操作(方法中没... 查看详情