繁体   English   中英

为什么Java原始数据类型不称为Java数据类型?

[英]Why aren't Java Primitive Data Types called java data types?

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

因为Java不仅具有原始类型,还具有更多的数据类型。 基本数据类型为:

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

非基本数据类型是引用数据类型,是对object的引用。

一些例子是:

  • String
  • Integer
  • ArrayList
  • Random
  • JFrame

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

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

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

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

替代文字

区分它们和对象

因为Java中有两类类型。

根据Java语言规范的第4章:类型,值和变量

Java编程语言的类型分为两类:基本类型和引用类型。 基本类型(第4.2节)boolean类型和数字类型。 数值类型是整数类型byteshortintlongchar ,浮点类型floatdouble 引用类型(第4.3节)是类类型,接口类型和数组类型。 还有一个特殊的空类型。 对象(第4.3.1节)是动态创建的类类型的实例或动态创建的数组。 引用类型的值是对对象的引用。 所有对象(包括数组)都支持Object(第4.3.2节)的方法 字符串文字由String对象(第4.3.3节)表示

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

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

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

因此,我的理解是将Java数据类型描述为“原始数据类型”,以将其置于其他语言的上下文中。 从没有对象身份的意义上来说,它们是“数据类型”,从特定的类型由Java语言定义(并且是Java语言的基础)的意义上来说,它们是“原始的”。

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

区分对象数据类型。

因为引用类型也可以视为数据类型。 基元被视为值类型。 两者都可以视为数据类型。

非原始类型称为Java引用类型,它们的名称以大写字母开头。 例如:Integer,Float等。对于非基本类型,我们可以创建实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM