42

Java中的原始类型是什么?

原始类型和引用类型有什么区别?

Java 有多少种原始类型,它们是什么?

4

14 回答 14

53

在 Java 中,每个变量都有一个在源代码中声明的类型。有两种类型:引用类型和原始类型。引用类型是对对象的引用。原始类型直接包含值。有 8 种原始类型:

  • 字节
  • 短的
  • 整数
  • 字符
  • 漂浮
  • 双倍的
  • 布尔值
于 2012-05-03T11:41:15.857 回答
7

人们所说的“类型”是什么意思?

例如,在现实世界中,您拥有不同类型的车辆。每个都有不同的目的。您有用于快速驾驶的跑车、用于携带工具的 ute、用于运输大量货物的卡车以及用于豪华旅行的豪华轿车。同样,在 Java 中,您可以拥有用于不同目的的不同类型的数据,例如,您可以拥有数字(用于加/减等),您可以拥有用于交流单词和字母的“字符串”。你不能用字母来加——那是没有意义的,你也不能用数字来写一个句子。你必须使用正确的数据类型来做任何你想做的事情。

原语与引用类型 - 这是什么意思?有什么不同?

现在有一些基本的数据“类型”。这些已经由 Redmond/Sun 的研究人员创建。这些被称为“原始”Java 类型,它们将值存储在自己内部。这意味着什么?最好通过示例来解释:

原始类型示例

如果我给你一张 50 美元的钞票,那么这张钞票本身就值 50 美元。该值存储在便笺本身中。

原语与引用类型并列

现在想象一下,我没有给你 50 美元,而是给你一张纸,上面写着我在瑞士银行的保险箱的地址。我给你的那张纸本身不值 50 美元,但它指向了一个地址,你可以在那里得到 50 美元。这张纸基本上是一种“引用”类型,因为它本身不存储任何值,它只是指向某些地址。但我可以给你任何东西的地址:飞机、城堡、雨林:任何东西!

概括

你不能只是从你的后兜里把飞机或新干线火车递给某人:你只需给他们一个地址。但如果你有 50 美元,或任何类型的货币:实际物品就在你的后兜里。你不会给他们一张 50 美元钞票的藏宝图。

简而言之,就是原始类型和引用类型之间的区别。

我希望它有所帮助。

于 2016-10-27T21:47:12.060 回答
6

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

Java 编程语言是一种静态类型语言,这意味着每个变量和每个表达式都有一个在编译时已知的类型。

Java 编程语言也是一种强类型语言,因为类型限制了变量 [...] 可以保存的值或表达式可以产生的值,限制了对这些值支持的操作,并确定了操作的含义。强静态类型有助于在编译时检测错误。

Java 编程语言的类型分为两类:原始类型和引用类型。原始类型 [...] 是布尔类型和数字类型。数字类型是整数类型 byte、short、int、long 和 char,浮点类型是 float 和 double。引用类型 [...] 是类类型、接口类型和数组类型。还有一种特殊的空类型。对象 [...] 是类类型的动态创建的实例或动态创建的数组。引用类型的值是对对象的引用。所有对象,包括数组,都支持 Object [...] 类的方法。

于 2012-05-03T12:03:38.353 回答
4

Java 中的原始类型是非类类型。它们只存储值。

double d = 3.0;
d.intValue();  //compiler error!
Double d2 = new Double(3.0);
d2.intValue();  //works!
于 2012-05-03T11:40:21.123 回答
3

有引用类型、基元类型和void

对于每个原始类型(和void),都有一个包装类型,它定义了一个名为的常量,该常量TYPE具有原始类型的类。

获取原始类型的类的编译器方法是使用.class符号。例如

Class<Integer> intClass = int.class; // == Integer.TYPE
Class<Void> voidClass = void.class; // == VOID.TYPE
于 2012-05-03T11:44:53.503 回答
1

它们是仅包含值的非类类型。在传递原始变量时,您传递的是值本身而不是值的引用。

于 2012-05-03T11:44:06.810 回答
1

java支持基本数据类型int、double、float等共八种。这些是原始类型数据或数据的基本类型。

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

于 2012-05-03T11:50:52.157 回答
1

任何内置于编程语言的数据类型都称为原始数据类型。作者可以互换使用原始或内置或基本数据类型的词。Java 中的原始数据类型由 Java 编程语言作为基本构建块提供,因此它们被称为 Java 的原始类型。Java 还允许程序员定义自己的类型(用户定义类型)。对于原始类型,Java 具有内置支持。原始类型由 Java 语言预定义并由保留关键字命名。Java 支持 8 种内置数据类型,程序员不能修改它们的基本行为和支持的操作。

于 2013-12-16T08:51:24.093 回答
1

原始类型不是类,但可用于存储数字和字符等值。

  • 字节
  • 短的
  • 整数
  • 字符
  • 漂浮
  • 双倍的
  • 布尔值
于 2012-05-03T12:06:59.217 回答
1

有两种类型的数据类型,原始和对象引用。原始数据类型不是对象,它们只存储实际值,而对象引用变量存储它们所引用的对象的地址。

于 2016-04-07T23:11:49.097 回答
1

原始的实际含义是数据类型是否是类。Java 不是纯面向对象的语言,因为在 java 中数据类型不是原始意味着数据类型不是类。

Eg:- int a; a=10;

/*Integer a=new Integer();
     a=10;
*/not possible

而在 c# 中,数据类型是类,这就是为什么它是纯面向对象的语言

于 2015-09-19T16:43:09.577 回答
0

Java 编程语言支持的八种原始数据类型:

  • byte - 它是 8 位有符号二进制补码整数。它的最小值为 -128,最大值为 127。

  • short - 它是一个 16 位有符号二进制补码整数。它的最小值为 -32,768,最大值为 32,767。

详细解释点击这里

于 2013-08-18T11:30:37.630 回答
0

数据类型有两种划分,分别是primitivesreference。原语将代表以下内容

  • 数字
  • 布尔值
  • 漂浮
  • 双倍的
  • 字符

根据我们的数字

  1. 字节:-128 到 127
  2. 空头:-32,768 至 32,767
  3. 整数:-2^31 到 2^31
  4. 长:-2^63 到 2^63 - 1

这些将代表数字并具有不同的内存分配以节省内存,我们可以有效地使用它。在 int 和 long 中,我们有签名和未签名。无符号以 min=0 开头。

于 2017-03-29T09:00:56.343 回答
0

在Java中有两种类型,

  • 原始类型
  • 引用类型

原始类型

原始类型直接包含值。

int i = 24;

有8种原始类型,

  1. 字节
  2. 短的
  3. 整数
  4. 字符
  5. 漂浮
  6. 双倍的
  7. 布尔值

引用类型

引用类型是对对象的引用。当您在 Test.java 类中创建新的 Test 对象时,会有引用类型

Test t = new Test();

特别是 String 是一种引用类型。它不是原始类型。有两种方法创建 String 对象。

String s = "abc";

String y = new String("abc");
于 2017-10-31T09:21:09.770 回答