Java 中的基本数据类型和引⽤数据类型的区别
⼀、数据类型
Java 中的数据类型分为两⼤类,基本数据类型和引⽤数据类型。
1、基本数据类型
基本数据类型只有8种,可按照如下分类
①整数类型:②浮点类型:③字符类型:④布尔类型:2、引⽤数据类型
引⽤数据类型⾮常多,⼤致包括:
类、 接⼝类型、 数组类型、 枚举类型、 注解类型、 字符串型例如,类型就是引⽤类型。
简单来说,所有的⾮基本数据类型都是引⽤数据类型。
⼆、基本数据类型和引⽤数据类型的区别
1、存储位置
基本变量类型
在⽅法中定义的⾮全局基本数据类型变量的具体内容是存储在栈中的
引⽤变量类型
只要是引⽤数据类型变量,其具体内容都是存放在堆中的,⽽栈中存放的是其具体内容所在内存的地址
ps:通过变量地址可以到变量的具体内容,就如同通过房间号可以到房间⼀般
long 、int 、short 、byte
float 、double
char
boolean
No.
数据类型⼤⼩/位可表⽰数据范围默认值1
(字节型)byte 8-128~12702
(短整型)short 16-32768~3276703
(整型)int 32-2147483648~214748364704
(长整型)long 64-9223372036854775808~922337203685477580705
(单精度)float 32-3.4E38~3.4E380.06
(双精度)double 64-1.7E308~1.7E3080.07
(字符)char 160~255'\u0000'8(布尔)boolean -true 或false false
String public class Main{
public static void main(String[] args){
//基本数据类型
int i=1;
double d=1.2;
浮点型变量float//引⽤数据类型
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(){
调⽤时为temp 在栈中开辟新空间,并指向book 的具体内容,⽅法执⾏完毕后temp
在栈中的内存被释放掉 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);
public static void fun(Book temp){
temp.setPrice(99.9);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论