Java 教程
- Java - 首页
- Java - 概述
- Java - 历史
- Java - 特性
- Java 与 C++
- JVM - Java 虚拟机
- Java - JDK 与 JRE 与 JVM
- Java - Hello World 程序
- Java - 环境搭建
- Java - 基本语法
- Java - 变量类型
- Java - 数据类型
- Java - 类型转换
- Java - Unicode 系统
- Java - 基本运算符
- Java - 注释
- Java - 用户输入
- Java - 日期和时间
Java 控制语句
- Java - 循环控制
- Java - 决策
- Java - if-else
- Java - switch
- Java - for 循环
- Java - for-each 循环
- Java - while 循环
- Java - do-while 循环
- Java - break
- Java - continue
面向对象编程
- Java - 面向对象编程概念
- Java - 对象和类
- Java - 类属性
- Java - 类方法
- Java - 方法
- Java - 变量作用域
- Java - 构造函数
- Java - 访问修饰符
- Java - 继承
- Java - 聚合
- Java - 多态
- Java - 方法重写
- Java - 方法重载
- Java - 动态绑定
- Java - 静态绑定
- Java - 实例初始化块
- Java - 抽象
- Java - 封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java - 静态类
- Java - 匿名类
- Java - 单例类
- Java - 包装类
- Java - 枚举
- Java - 枚举构造函数
- Java - 枚举字符串
Java 内置类
Java 文件处理
Java 错误和异常
- Java - 异常
- Java - try-catch 块
- Java - try-with-resources
- Java - 多重 catch 块
- Java - 嵌套 try 块
- Java - finally 块
- Java - throw 异常
- Java - 异常传播
- Java - 内置异常
- Java - 自定义异常
Java 多线程
- Java - 多线程
- Java - 线程生命周期
- Java - 创建线程
- Java - 启动线程
- Java - 线程连接
- Java - 线程命名
- Java - 线程调度器
- Java - 线程池
- Java - 主线程
- Java - 线程优先级
- Java - 守护线程
- Java - 线程组
- Java - 关闭钩子
Java 同步
Java 网络编程
- Java - 网络编程
- Java - 套接字编程
- Java - URL 处理
- Java - URL 类
- Java - URLConnection 类
- Java - HttpURLConnection 类
- Java - Socket 类
- Java -泛型
Java 集合
Java 接口
Java 数据结构
Java 集合算法
高级 Java
- Java - 命令行参数
- Java - Lambda 表达式
- Java - 发送邮件
- Java - Applet 基础
- Java - Javadoc 注释
- Java - 自动装箱和拆箱
- Java - 文件不匹配方法
- Java - REPL (JShell)
- Java - 多版本 Jar 文件
- Java - 私有接口方法
- Java - 内部类菱形运算符
- Java - 多分辨率图像 API
- Java - 集合工厂方法
- Java - 模块系统
- Java - Nashorn JavaScript
- Java - Optional 类
- Java - 方法引用
- Java - 函数式接口
- Java - 默认方法
- Java - Base64 编码解码
- Java - switch 表达式
- Java - Teeing 收集器
- Java - 微基准测试
- Java - 文本块
- Java - 动态 CDS 归档
- Java - Z 垃圾收集器 (ZGC)
- Java - 空指针异常
- Java - 打包工具
- Java - 密封类
- Java - 记录类
- Java - 隐藏类
- Java - 模式匹配
- Java - 简洁的数字格式化
- Java - 垃圾回收
- Java - JIT 编译器
Java 其他
- Java - 递归
- Java - 正则表达式
- Java - 序列化
- Java - 字符串
- Java - Process API改进
- Java - Stream API改进
- Java - 增强的@Deprecated注释
- Java - CompletableFuture API改进
- Java - 流
- Java - 日期时间API
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java API 和框架
Java 类参考
- Java - Scanner
- Java - 数组
- Java - 字符串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用资源
Java 教程:免费学习 Java 编程
Java 教程
本Java 教程专为力求学习 Java 编程的初学者到高级程序员而编写。我们提供了许多实际示例,以简单易懂的步骤解释这些概念。本教程由 Tutorials Point 的经验丰富的 Java 程序员编写和审核,并尽最大努力使其对学生和 Java 开发人员有用。
完成本教程后,您将发现自己具备中等水平的 Java 编程专业知识,您可以从中提升到更高的水平。
什么是 Java?
Java 是一种流行的高级 面向对象编程 语言,最初由 Sun Microsystems 开发,并于 1995 年发布。目前,Java 为 Oracle 所有,超过 30 亿台设备运行 Java。Java 运行在各种平台上,例如 Windows、Mac OS 和各种版本的 UNIX。如今,Java 用于开发各种类型的软件应用程序,包括桌面应用程序、移动应用程序、Web 应用程序、游戏等等。
Java 是一种通用编程语言,旨在让程序员一次编写,随处运行 (WORA)。这意味着编译后的 Java 代码可以在所有支持 Java 的平台上运行,无需重新编译。
在本教程中,您将学习有关 Java 的所有内容,从基础知识到高级概念,例如概述、历史、安装、基本输入/输出、条件和控制语句、数组、类、继承、方法重载和重写、异常处理等等。
Java 第一个示例
Java 中的第一个示例是在屏幕上打印“Hello, World!”。让我们快速了解一下 Java 编程中的第一个示例。
public class MyFirstJavaProgram { /* This is my first java program. * This will print 'Hello, World!' as the output */ public static void main(String []args) { System.out.println("Hello, World!"); // prints Hello, World! } }
在线 Java 编译器
我们的 Java 编程教程提供了各种示例来解释这些概念。为了在您的浏览器中本身编译和执行给定的 Java 编程示例,我们提供了在线 Java 编译器。您可以直接从浏览器编辑和运行几乎所有示例,无需设置开发环境。
尝试单击图标 以运行以下 Java 代码,使用 Java 编程打印传统的“Hello, World!”。
下面的代码框允许您更改代码的值。因此,请尝试更改println()中的值并再次运行它以验证结果。
public class MyFirstJavaProgram { /* This is my first java program. * This will print 'Hello, World!' as the output */ public static void main(String []args) { System.out.println("Hello, World!"); // prints Hello, World! } }
Java 特性
Java 是一种功能丰富的语言。Java 随着每次更新而不断发展,更新每六个月发布一次。以下是 Java 语言的一些主要特性:
- 面向对象:Java 是一种纯粹的面向对象语言,Java 中的一切都是对象。Java 支持 OOP 原则,例如继承、封装、多态、类等等。Java 本身也可以扩展,基于对象模型。
- 平台无关性:Java 代码是平台无关的。Java 代码不会编译成特定于机器的代码;它编译成平台无关的字节码。此字节码由JVM执行,该虚拟机在底层平台上运行代码。此功能使 Java 成为一次编写,随处运行的语言。
- 易于学习:Java 继承了 C 和 C++ 的特性,如果开发人员了解 C 或 C++ 语言中的任何一种,他们可以轻松学习 Java。即使对于计算机语言新手来说,Java 也非常容易从头开始学习。
- 安全:Java 在架构上是安全的。开发人员无需直接与底层内存或操作系统交互。Java 提供自动垃圾收集,因此开发人员无需担心内存泄漏、管理等。
- 架构中立:Java 字节码可以在任何类型的处理器上执行。JRE 自动处理在不同类型的处理器上的代码执行。
- 可移植性 (Portable):在 Windows 机器上编写的 Java 代码无需任何代码更改即可在 MacOS 上执行,反之亦然。无需进行任何操作系统特定的代码更改。
- 健壮性 (Robust):Java 是一种非常健壮的语言,具有非常强大的编译时错误检查、严格的类型检查和运行时异常处理。
- 多线程 (Multithreading):Java 提供对多处理和多线程的内置支持。Java 提供线程处理、监视器、死锁处理、竞争条件等。
- 高性能 (High Performance):尽管 Java 是解释型语言,但其性能仍然非常高。JIT(即时)编译器有助于提高性能。
- 分布式 (Distributed):Java 专为分布式系统而设计,并且是开发基于互联网应用程序的最流行语言,因为互联网是一个分布式环境。
Java 应用
由于 Java 支持面向对象的特性并且与平台无关,因此它被广泛应用于各个领域。以下是 Java 应用的一些领域:
- 企业解决方案 (Enterprise solutions)
- 游戏开发 (Game development)
- 安全 Web 开发 (Secured web development)
- 嵌入式系统 (Embedded systems)
- 移动应用开发 (Mobile application development)
- 大数据应用 (Big Data Applications),以及更多。
Java 平台(版本)(Java Platforms (Editions))
Java 平台分为四个 Java 版本,它们是:
- Java SE(Java 标准版)(Java Standard Edition):这是标准版,用于开发和部署面向桌面和服务器环境的可移植代码。
- Java EE(Java 企业版)(Java Enterprise Edition):这是企业版,用于开发 Web 应用程序。
- Java ME(Java 微型版)(Java Micro Edition):J2ME 用于开发移动应用程序;它是 Java 的微型版。
- JavaFx:用于为富互联网应用程序开发轻量级用户界面。
Java 就业机会
Java 非常受欢迎,所有主要公司都在招聘 Java 程序员来开发他们的桌面、Web 和移动应用程序。
如今,拥有 3-5 年经验的 Java 程序员的年薪约为 12 万美元,这是美国需求量最大的编程语言。不过,这会根据工作地点而有所不同。以下是使用 Java 并需要优秀 Java 程序员的一些大型公司:
- 谷歌 (Google)
- 微软 (Microsoft)
- 脸书 (Facebook)
- IBM
- 亚马逊 (Amazon)
- 奈飞 (Netflix)
- 优步 (Uber)
- JetBrains
- 还有很多……(Many more...)
因此,你可能是这些大公司未来的潜在员工。我们已经开发了优秀的 Java 学习资料,可以帮助你准备基于 Java 的技术面试和认证考试。因此,随时随地,完全按照你自己的节奏,开始使用这个简单有效的教程学习 Java。
为什么要学习 Java?
对于学生和专业人士来说,Java 是一门**必须**学习的编程语言,才能成为一名优秀的软件工程师,尤其是在从事软件开发领域工作时。如果你对最佳编程语言进行调查,Java 一定会名列其中。
Java 是一种相当容易学习的编程语言,因此,如果你刚开始学习任何编程语言,那么 Java 可能是你的一个不错的选择。还有许多 Java 工具使开发人员和初学者易于使用。还有许多其他原因使 Java 成为任何程序员的首选。
- Java 是开源的,这意味着它是免费的。
- Java 简单易学。
- Java 需求量很大,并确保高薪。
- Java 拥有一个庞大而活跃的社区。
- Java 拥有强大的开发工具。
- Java 与平台无关。
谁应该学习 Java?
本Java 教程将帮助想要使用 Java 技术(如银行系统、支持系统、信息系统、网站、移动应用程序、个人博客等)开发应用程序的学生和专业人士。我们建议按照左侧菜单中列出的顺序阅读本教程。
如今,Java 是最受欢迎的编程语言之一,因此它已成为参与软件应用程序开发过程(包括软件开发人员、软件设计师、项目经理等)的任何人都必须学习的语言。
学习 Java 的先决条件
尽管我们已经尽最大努力以简单易懂的方式介绍 Core Java 概念,但在开始学习 Java 之前,我们假设读者对任何编程环境以及变量、命令、语法等基本概念有一定的了解。
通过示例学习 Java (Learn Java by Examples)
本教程提供了一套 Java 示例。练习这些示例以更好地学习 Java 概念:Java 示例
Java 教程入门 (Getting Started with Java Tutorial)
通过了解 Java 的基础知识和环境设置来开始学习 Java,然后按照本教程中提供的章节进行学习:让我们从Java 概述开始学习。
Java 在线测验
本 Java 教程可帮助你准备技术面试和认证考试。我们提供了各种测验和作业来检查你的学习水平。给出的测验包含多种选择题及其答案以及简短的解释。
以下是一个示例测验;尝试回答任何给出的答案
问题 1 (Q 1) - Java 编程语言是由以下哪个公司开发的?
A - 谷歌,20 世纪 90 年代 (Google in 1990s)
B - 微软,20 世纪 80 年代 (Micorsoft in 1980s)
答案:C (Answer : C)
解释 (Explanation)
Java 是由 James Gosling 在 Sun Microsystems 开发的,并于 1995 年 5 月作为 Sun Microsystems Java 平台的核心组件发布。
开始你的在线测验 开始 Java 测验 (Start Java Quiz)。
Java 实践
- Java 快速指南 (Java Quick Guide)
- Java 面试问题 (Java Interview Questions)
- Java 8 面试问题 (Java 8 Interview Questions)
- Java 在线测试 (Java Online Test)
- Java 模拟测试 (Java Mock Test)
Java 参考
在这里,你可以找到包、类和方法的参考:
- Java Scanner 类 (Java Scanner Class)
- Java Arrays 类 (Java Arrays Class)
- Java Strings 类 (Java Strings Class)
- Java Date 类 (Java Date Class)
- Java ArrayList 类 (Java ArrayList Class)
- Java Vector 类 (Java Vector Class)
- Java Stack 类 (Java Stack Class)
- Java PriorityQueue 类 (Java PriorityQueue Class)
- Java LinkedList 类 (Java LinkedList Class)
- Java ArrayDeque 类 (Java ArrayDeque Class)
- Java HashMap 类 (Java HashMap Class)
- Java LinkedHashMap 类 (Java LinkedHashMap Class)
- Java WeakHashMap 类 (Java WeakHashMap Class)
- Java EnumMap 类 (Java EnumMap Class)
- Java TreeMap 类 (Java TreeMap Class)
- Java IdentityHashMap 类 (Java IdentityHashMap Class)
- Java HashSet 类 (Java HashSet Class)
- Java EnumSet 类 (Java EnumSet Class)
- Java LinkedHashSet 类 (Java LinkedHashSet Class)
- Java TreeSet 类 (Java TreeSet Class)
- Java BitSet 类 (Java BitSet Class)
- Java Dictionary 类 (Java Dictionary Class)
- Java Hashtable 类 (Java Hashtable Class)
- Java Properties 类 (Java Properties Class)
- Java Collection 类 (Java Collection Class)
- Java Array 类 (Java Array Class)
下载 Java
可以从 Oracle 的官方网站下载 Java 的最新版本:Java 下载 (Java Downloads)
Java 认证
关于 Java 教程的常见问题 (Frequently Asked Questions about Java Tutorial)
关于 Java 编程教程,有一些重要的常见问题 (FAQ),本节简要列出了它们及其答案:
1. Java 中的四个重要概念是什么?
Java 支持抽象、封装、多态和继承。这些是面向对象编程的四个主要理论原则。但 Java 还与另外三个 OOP 概念一起工作:关联、聚合和组合。
2. Java 的好处是什么?
- Java 是免费且开源的。
- Java 由社区驱动,并拥有专业的领导团队。
- Java 快速且高性能。
- Java 易于学习。
- Java 是静态类型的。
- Java 是面向对象的。
- Java 支持函数式编程。
3. 学习 Java 需要多长时间?
学习风格和每天可以投入的时间都会影响学习时间。但是,平均而言,学习 Java 编程需要 6 到 12 个月。
4. 为什么 Java 是一种如此流行的编程语言?
Java 语言很容易扩展,因为它基于对象模型。与许多其他编程语言不同,Java 不是编译成与平台相关的机器码,而是编译成与平台无关的字节码。
5. Java 相比 Python 的优势是什么?
Python 和 Java 是软件程序员中最流行的两种编程语言。Java 通常比 Python 更快、更高效,因为它是一种编译型语言,而 Python 是一种解释型语言,并且具有比 Java 更简单、更简洁的语法。
6. 如何开始学习 Java?
以下是你可以遵循的一些总结的建议,以开始学习 Java:
- 首先也是最重要的一点是下定决心学习 Java。
- 在你的计算机系统上安装 Java 虚拟机和 Java 编译器。
- 循序渐进地学习我们的教程,从最开始学习。
- 阅读更多文章,观看在线课程,或购买一本关于 Java 的书籍,以增强你在 Java 方面的知识。
- 尝试使用 Java 和其他技术(如 MySQL,如果你想使用数据库)开发小型软件。
7. 用于 Web 应用程序的 Java 技术有哪些?
Java 提供以下技术来帮助 Web 开发:
- Java Servlet API。
- JavaServer Pages 标准标签库 (JavaServer Pages Standard Tag Library)。
- JavaServer Faces 技术 (JavaServer Faces Technology)。
- Java 消息服务 API (Java Message Service API)。
- JDBC API。
- Java 持久性 API (Java Persistence API)。
- Java 命名和目录接口 (Java Naming and Directory Interface)。
- NetBeans IDE。
8. 学习 Java 的最佳地点是哪里?
你可以使用我们简单易用的最佳 Java 教程来学习 Java 和高级 Java。我们在教授 Java 概念时去除了所有不必要的复杂性。你可以立即开始学习 开始学习 Java (Start Learning Java)。