• java基本数据类型和引用数据类型


    基本数据类型

    基本数据类型是CPU可以直接进行运算的类型。Java定义了以下几种基本数据类型:

    • 整数类型:byte,short,int,long

    • 浮点数类型:float,double

    • 字符类型:char

    • 布尔类型:boolean

    引用类型

    除了上述基本类型的变量,剩下的都是引用类型。例如,引用类型最常用的就是String字符串:

    String s = "hello"

    引用类型的变量类似于C语言的指针,它内部存储一个“地址”,指向某个对象在内存的位置。

    Java的字符串除了是一个引用类型外,还有个重要特点,就是字符串不可变。考察以下代码:

    public class Main {
      public static void main(String[] args) {
        String s = "hello";
        System.out.println(s); // 显示 hello
        s = "world";
        System.out.println(s); // 显示 world
      }
    }

    观察执行结果,难道字符串s变了吗?其实变的不是字符串,而是变量s的“指向”。

    执行String s = "hello";时,JVM虚拟机先创建字符串"hello",然后,把字符串变量s指向它:

          s
          │
          ▼
    ┌───┬───────────┬───┐
    │   │  "hello"  │   │
    └───┴───────────┴───┘
    

    紧接着,执行s = "world";时,JVM虚拟机先创建字符串"world",然后,把字符串变量s指向它:

          s ──────────────┐
                          │
                          ▼
    ┌───┬───────────┬───┬───────────┬───┐
    │   │  "hello"  │   │  "world"  │   │
    └───┴───────────┴───┴───────────┴───┘
    

    原来的字符串"hello"还在,只是我们无法通过变量s访问它而已。因此,字符串的不可变是指字符串内容不可变。

  • 相关阅读:
    字符串转换成整数
    回文字符串判断
    字符串包含
    翻转单词顺序VS左旋转字符串
    穷举子集合
    求S=a+aa+aaa+aaaa+aa...a的值
    数组元素去重
    找最长等差数列的长度
    Git pull and push
    Google 开发console查找元素或方法
  • 原文地址:https://www.cnblogs.com/JercanYu/p/14723060.html
Copyright © 2020-2023  润新知