Java 入门2025年4月2日 | 阅读10分钟 Java 是一种面向对象、面向类的编程语言。该语言旨在尽可能减少实现依赖。使用该语言的目的是让开发人员免于为每个平台编写代码。WORA(一次编写,随处运行)这个术语经常与该语言相关联。这意味着当我们编译 Java 代码时,我们会得到字节码(.class 文件),然后可以在支持 Java 的不同平台上执行(无需再次编译)。Java 语言于 1995 年开发。它主要用于开发 Web、桌面和移动设备。Java 语言以其健壮性、安全性和简洁性而闻名。它旨在尽可能减少实现依赖。 历史Java 语言有着非常有趣的历史。Patrick Naughton、Mike Sheridan 和 Jame Gosling(被称为“绿色团队”)于 1991 年开始开发 Java。这些人是 **Sun Microsystems** 的工程师。1996 年,第一个公共实现作为 Java 1.0 发布。Java 1.0 的编译器由 Arthur Van Hoff 重写,以严格遵守其规范。随着 Java 2 的推出,新版本为各种平台构建了多个不同的配置。值得注意的是,James Gosling 也被称为 Java 之父。 1997 年,Sun Microsystems 向 ISO 标准组织提交了将 Java 标准化的申请,但很快撤回了。有一段时间,Sun Microsystems 免费提供了其大部分 Java 实现,尽管它拥有专有软件的地位。 应用程序Java 应用程序的实现包括以下步骤:
值得注意的是,JDK(Java Development Kit)应正确安装在系统上,并且还应设置好路径。 程序创建可以使用文本编辑器(Notepad++ 或 NotePad 或其他编辑器也可以)或 IDE(Eclipse、NetBeans 等)编写 Java 程序。 文件名: TestClass.java 编写上述代码并将文件保存为 TestClass。文件应具有 .java 扩展名。 程序编译 打开命令提示符,然后键入 javac TestClass.java。javac 是使 Java 编译器开始工作的命令,用于编译 Java 程序。在命令之后,我们必须 put 需要编译的文件名。在本例中,它是 TestClass.java。键入后,按 Enter 键。如果一切顺利,将生成一个 TestClass.class 文件,其中包含字节码。如果程序中有错误,编译器会指出,并且不会创建 TestClass.class。 运行/执行程序 创建 .class 文件后,键入 java TestClass 运行程序。程序输出将显示在控制台上,如下所示。 输出 Hello World is my first Java Program. Java 这个名字最初,该语言被命名为 Oak。然而,团队决定应该给该语言起一个新名字,并建议了 DNA、Revolutionary、Jolt、Dynamic、Silk 等词。所有这些名字都很有趣且易于拼写。但这些名字缺少了团队想要的语言的精髓。根据 James Gosling 的说法,Java 和 Silk 是两个最受欢迎的选择,因为 Java 有一个独特的名字,大多数人都更喜欢它。 Java 也是印度尼西亚的一个岛屿名称,那里生产咖啡(名为 Java Coffee)。James Gosling 选择 Java 这个名字是因为他当时正在办公室附近喝咖啡。读者应注意,Java 不是首字母缩略词。它只是一个名字。 Java 中的术语JVM (Java 虚拟机): JVM 是一个规范,它提供了一个运行时环境,Java 字节码在该环境中执行。**每当使用命令** java时,就会创建一个 JVM 实例。JVM 提供了内存区域、寄存器集、类文件格式和致命错误报告的定义。请注意,JVM 是平台相关的。 字节码: 在介绍部分已经讨论过,Java 编译器编译 Java 代码以生成 .class 文件或字节码。必须使用 javac 命令来调用 Java 编译器。 Java Development Kit (JDK): 这是完整的 Java Development Kit,包含一切,包括 JRE(Java Runtime Environment)、编译器、Java 文档、调试器等。必须在计算机上安装 JDK 才能创建、编译和执行 Java 程序。 Java Runtime Environment (JRE): JRE 是 JDK 的一部分。如果系统只安装了 JRE,那么用户只能运行程序。换句话说,只有 java 命令有效。Java 程序将无法编译(javac 命令将不起作用)。 垃圾回收器: 程序员无法在 Java 中删除对象。为了做到这一点,JVM 有一个称为垃圾回收器的程序。垃圾回收器回收或删除未引用的对象。垃圾回收器使开发人员/程序员的生活轻松,因为他们不必担心内存管理。 Classpath: 顾名思义,Classpath 是 Java 编译器和 Java 运行时搜索 .class 文件以加载的路径。JDK 提供了许多内置库。但是,如果有人想使用外部库,应该将其添加到 classpath 中。 Java 的主要特性平台无关性: Java 编译器不是直接生成 .exe 文件,而是将 Java 代码转换为字节码,并且可以在不同平台上执行此字节码而没有任何问题,这使得 Java 成为一种平台无关的语言。请注意,为了执行字节码,必须在系统上安装 JVM,而 JVM 是平台相关的。 面向对象编程语言: 面向对象编程的概念基于对象和类的概念。此外,面向对象编程还存在几个特性。下面列出其中一些。
Java 语言还广泛使用类和对象的概念。此外,上面提到的所有这些特性都存在于 Java 中,这使得 Java 成为一种面向对象编程语言。请注意,Java 是一种面向对象编程语言,但并非 100% 面向对象。 简单: Java 被认为是一种简单的语言,因为它没有指针、多重继承、显式内存分配或运算符重载的概念。 健壮Java 语言非常健壮。健壮意味着可靠。Java 语言的开发方式是在尽可能早的时候进行大量的错误检查。正是因为这个原因,该语言可以识别出其他编程语言中难以识别的错误。异常处理、垃圾回收和内存分配是使 Java 健壮的特性。 安全: Java 语言中无法利用缓冲区溢出或堆栈损坏等几种错误。我们知道 Java 语言没有指针。因此,无法访问越界数组。如果有人尝试这样做,则会引发 ArrayIndexOutofBoundException。此外,Java 程序的执行发生在与操作系统完全独立的 Java 环境中,这使得该语言更加安全。 分布式: 可以借助 Java 语言创建分布式应用程序。企业 Java Bean 和远程方法调用 (RMI) 用于创建分布式应用程序。Java 程序可以轻松地在通过互联网连接的一个或多个系统之间进行分发。 多线程: Java 语言支持多线程。多线程特性支持程序两个或多个部分的并发执行。因此,CPU 的利用率最大化。 可移植性: 我们知道 Java 是一种平台无关的语言。因此,在一个系统上生成的字节码可以在任何其他平台上执行,这使得 Java 具有可移植性。 高性能: Java 的架构设计旨在减少运行时开销。在某些地方,Java 使用 JIT(即时)编译器,在按需编译代码时,编译器只编译被调用的方法,从而加快应用程序的执行速度。 动态灵活性: Java 语言遵循面向对象编程范例,这使我们能够自由地将新方法和类添加到现有类中。Java 语言还支持 C/C++ 语言中提到的函数,这些函数通常被称为本地方法。 沙箱执行: 众所周知,Java 程序在不同的环境中执行,这使得用户可以使用字节码验证器执行自己的应用程序而不影响底层系统。字节码验证器通过检查代码是否存在访问违规来提供额外的安全性。 一次编写,随处运行: Java 代码由编译器编译以获得 .class 文件或字节码,该字节码与任何机器架构完全无关。 编译和解释语言: 大多数语言要么是解释型语言,要么是编译型语言。然而,在 Java 语言的情况下,它是编译型语言,也是解释型语言。Java 代码被编译以获得字节码,然后字节码由基于软件的解释器解释。 一些 Java 程序下面介绍了一些基本的 Java 程序。程序 - 1 文件名: DemoClass.java 输出 Welcome to javaTpoint. 程序 - 2 文件名: AddMul.java 输出 Sum = 26 Product = 168 程序 - 3 文件名: ComputeAv.java 输出 Input the First Number: 4 Input the Second Number: 5 Average = 4.5 程序 - 4 文件名: FahrenheitCelsius.java 输出 Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0 程序 - 5 文件名: TriangleArea.java 输出 Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016 上述程序中使用的各种关键字说明//: 它用于在代码中添加注释,使读者更容易阅读。编译器在编译程序时会完全忽略注释。对于多行注释,我们使用:/* … */ main() 方法: 程序中最重要的方法,执行从这里开始。因此,所有逻辑都必须包含在 main 方法中。如果 main() 方法不包含逻辑,那么逻辑将存在于其他方法中,但必须直接或间接从 main() 方法调用该方法。 class: 关键字 class 用于在 Java 语言中声明类。 void: 表示函数或方法将不返回任何内容。 System.out.println(): 用于在控制台上打印语句、模式等。 String argvs[]: 这是一个命令行参数,用于获取输入。 public: 这是一个访问修饰符关键字。当它应用于方法时,该方法对所有人都可见。其他访问修饰符关键字是 private、protected 和 default。 import java.io.*: 表示包 java.io 中的所有类都已导入。java.io 包提供了用于读取和写入文件数据的输入和输出流。* 表示全部。如果只想导入特定类,则将 * 替换为类的名称。 System.in: 这是输入流,用于从输入设备(通常是我们这里的键盘)读取字符。 static void main(): static 关键字表示该方法可以在不实例化类的情况下访问。 System.out: 就像 System.in 用于读取字符一样,System.out 用于在输出设备(如计算机屏幕)上给出程序结果。 double, int: 不同的数据类型,int 用于整数,double 用于双精度数。其他数据类型有 char、boolean、float 等。 println(): 该方法在控制台上显示文本。该方法将文本打印到屏幕,然后移动到下一行。对于下一行,使用 ln。如果我们不希望光标移到下一行,请使用 print() 方法。 下一个主题Java Lambda foreach |
多态是面向对象编程 (OOP) 中的一个基本概念。多态这个词指的是多种形式的存在。这种能力增强了代码的灵活性、模块化和可维护性。Java 中有两种类型的多态:编译时多态(静态多态)和运行时多态(动态多态)。编译时多态(静态绑定)编译时...
5 分钟阅读
java.util 包包含 IntSummaryStatistics 类。在对整数流执行操作时,它接受 Integer 对象集合,并且可能非常有效。它跟踪已处理的数字数量、它们的总和以及...
阅读 3 分钟
Java 的 Set 接口代表一个包含重复元素的集合,它是 Java 集合框架的一部分。当需要保留元素的唯一性时,经常使用它。然而,除了特定实现外,Set 默认情况下不保留...
5 分钟阅读
Java 多线程中 start() 和 run() 方法的区别 多线程是 Java 的核心功能,它允许程序两个或多个部分的并发执行,从而最大限度地利用 CPU。Java 提供了 Thread 类和 Runnable 接口来实现...
5 分钟阅读
在计算和算法设计领域,数据集的中位数是人们面临的一种常见问题。中位数是按值升序索引的值分布的中点,是另一种集中趋势度量。然而,当...
阅读 4 分钟
Java 是一种面向对象的编程语言,用于设计和开发桌面和 Web 应用程序。我们可以在任何平台上运行 Java 代码,因此它是平台无关的。要编写任何编程语言的代码,我们需要一个文本编辑器...
7 分钟阅读
在 Java 编程领域,图形用户界面 (GUI) 在提供用户友好和交互式体验方面起着至关重要的作用。GUI 组件是这些界面的构建块,允许开发人员设计和创建复杂的应用程序。在这些组件中,有两个基本概念脱颖而出:...
阅读 3 分钟
Java 中的 Read-Eval-Print Loop (REPL) Read-Eval-Print Loop 或 REPL 是一个 shell 接口。该接口读取并评估每一行输入,然后打印结果。Read-Eval-Print Loop 帮助我们与特定状态下的应用程序运行时进行交互。命令是...
5 分钟阅读
一次性密码 (OTP) 被广泛用于保护在线交易和访问各种资源。一次性密码生成器是一种设备或软件应用程序,它生成一个仅对单个登录会话或交易有效的唯一代码。本文将教我们如何实现...
7 分钟阅读
在 Java 中,String 是不可变的,意味着一旦创建就无法更改。这使得它对于频繁修改的文本效率较低。相反,StringBuffer 是可变的且线程安全的,非常适合频繁更改字符串,尤其是在多线程环境中。Java String 在 Java 中,String 用于表示序列...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India