Java 里的基本类型和引用类型_java基本类型与引用类型

createh51个月前 (02-11)技术教程11
有天赋是一回事,有动力去深究细微之处却是另一回事。 
                                        ————科比·布莱恩特


Java 里的数据类型分为 基础数据类型引用数据类型

基础数据类型 在 Java 里只有 8 种:

  1. byte——整型,1 字节;
  2. short——整型,2 字节;
  3. int——整型,4 字节;
  4. long——整型,8 字节;
  5. float——浮点型,4 字节;
  6. double——浮点型,8 字节;
  7. boolean——布尔型,1 字节;
  8. char——字符型,2 字节。

一个字节等于 8 位。一位(one bite)在计算机里只有 0 或 1 两个值。所以位数就决定了基本数据类型的表数范围。

引用数据类型

引用的数据类型占的地方通常比较大,类型也比较多,而且还一直在增长。

谁都可以创建自己的类型,像标准类型一样使用它。

最常用的引用类型是 String、ScannerArrays

记住,大小写敏感的。

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

基本类型真的存放值;

但是引用类型存的是值的引用(在内存里放地址,这个地址指向数据真正的地方)。

引用类型下,数据就可以被呈现为一种复杂的结构,可以包含其他类型的数据作为他们的一部分。

有两种内存空间:堆、栈。

所有的基本类型存在栈里,引用类型的变量存在 heap memory(堆内存)。

我们以最常见的引用类型之一 String 来做一个简单的解释。

如上图,其实是以下代码的说明:

String java = "java";
String language = "java";
int b = 100;
int a = 100;
复制代码

int 声明的 a 和 b 是基本数据类型,在左边的栈里就直接存了他对应的值; 而 String 声明的 java 和 language 都是引用数据类型,在左边的栈里存的是值的引用,也就是值所对应的内存地址:B10,真正的值 “java” 存在堆里的一个地方。 java 和 language 对应的值一样,所以他们共享了堆里同一个真正的值。

如果是用 == 来判断呢? 答案 true,因为 ==比较的是地址。

那什么时候两个一样的字符串,用 == 判断会等于 false呢?

当你用 new 来创建的时候,就相当于告诉程序,要开辟一块新的空间,不要跟之前的去共享了,此时返回的就是 false。

你可能要说,那值本来就是一样的啊,所以说,如果想要比较引用类型对应的值是否相同,要用 equals,就会经过一番处理,然后比较引号里的值是否相同:

相关文章

java 整型类型_Java基本类型-整型解读

java的基本类型包括以下几类:整型 byte short int long浮点型 float double字符型 char布尔型 boolean它们都有对应的包装类型(如果没有特殊说明,下面都是说包...

整型数据类型有哪些?有哪些表现形式?

整型用于表示没有小数部分的数值,它允许是负数。整型的范围与运行 Java 代码的机器无关,这正是 Java 程序具有很强移植能力的原因之一。与此相反,C 和 C++程序需要针对不同的处理器选择最有效的...

Java中的数据类型_java里面的数据类型

4.数据类型4.1 java中的数据类型分为两大类:基本数据类型和引用类型。基本数据类型:数值型 byte[1],short[2],int[4],long[8]浮点型 float[4],double[...

Java中的顺序语句结构:编程世界的“流水线”

在Java编程中,顺序语句结构是最基础、最常见的代码执行方式。它就像一条流水线,按照从上到下的顺序依次执行每一条语句。无论是初学者还是资深开发者,理解顺序语句结构都是掌握Java编程的关键一步。本文将...

Java 17的这些新特性,Java迈入新时代

前言2021年9月14日Java 17发布,作为新时代的农民工,有必要了解一下都有哪些新东西。Java 17是Java 11以来又一个LTS(长期支持)版本,Java 11 和Java 17之间发生了...