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

194 阅读3分钟

数据类型

Java 语言支持的数据类型分为两种

  1. 基本数据类型
  2. 引用数据

一、基本数据类型

包括 boolean(布尔型)、float(单精度

浮点型)、char(字符型)、byte(字节型)、short

(短整型)、int(整型)、long(长整型)和 double

(双精度浮点型)共 8 种。

基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。有如下特点: 1、基本数据类型的值是不可变的(我们不能给基本数据类型添加属性和方法); 2、基本数据类型的比较是值的比较(只有他们的值相等的时候才是相等的); 3、基本数据类型的变量是存放在栈里面的

数据类型关键字占用内存取值范围
字节型byte1字节-128~127
短整型short2字节-32768~32767
整型int4字节-2147483648~2147483647
长整型long8字节-9223372036854775808L~9223372036854775807L
单精度浮点型float4字节+/-3.4E+38F(6~7 个有效位)
双精度浮点型double8字节+/-1.8E+308 (15 个有效位)
字符型char2字节ISO 单一字符集
布尔型boolean1字节true 或 false

二、引用类型

对象是属性和方法的集合,也就是说引用数据类型可以拥有属性和方法,属性又可以包括基本数据类型和引用数据类型。有如下特点: 1、引用数据类型可以拥有属性和方法,且值是可变的; 2、引用数据类型的值是同时保存在栈内存和堆内存的对象

char类型:

char = 97; 正确的 //97是编码对应的码值codePoinAt 。

编码和数字之间的转换:

栈内存:读写速度快,存储基本类型,引用类型的 变量。

堆内存:存储对象,内存动态分配。

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

基本类型的演示:

 public static void main(String[] args){
        int A=12;
        System.out.println("改前为"+A);

        change(A);
        System.out.println("改后为"+A);

    }
    public static void change(int z){
            z*=2;
            System.out.println("方法内为"+z);
        }

1677151924445.png

引用类型的演示:

将数组转换成字符串输出

public static void main(String[] args){
    String [] books = new String[] {"javascript","java","spring"};
    //将数据转换为字符串输出
    System.out.println(Arrays.toString(books));
}

更改数组中的元素值

public static void main(String[] args){
    String [] books = new String[] {"javascript","java","spring"};
    //将数据转换为字符串输出
    System.out.println("改前为:"+Arrays.toString(books));
    
    //调用方法
    conversion(books);
     System.out.println("改后为:"+Arrays.toString(books));
}

public static void conversion(String[] test){
    //通过下表更改,默认从0开始
    test[0]="mysql";
    test[1]="jsp";
    test[2]="mybaits";
    System.out.println("方法内为:"+Arrays.toString(test));
}

1677150598242.png

附带一个面试题:

判断下面两段代码的正确性,并指出原因

//代码1
short s=1;
s=s+1;

//代码2
short s=1;
s+=1;

答案:代码1是错误的,代码2是正确的

原因:整型在Java中默认为整型,所以对于代码1等价于 int=short+1.

注意:小数默认为双精度浮点型。