当前位置: 首页 > news >正文

【Java】P1 Java由此开始:简介、下载安装与HelloJava

目录

  • Java 简介
    • Java 语言简史
    • Java 的重要版本节点
    • Java 技术体系平台
  • 搭建Java开发环境
    • JDK 与 JRE
    • 安装 JDK 17
      • 官网下载
      • 开始安装
      • 验证安装
  • Hello Java
    • Java的开发流程
      • 编写
      • 编译
      • 运行
    • 重要注意事项
    • 最佳实践

在这里插入图片描述

Java 简介

Java 语言由 SUN 公司(Standford University Network Microsystems)于1995年推出的一门高级编程语言。Java 是一门面向对象的编程语言,最初因其"一次编写,到处运行"的特性和能够在 Web 浏览器中运行 Java Applet 而广受关注。

随着互联网的快速发展,以及 Java 技术在企业级应用开发方面的不断成熟,Java 已经成为了企业级应用程序开发的首选语言之一。

Java 语言简史

起步阶段: 1991年,Sun 公司的工程师小组想要设计一种语言,用于智能家电设备的控制和通信。由于这些设备的处理能力和内存都很有限,并且不同的厂商会选择不同的中央处理器(CPU),因此需要一种代码短小、紧凑且跨平台的语言。

James Gosling 团队率先创造出这个语言,并命名为 Oak。然而由于智能化家电的市场需求没有预期那么高,Sun 公司暂停了该项目。

随着20世纪90年代互联网的兴起,Sun 公司发现该语言在互联网应用方面具有巨大潜力,于是重新改造了 Oak,并于1995年5月23日正式改名为 Java 并发布。

Java 的重要版本节点

  • Java 5.0:版本号从 1.4 直接跳跃到 5.0,平台更名为 JavaSE、JavaEE、JavaME,引入了泛型、自动装箱等重要特性
  • Java 8.0:继 Java 5.0 以来变化最大的版本,引入了 Lambda 表达式和 Stream API,是长期支持版本(LTS)
  • Java 11.0:JDK 安装包不再提供独立的 JRE 安装包,是长期支持版本(LTS)
  • Java 17.0:最新的长期支持版本(LTS),Spring Boot 和 Spring Framework 6+ 推荐使用此版本

Java 技术体系平台

请添加图片描述

  • Java SE(Java Standard Edition)标准版

    • 支持面向桌面级应用的 Java 平台,提供 Java 语言的核心功能
    • 包括用户界面接口 AWT 和 Swing,网络编程、国际化、图像处理以及输入输出等核心类库
    • 此版本以前称为 J2SE
  • Java EE(Java Enterprise Edition)企业版

    • 为企业级应用开发提供解决方案,主要用于服务器端的 Web 应用开发
    • Java EE 是 Java SE 的扩展,增加了用于服务器开发的类库,如:Servlet 用于处理 HTTP 请求响应,JSP 用于动态网页生成等
    • 此版本以前称为 J2EE
  • Java ME(Java Micro Edition)小型版

    • 支持 Java 程序运行在移动设备和嵌入式设备上的平台
    • Java ME 是 Java SE 的精简版,保留了核心类库的同时添加了适合小型设备的专用类库
    • 此版本以前称为 J2ME

搭建Java开发环境

JDK 与 JRE

  • JDK(Java Development Kit): Java 开发工具包,包含 JRE 以及开发人员使用的编译器、调试器等工具
  • JRE(Java Runtime Environment): Java 运行时环境,包含 JVM 和运行 Java 程序所需的核心类库

JDK 与 JRE 的关系图如下所示:

请添加图片描述

总结:

  • JDK = JRE + 开发工具(如 javac 编译器等)
  • JRE = JVM + Java SE 标准类库

安装 JDK 17

官网下载

  • 下载网址(Oracle 官网):https://www.oracle.com/java/technologies/downloads/

  • 向下滑动,找到 Downloads 并点击

    请添加图片描述

  • 向下滑动找到 Java,点击 Java(JDK)for Developer

    请添加图片描述

  • 根据操作系统,选择 Java 17 LTS 版本下载

    请添加图片描述

或者可以通过以下直链下载(注意:链接可能会过期):

  • Windows 版:下载链接🔗
  • MacOS 版:下载链接🔗
  • Linux 版:下载链接🔗

开始安装

以 macOS 系统为例:

请添加图片描述

对于 macOS,按照安装向导完成安装即可。对于 Windows 系统,除了安装之外,还需要配置环境变量。

关于如何配置环境变量以及为何 Windows 需要环境变量配置,建议读者观看:尚硅谷Java零基础视频教程-环境配置篇

验证安装

可在终端/命令提示符中输入以下命令来验证安装:

java -version

成功安装后会显示类似输出:

请添加图片描述


Hello Java

在学习使用集成开发环境(IDE)之前,建议读者先通过文本编辑器来编写 Java 程序,这有助于更好地理解 Java 程序的编译和运行过程。关于 IntelliJ IDEA 的安装和使用将在后续文章中介绍。

Java的开发流程

Java 程序的开发包括三个主要步骤:编写、编译和运行。

  1. 将 Java 代码编写到扩展名为 .java 的源文件中
  2. 通过 javac 命令对 Java 源文件进行编译,生成 .class 字节码文件
  3. 通过 java 命令运行生成的字节码文件

请添加图片描述

编写

创建一个名为 HelloJava.java 的文件,并输入以下代码:

class HelloJava{public static void main(String[] args){System.out.println("Hello, Java!");System.out.print("Hello, World!");}
}

