首页 > 编程语言 >Java四大数据类型

Java四大数据类型

时间:2023-09-15 14:55:06浏览次数:37  
标签:Java String price 数据类型 四大 引用 void public

一、数据类型

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在栈中的内存被释放掉

 

https://www.cnblogs.com/maskwolf/p/9972982.html

标签:Java,String,price,数据类型,四大,引用,void,public
From: https://www.cnblogs.com/anenyang/p/17705016.html

相关文章

  • JavaSE(6) - 面向对象-1
    JavaSE(6)-面向对象-1p82类和对象类(***设计图***):是对象共同特征的描述;对象:是真实存在的具体东西.在java中,必须先设计类,才能获得对象.如何得到对象publicclass类名{1.成员变量(代表属性的,一般是名词)2.成员方法(代表行为的,一般是动词)......
  • JavaSE(05) -方法
    JavaSE(05)-方法p63什么是方法什么是方法:方法是程序当中最小的执行单元.应用场景:重复的代码,具有独立功能的代码可以抽取的方法中.他的好处:提高代码的复用性和可维护性.p64简单的方法定义和调用方法的命名规则:见名之意,驼峰命名.方法的运行:看到方法......
  • Thrift入门及Java实例演示
    目录:概述下载配置基本概念数据类型服务端编码基本步骤客户端编码基本步骤数据传输协议实例演示(java) thrift生成代码 实现接口IfaceTSimpleServer服务模型TThreadPoolServer服务模型TNonblockingServer服务模型THsHaServer服务模型异步客户端[一]、概述Thrift是一个软件框架,用......
  • Java
    1.CMDwindows不区分大小写符号必须是英文打开CMDWIN+R:CMD回车切换到E盘E:回车查看当前路径下内容dir进入目录cd目录上一级目录..清屏cls回到盘符根目录cd\qq.exe设置环境变量path添加qq路径jdk(javadevelopmentkit)java开发工具包b......
  • 无涯教程-JavaScript - ADDRESS函数
    描述给定指定的行号和列号,您可以使用ADDRESS函数获取工作表中单元格的地址。如,ADDRESS(2,3)返回$C$2。再举一个Example,ADDRESS(77,300)返回$KN$77。您可以使用其他函数(如ROW和COLUMN函数)为ADDRESS函数提供行号和列号参数。语法ADDRESS(row_num,column_num,[abs_nu......
  • Java面向对象编程
    今天开始面向对象了面向对象基础类:由属性和行为组成属性:在类中通过成员变量来体现行为:在类中通过成员方法来体现publicclass类名{//成员变量变量1的数据类型变量1;变量2的数据类型变量2;......
  • 3.4 Java赋值运算符(=)
    赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。其语法格式如下所示:变量名称=表达式内容在 Java 语言中,“变量名称”和“表达式”内容的类型必须匹配,如果类型不匹配则需要自动转化为对应的类型......
  • 3.5 Java关系运算符
    关系运算符(relationaloperators)也可以称为“比较运算符”,用于用来比较判断两个变量或常量的大小。关系运算符是二元运算符,运算结果是boolean型。当运算符对应的关系成立时,运算结果是true,否则是false。关系表达式是由关系运算符连接起来的表达式。关系运算符中“关系”二字的......
  • 3.6 Java逻辑运算符(&&、||和!)
    逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是true或false。逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表1所示。表1逻辑运算符的用法、含义及实例运算符用法含义说明实例结果&&a&&b短......
  • 3.8 Java自增和自减运算符(++和--)
    在对一个变量做加1或减1处理时,可以使用自增运算符++或自减运算--。++或--是单目运算符,放在操作数的前面或后面都是允许的。++与--的作用是使变量的值增1或减1。操作数必须是一个整型或浮点型变量。自增、自减运算的含义及其使用实例如表1所示。表1自增、自减......