zoukankan      html  css  js  c++  java
  • java基本数据类型和引用类型

    java的八个基本数据类型

    byte、short、int、long、char、boolean、float、double

    注意integer是int的封装类,是引用类型。int的默认值是0,integer的默认值是null。所以integer是能够区分0和null的区别的。一旦java看到null就表明该引用没有执行任何对象。

    任何一个引用在使用前,必须为其指定一个对象,否则会报错。

    基本数据类型在声明时系统就会为其自动分配空间,而引用类型声明时只是为其分配了引用的空间,需要通过实例化开辟出来的数据空间后才能赋值。

    注意:数组对象也是一个引用对象,将一个数组复制给另一个数组只是复制了一个引用,所以通过某一个数组所做的修改,在另一个数组也能看见。

    代码演示:

    package com.shine;
    
    import java.util.Arrays;
    
    /**
     * @Author: Shine EtherealWind
     * @Date: create in 11:24 2021/11/17
     */
    public class UsualTest {
        public static void main(String[] args) {
            System.out.println("1.=====声明数组 arr,打印arr");
            char[] arr = {'a','b','c','d','e','f','g'};
            System.out.println("arr:"+ Arrays.toString(arr));
    
            System.out.println("2.=====将数组arr复制给 bakarr,打印bakarr");
            char[] bakarr = arr;//将数组arr复制给 bakarr
            System.out.println("bakarr:"+Arrays.toString(bakarr));
            System.out.println("3.=====修改数组arr并且打印 bakarr");
            arr[0] = 'A';//修改arr数组
            System.out.println("bakarr:"+Arrays.toString(bakarr));
        }
    }

    执行结果:

     从结果可以看见 代码中虽然改的是arr这个引用:

    arr[0] = 'A';//修改arr数组

    但是其复制的bakarr结果却变了。

    由此可以得到声明时只是引用对象, arr 和bakarr 都是指向一个实例对象。

  • 相关阅读:
    《你早该这么玩Excel》书摘
    如何提高你的移动开发中AS3/AIR性能
    Starling之资源管理类
    新版Chrome手动安装flashplayer plugin无效的问题
    常用排序算法比较
    pureMVC框架
    AS3.0的事件机制
    如何成为强大的程序员?
    Starling实现的3D云彩效果
    EnterFrame和Timer区别
  • 原文地址:https://www.cnblogs.com/EtherealWind/p/15593707.html
Copyright © 2011-2022 走看看