代码说明:

  • class HelloJava 定义了一个名为 HelloJava 的类,所有 Java 代码都必须放在类中
  • public static void main(String[] args) 是程序的入口点,这是固定的写法
  • System.out.println("Hello, Java!") 用于输出文本到控制台
  • 注意:每个 Java 语句必须以分号 ; 结束

输出方法的区别:

  • println() - 输出内容后自动换行
  • print() - 输出内容后不换行

macOS 操作步骤:

  1. 在终端中使用 vim HelloJava.java 命令创建文件
  2. 输入代码内容
  3. 按 ESC 键,然后输入 :wq 保存并退出

编译

使用 javac 命令编译 Java 源文件:

javac HelloJava.java

编译成功后会生成一个 HelloJava.class 字节码文件。如果编译失败,请检查:

  • 文件名是否正确(区分大小写)
  • 代码语法是否有错误
  • JDK 是否正确安装

注意:一个 Java 源文件可以包含多个类,编译时会为每个类生成对应的 .class 文件。

运行

使用 java 命令运行编译后的字节码文件:

java HelloJava

注意:运行时不需要加 .class 扩展名。

完整的命令执行过程:

# 编写代码(使用文本编辑器)
vim HelloJava.java# 编译源文件
javac HelloJava.java# 运行程序
java HelloJava

重要注意事项

类名与文件名

  • 如果一个类被声明为 public,那么类名必须与文件名完全一致(包括大小写)
  • 建议始终保持类名与文件名一致,避免混淆

避免的错误写法

不要在一个源文件中定义大小写不同但本质相同的类名:

// 错误示例 - 避免这样写
class HelloJava{// 类内容
}class Hellojava{  // 仅大小写不同// 类内容
}

这种写法虽然编译可能不报错,但会导致逻辑混乱和运行时错误。每个类都应该有唯一且清晰的命名。

最佳实践

推荐:

  • 类名采用帕斯卡命名法(首字母大写)
  • 一个源文件最好只包含一个公共类
  • 保持代码缩进和格式整洁

2025.09 西直门


文章转载自:

http://DNSTN4aY.pngdc.cn
http://vQFot9Tl.pngdc.cn
http://SQOqMggS.pngdc.cn
http://YuN7wJME.pngdc.cn
http://OZbkN2WO.pngdc.cn
http://ZG1QZ4EI.pngdc.cn
http://SGRJKmzf.pngdc.cn
http://nCMoSHWU.pngdc.cn
http://O1uAf4Jw.pngdc.cn
http://Mo1Gs4AL.pngdc.cn
http://3avIZ6mt.pngdc.cn
http://Jk1c98GT.pngdc.cn
http://7VgPSBfP.pngdc.cn
http://Rgtf45h5.pngdc.cn
http://u284ZZ9H.pngdc.cn
http://ndRjhJjC.pngdc.cn
http://djgnFBX2.pngdc.cn
http://pfMNwEEk.pngdc.cn
http://CcYLRJrm.pngdc.cn
http://bbKOcWLZ.pngdc.cn
http://MARCP7Mg.pngdc.cn
http://Z6WB8J7p.pngdc.cn
http://9nus8e3e.pngdc.cn
http://ERs8NXaD.pngdc.cn
http://4mXZXJE4.pngdc.cn
http://mTSg0sSm.pngdc.cn
http://7M7la694.pngdc.cn
http://JSn7iKYL.pngdc.cn
http://oZWgIzBp.pngdc.cn
http://WrNa9Qzw.pngdc.cn
http://www.dtcms.com/a/379542.html

相关文章:

  • Katalog:AI语音文章播报工具,打造沉浸式听读体验
  • 细胞图像分割实战:用U-Net模型自动识别显微镜图像中的细胞
  • 如何理解MOS管规格书中标注的VDS?
  • JavaScript逆向SM国密算法
  • 炫彩VS动作指令:活体检测技术大比拼
  • 只读查询的“零分配”之路:EF Core + Dapper + MemoryPack 的组合优化
  • EMC电磁兼容进阶3讲培训:专题三 近场探头和频谱仪在EMC整改中的应用
  • 清理C盘回忆录
  • 对于单链表相关经典算法题:21. 合并两个有序链表及面试题 02.04. 分割链表的解析
  • 【代码随想录day 24】 力扣 78.集合
  • leetcode算法刷题的第三十二天
  • (done) CUDA 和 CPU 性能对比,矩阵加法和矩阵乘法对比
  • 事实上事实上
  • 【左程云算法07】队列和栈-链表数组实现
  • 关于亚马逊账号关联的思考——关于侵权
  • 【硬件-笔试面试题-84】硬件/电子工程师,笔试面试题(知识点:MOS管是损耗有哪些)
  • mybatis vs mybatis-plus
  • 网络诊断和通信中非常重要的工具或协议
  • Mysql主键选取
  • 蓝桥杯嵌入式
  • Python学习——字典和文件
  • urllib的使用
  • AFSim2.9.0学习笔记 —— 4.1、创建项目,以此项目介绍工作中Wizard使用(红方/蓝方武器平台、阵营、更换图标等,多图详细介绍)
  • 机器人驭风而行:低空经济如何开启智能新纪元【科普类】
  • 【论文速读】LLM Compiler:并行函数调用的新范式
  • 【复习】计网每日一题---海明校验码
  • CVPR 2025最佳论文解读|VGGT:Visual Geometry Grounded Transformer
  • 深度学习里的树模型TabNet
  • 洛谷P5250 【深基17.例5】木材仓库 (集合法)详解
  • zsn的作品集