7

我有一个问题,为什么 Java 原始数据类型不只是称为“Java 数据类型”或类似的东西?

4

9 回答 9

18

因为 Java 有更多的数据类型而不仅仅是原语。原始数据类型有:

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

非原始数据类型是引用数据类型,它是对对象的引用。

一些例子是:

  • String
  • Integer
  • ArrayList
  • Random
  • JFrame

这是两种类型之间差异的简单示例:

int i1 = 10;
Integer i2 = Integer.valueOf(10);

int i1是原始数据类型的变量,int原始int值为 10。

Integer i2是一个引用数据类型为 的变量Integer,引用一个Integer包含该值的对象10

于 2009-06-09T13:21:03.057 回答
13

替代文字

于 2009-06-09T16:25:17.170 回答
4

要区分它们和Objects

于 2009-06-09T13:20:52.370 回答
2

因为Java中有两类类型。

来自Java 语言规范,第 4 章:类型、值和变量

Java 编程语言的类型分为两类:原始类型和引用类型。原始类型(第 4.2 节)boolean类型和数字类型。数字类型是整数类型byteshortintlongchar,以及浮点类型floatdouble。引用类型(第 4.3 节)是类类型、接口类型和数组类型。还有一种特殊的空类型。对象(第 4.3.1 节)是类类型的动态创建实例或动态创建的数组。引用类型的值是对对象的引用。所有对象,包括数组,都支持类的方法Object (§4.3.2). 字符串文字由String对象表示(§4.3.3)
于 2009-06-09T14:18:43.097 回答
1

将它们与对象数据类型区分开来。

于 2009-06-09T13:20:56.100 回答
1

因为引用类型也可以被认为是数据类型。原语被认为是值类型。两者都可以被认为是一种数据类型。

于 2009-06-09T13:21:26.130 回答
1

对象也是变量,因此术语“原始”用于区分这些类型。

于 2015-03-08T04:35:39.667 回答
1

要了解原因,我认为您需要查看 Java 以外的编程语言。例如:

  • 在 C++ 中,有原始数据类型(intdouble等)、构造数据类型(struct等)和对象/引用类型。

  • 在 Ada 中有原始数据类型,以及从原始类型派生的其他数据类型;例如范围类型。

所以,我的理解是,Java 数据类型被描述为“原始数据类型”,以便将它们放入其他语言的上下文中。它们是“数据类型”,因为它们没有对象标识,它们是“原始的”,因为特定类型由 Java 语言定义(并且是 Java 语言的基础)。

于 2012-05-03T13:07:36.553 回答
0

非原始类型称为 java 引用类型,它们的名称以大写字母开头。例如:整数、浮点数等。对于非基元,我们可以创建实例。

于 2009-07-29T18:48:17.107 回答