Java中的原始类型是什么?
原始类型和引用类型之间有什么区别?
Java有多少种原始类型,分别是什么?
Java中的原始类型是什么?
原始类型和引用类型之间有什么区别?
Java有多少种原始类型,分别是什么?
Object
的引用是按值传递的。 - Sufiyan Ghori按引用传递
的。 - Sufiyan Ghori在现实世界中,有不同的“类型”。例如:有许多不同的“车辆类型”:“跑车”用于快速驾驶,“皮卡车”用于携带工具,“卡车”用于运输大量货物,而豪华轿车则用于奢华旅行。
同样地,在Java中,您可以拥有不同的“数据类型”,这些类型具有不同的用途。例如:数字(用于加/减等),“字符串”用于传达单词和字母。您不能使用字母进行加法-这根本没有意义,也不能使用数字编写句子。
现在有一些基本的“数据类型”。这些已由Redmond / Sun的专家创建。这些称为“原始”Java类型,并且它们在自身内部存储值。那是什么意思?最好通过示例来解释:
原始类型示例
如果我给你一张50美元的纸币,那么这张纸币本身就价值50美元。其价值存储在纸币本身中。
原始类型与引用类型对比
想象一下,如果我不是给你50美元,而是给你一张纸,上面写有一个保险箱的地址。这张纸本身并不值50美元,但它指向一个地址,您可以在那里获得50美元。这张纸基本上是一种“引用”类型,因为它不存储任何值,并且本身只是指向某些地址。
但是我可以给您任何地址:飞机、城堡、雨林:任何东西!
您不能从口袋里拿出一架飞机或新干线列车交给别人:您只能将其地址交给他们。与拥有50美元或任何货币类型相比:实际物质在您的口袋中。
以上简述了原始类型和引用类型之间的区别。
(使用幽默的类比来帮助您理解和记忆。)
Java编程语言是一种静态类型语言,这意味着每个变量和每个表达式在编译时都有一个已知的类型。
Java编程语言也是一种强类型语言,因为类型限制了变量[...]可以持有或表达式可以产生的值,限制了支持这些值的操作,并确定了操作的含义。强静态类型有助于在编译时检测错误。
Java编程语言的类型分为两类:原始类型和引用类型。原始类型[...]是布尔类型和数值类型。数值类型是整型byte、short、int、long和char,以及浮点类型float和double。引用类型[...]是类类型、接口类型和数组类型。还有一种特殊的null类型。对象[...]是类类型的动态创建实例或动态创建数组。引用类型的值是对象的引用。所有对象,包括数组,都支持类Object的方法[...]。
Java中的原始类型是非类类型。它们仅存储值。
double d = 3.0;
d.intValue(); //compiler error!
Double d2 = new Double(3.0);
d2.intValue(); //works!
有引用类型、基本类型和 void
。
对于每个基本类型(和 void
),都有一个包装类型,定义了一个常量叫做 TYPE
,它具有基本类型的类。
编译器获取基本类型的类的一种方法是使用 .class
表示法。例如:
Class<Integer> intClass = int.class; // == Integer.TYPE
Class<Void> voidClass = void.class; // == VOID.TYPE
它们是非类类型,仅保存一个值。当传递原始变量时,您传递的是值本身,而不是该值的引用。
Java支持基本数据类型int、double、float等八种。
这些是原始类型数据或基本类型的数据。
boolean、char、byte、short、int、long、double、float
原始类型不是类,但可以用于存储数字和字符等值。
数据类型有两种,原始数据类型和对象引用。 原始数据类型不是对象,它们仅存储实际值,而对象引用变量存储它们所引用对象的地址。