Java 中的非原始数据类型2025 年 5 月 13 日 | 阅读 6 分钟 数据类型定义了变量中存储的数据的类型。类型指定了数据的种类(不同的尺寸和值)。 Java 编程语言有两种数据类型
在本节中,我们将了解 **非原始数据类型**、它们在 Java 中的用途和实现。 非原始数据类型与原始数据类型不同,这些不是预定义的。它们是程序员创建的用户定义数据类型。这些数据类型用于存储多个值。 例如,考虑一个存储一组值的 数组。类也是一种原始类型,它存储不同的方法和变量。因此,它们也被称为 Java 中的 **高级数据类型**。 每当定义非原始数据类型时,它都会引用一个内存位置,该位置在堆内存中存储数据,即它引用对象所在的内存位置。因此,非原始数据类型变量也称为 **引用数据类型** 或 **简称为对象引用变量**。 对象引用变量存在于栈内存中,它指向的对象始终存在于堆内存中。栈保存指向堆上对象的指针。 在 Java 编程中,所有非原始数据类型都简单地称为通过实例化类创建的对象。 要点
非原始数据类型的类型Java 中有五种非原始数据类型。它们如下:
1. 类和对象Java 中的 类 是用户定义的数据类型,即由用户创建。它充当数据模板,包含成员变量和方法。 对象 是类的变量,可以访问类中的元素,即方法和变量。 示例 在下面的示例中,我们正在创建一个包含变量和方法(**add() 和 sub()**)的类。在这里,我们使用类 **obj** 的对象来访问方法。 ClassExample.java 输出 Addition of numbers is: 30 Subtraction of numbers is: 10 2. 接口接口 类似于类,但唯一的区别是它的方法默认是抽象的,即它们没有方法体。接口只有 final 变量和方法声明。它也被称为完全抽象类。 注意:如果类实现了接口,则必须实现该接口的所有方法。否则,必须将类声明为 abstract。示例 在下面的示例中,我们正在创建带有两个抽象方法(**multiply() 和 divide()**)的接口 CalcInterface。在这里,类 InterfaceExample 实现该接口,并进一步定义该接口的方法。然后,使用类对象来访问这些方法。 InterfaceExample.java 3. String字符串表示一个字符序列,例如“Javatpoint”、“Hello world”等。String 是 Java 的一个类。 创建字符串并为其赋值的一种方法如下所示: 在这里,String 类型变量 **str** 的值为“You're the best”。单击此处了解有关 Java 中的 String 的更多信息。 示例 在下面的示例中,我们正在创建一个带有值的字符串。在这里,我们使用 String 类的一个方法 **substring()**,该方法打印字符串中指定索引的部分。 StringExample.java 输出 Hello! This is 4. 数组数组 是一种数据类型,它可以在一个序列中存储多个同构变量,即相同类型的数据。它们以从索引 0 开始的索引方式存储。变量可以是原始数据类型,也可以是非原始数据类型。 以下示例显示了如何声明原始数据类型 **int** 的数组 以下示例显示了如何声明非原始数据类型的数组 其中,**Student** 是类名,[ ] 创建了对象 **students** 的数组。 示例 在下面的示例中,我们创建了两个基本数组,其中一个已初始化,另一个已声明(输入从用户读取)。此外,我们使用 for 循环打印这些数组。 ArrayExample.java 输出 Enter the numbers (size = 5) : 56 43 22 1 7 Previous array with initialized size is: 1 2 3 6 9 The new array we have entered is: 56 43 22 1 7 Java 中原始数据类型和非原始数据类型的区别
下一主题Java 中的非泛型与泛型集合 |
一个数字的超阶乘是连续数字从 1 到该数字的乘积,其中每个数字都以其幂次表示。数学上,H(p) = 1 ^ 1 × 2 ^ 2 × 3 ^ 3 × 4 ^ 4 × ...
阅读 4 分钟
Evil number 是 Java 中另一种特殊的正整数,其二进制表示中包含偶数个 1。与质数和阿姆斯特朗数不同,Evil number 不那么受欢迎,面试官也不会经常问。不是 Evil number 的数被称为 odious...
阅读 3 分钟
如何在 Java 中编写测试用例?测试用例是软件创建时需要测试的条件。在用 Java 编写测试用例之前,我们需要了解什么是测试用例。本节将简要介绍测试用例和...
阅读9分钟
Java 中有一个内置函数称为 DoubleAdder.intValue(),它遵循窄化原始转换,返回 sum() 的 int 值。该类对象的初始值为零。语法:public int intValue() 参数:此方法没有任何参数。返回...
阅读 3 分钟
在 Java 中生成随机字符串是一个简单的概念,通常用于构建 ID、临时密码、会话令牌或其他需要字母数字字符串的场景。有几种方法可以使用不同的类和...
阅读 13 分钟
java.io 包提供了 CharacterStream 类来克服 ByteStream 类的限制,ByteStream 类只能处理 8 位字节,并且不能直接与 Unicode 字符兼容。CharacterStream 类用于处理 16 位 Unicode 字符。它们可以执行操作...
阅读 3 分钟
队列是一种可以通过数组或链表实现的数据结构。在这里,我们简要介绍了使用数组实现队列的过程。队列 队列是一种基于先进先出...
阅读 4 分钟
在 Java 中找到给定数字阶乘的最后两位数是一项常见的数学计算。该任务涉及计算阶乘并仅提取结果的最后两位数字。Java 提供了各种方法来实现这一点。考虑一个整数 Num;...
5 分钟阅读
旧的 java.Date 类实际上功能不丰富,Java 8 推出了新的日期-时间 API。util. Date 和 java. util. Calendar 类。之前的类不是不变的;它们不是为多线程设计的,并且具有复杂且容易出错的方法。早先...
阅读 4 分钟
在 Java 中,字面量是源代码中表示固定值的符号。在词法分析中,给定类型的字面量通常称为标记。在本节中,我们将讨论 Java 中的字面量一词。Java 中的字面量是常量值...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India