news 2026/6/8 1:12:26

【Java基础】Java初识:从零搭建开发环境到写出第一个HelloWorld

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Java基础】Java初识:从零搭建开发环境到写出第一个HelloWorld

文章目录

  • 【Java基础】Java初识:从零搭建开发环境到写出第一个HelloWorld
    • 导入语
    • 1 ~> Java简介
      • 1.1 Java是什么(三大版本对比)
      • 1.2 Java的五大核心特点
      • 1.3 Java发展史速览(1995-2021)
    • 2 ~> Java程序的执行流程——为什么能跨平台
      • 2.1 核心原理:编译 + 解释,两步走
      • 2.2 Java vs C语言:一张表看懂跨平台差异
    • 3 ~> JDK的下载和安装——环境搭建
      • 3.1 JDK / JRE / JVM 三兄弟的关系
      • 3.2 Windows下JDK安装四步走
      • 3.3 安装常见问题排查
    • 4 ~> 第一个Java程序:HelloWorld
      • 4.1 HelloWorld完整代码
      • 4.2 代码逐行拆解
      • 4.3 编译和运行(常见错误提醒)
    • 5 ~> Java程序的结构拆解
      • 5.1 一个完整程序的骨架
      • 5.2 五条必须遵守的硬规则
      • 5.3 println / print / printf 三个输出方法的区别
    • 6 ~> Android Studio开发环境
      • 6.1 Android Studio简介
      • 6.2 安装与SDK配置
      • 6.3 Android Studio下创建第一个Java项目
      • 6.4 Android Studio常用快捷键
    • 思考 && 总结
    • 结尾

【Java基础】Java初识:从零搭建开发环境到写出第一个HelloWorld


🎬 个人主页:源码骑士

专栏传送门:《java编程练习题》《全栈开发》

⭐️热衷从源码视角拆解技术底层原理,将复杂架构讲得通俗易懂


🎬 源码骑士的简介:
5年Android Framework系统开发经验,曾主导多项系统级性能优化专项
技术栈覆盖Android系统全链路(Binder/Handler/AMS/WMS/启动流程)及Java后端全家桶(Spring + MyBatis + Redis + Oracle)
累计产出原创技术文章100+篇,文章以流程图为特色,被读者评价为"看一篇胜过啃一周源码"


导入语

不管你学 Java 是为了做后端开发、还是后面要转 Android 开发,第一关永远是环境搭建和写出 HelloWorld。很多人卡在这一步不是因为智商不够,而是没人把"为什么"讲清楚——JDK 和 JRE 什么关系?为什么 Java 能跨平台?Path 环境变量到底在配什么?

这篇文章的目标就一个:让你不仅会装 JDK、会写 HelloWorld,还能说清楚背后的原理。全程说人话,不拽概念。

为什么 Java 敢说"一次编译,到处运行"?它靠的不是魔法,而是编译 + 解释两步走的机制。理解了这张图,你就理解了 Java 跨平台的全部秘密。


1 ~> Java简介

1.1 Java是什么(三大版本对比)

Java由 Sun Microsystems 公司于 1995 年推出,是一种纯粹的面向对象编程语言。2010 年 Sun 被 Oracle 收购后,Java 归 Oracle 所有。

Java 不是"一个东西",而是分为三个版本,分别对应不同的应用场景:

版本全称定位典型场景
Java SEStandard Edition标准版,Java 基础桌面应用、学 Java 的起点
Java EEEnterprise Edition企业版Web 后端、大型分布式系统
Java MEMicro Edition微型版嵌入式设备、早期功能机应用

划重点:Android 开发用的就是Java SE 的核心语法+ Android 自己的 API。所以无论你最终目标是做后端还是 Android,Java SE 这一关都绕不过去。

1.2 Java的五大核心特点

Java 能火二十多年不是没道理的,核心优势就这五点:

特点一句话解释初学感受
面向对象一切皆对象——类、封装、继承、多态一开始可能觉得绕,但越用越顺
跨平台一次编译,到处运行(JVM 是大功臣)同一份代码 Windows / Mac / Linux 都能跑
健壮性强类型检查 + 异常处理 + GC不用手动free内存,告别内存泄漏
多线程原生支持并发编程(Thread/Runnable写并发程序不费劲
安全性无指针、字节码校验、类加载安全机制告别 C 语言野指针噩梦

初学者最直观的感受可能是"没有指针"和"不用管内存释放"这两点——当年写 C 语言被折磨过的朋友都知道有多香。

1.3 Java发展史速览(1995-2021)

Java 版本很多,但作为初学者,你只需要知道这几个"分水岭"版本:

时间版本关键变化你现在需要关注吗
1995JDK 1.0Java 首次发布❌ 不用管
2004JDK 5.0泛型、枚举、自动装箱/拆箱⚠️ 面试可能会问泛型
2014JDK 8Lambda 表达式、Stream API目前企业最主流,必学
2017JDK 9模块化系统❌ 初学阶段不用管
2021JDK 17长期支持(LTS)版本⚠️ 面试可能问新特性

结论:进公司大概率用 JDK 8,面试可能会问 JDK 17。初学者装JDK 8就够了,别追新。等基础扎实了再补新版本特性,事半功倍。


2 ~> Java程序的执行流程——为什么能跨平台

2.1 核心原理:编译 + 解释,两步走

这是 Java 入门阶段最重要的一张图。很多人学了半年 Java 都讲不清楚"为什么 Java 能跨平台",你读完这一段就能讲明白。

javac 编译

java 解释执行

Hello.java
源文件(你写的)

Hello.class
字节码文件

JVM
Java虚拟机

Windows

Linux

macOS

关键认知:Java 不是直接编译成机器码!

Java 的"一次编译,到处运行"靠的是这个两步走机制:

  1. 第一步——编译:javac把你写的.java源文件编译成.class字节码文件(这不是机器码,是中间码)。
  2. 第二步——解释执行:JVM(Java虚拟机)把.class字节码翻译成当前操作系统能懂的机器指令。

不同的操作系统装不同的 JVM,但.class文件不用变。这就是跨平台的本质。

2.2 Java vs C语言:一张表看懂跨平台差异

对比维度C语言Java
编译产物.exe(Windows 专属),其他平台跑不了.class字节码(跨平台通用)
执行方式直接在操作系统上跑跑在 JVM 上
跨平台不同平台需要重新编译同一个.class到处跑
内存管理手动malloc/free,容易内存泄漏JVM 自动垃圾回收(GC)
指针有指针,灵活但危险没有指针概念,更安全

简单理解:C 语言的程序跟操作系统强绑定;Java 的程序在 JVM 这个"中间商"上跑,JVM 帮你搞定不同操作系统的差异。


3 ~> JDK的下载和安装——环境搭建

3.1 JDK / JRE / JVM 三兄弟的关系

这是每个初学者都会搞混的三个概念,一张图 + 一张表帮你彻底理清:

JDK (Java Development Kit)
Java开发工具包

JRE (Java Runtime Environment)
Java运行环境

JVM (Java Virtual Machine)
Java虚拟机

开发工具
javac, java, jar, javadoc...

JDKJREJVM
全称Java Development KitJava Runtime EnvironmentJava Virtual Machine
包含谁JRE + 开发工具(javac 等)JVM + 核心类库只负责执行字节码
谁需要开发者(你)普通用户程序员不需要单独装
能干什么编译 + 运行 Java 程序只能运行,不能编译纯执行引擎

记住一句话:你是开发者,装 JDK 就完事了。JDK 里面自带 JRE,JRE 里面自带 JVM。

3.2 Windows下JDK安装四步走

第一步:下载 JDK 8

去 Oracle 官网下载jdk-8u101-windows-x64.exe,注意:

  • 64 位系统选x64版本
  • 32 位系统选x86版本
  • 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  • 下载后的JDK如图

第二步:安装

一路 Next,但务必记住安装路径。默认路径一般是:

C:\Program Files\Java\jdk1.8.0_101

这一步非常重要——后面配置环境变量要用到这个路径。

第三步:配置环境变量

这一步是关键,配错了就白装了:

变量名作用
JAVA_HOMEJDK 安装路径(如C:\Program Files\Java\jdk1.8.0_101让 Android Studio / Maven 等工具知道 JDK 在哪
Path(追加)%JAVA_HOME%\bin让你在任意目录下都能直接敲javacjava命令

配置方法:右键"此电脑" → 属性 → 高级系统设置 → 环境变量 → 新建/编辑 → 确定 → 确定 → 确定。配完记得关掉命令行窗口重新打开。

第四步:验证安装

打开命令行(Win + R → 输入cmd→ 回车),分别输入下面两条命令:

# 检查 Java 版本java-version# 检查编译器是否可用javac-version

正常情况下会看到:

java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

3.3 安装常见问题排查

问题现象可能原因解决办法
java能用但javac不能用Path 配错了检查 Path 中%JAVA_HOME%\bin是否正确
提示"不是内部或外部命令"环境变量没生效关掉命令行窗口重新打开(环境变量不会自动刷新)
JDK 版本太高(11+)要不要装初学阶段装JDK 8就行,别追新
装了两个版本的 JDK容易出现版本冲突卸载不需要的版本,只留一个

4 ~> 第一个Java程序:HelloWorld

4.1 HelloWorld完整代码

理论讲完了,该动手了。下面这个程序你现在就可以照着敲一遍。

// 文件名必须跟 public class 名完全一致:HelloWorld.javapublicclassHelloWorld{// 类声明publicstaticvoidmain(String[]args){// 主方法 —— 程序的入口System.out.println("Hello World!");// 输出语句}}

4.2 代码逐行拆解

代码什么意思能改吗
public class HelloWorld声明一个公共类,类名叫 HelloWorld类名可以改,但必须和文件名一致
public static void main(String[] args)程序入口,JVM 从这一行开始执行一个字母都不能改!固定写法
System.out.println()打印一行文字,打印完自动换行括号里的内容随便改
{}代码块边界,必须成对出现不能省

4.3 编译和运行(常见错误提醒)

打开命令行,进入.java文件所在目录,依次执行:

# 第一步:编译(源文件 → 字节码)javac HelloWorld.java# 执行完后,目录下会多出一个 HelloWorld.class 文件# 第二步:运行(JVM 执行字节码)javaHelloWorld

输出结果:

Hello World!

两个最容易犯的错:

  1. 文件名必须跟public class名字一模一样(区分大小写)。HelloWorld.java里面写了public class helloWorld→ 编译报错。
  2. 运行命令是java HelloWorld不要加.class后缀(写java HelloWorld.class会报错)。

5 ~> Java程序的结构拆解

5.1 一个完整程序的骨架

HelloWorld 太简单了?来看一个稍微完整一点的程序,帮你建立"Java 程序长什么样"的全局视角。

packagecom.example;// ① 包声明 —— 可有可无importjava.util.Scanner;// ② 导入别人写好的工具类publicclassDemo{// ③ 类 —— 所有代码必须写在类里publicstaticvoidmain(String[]args){// ④ 主方法 —— 入口Scannerinput=newScanner(System.in);System.out.print("请输入你的名字:");Stringname=input.next();System.out.println("你好,"+name+"!");}}

5.2 五条必须遵守的硬规则

编号规则为什么
类名首字母大写约定俗成:HelloWorld,不写helloWorld
一个文件最多一个public classJava 的硬性规定,可以有多个非 public 类
main方法签名固定public static void main(String[] args)— 多一个空格都不行
Java 区分大小写Systemsystem是两回事
每条语句以分号;结尾漏了 → 编译报错,新手高频错误

5.3 println / print / printf 三个输出方法的区别

System.out.println("换行输出");// 打印后自动换行(最常用)System.out.print("不换行输出");// 打印后光标停在原行System.out.printf("%s今年%d岁","张三",18);// 格式化输出(跟 C 语言 printf 一样)

运行效果:

换行输出 不换行输出张三今年18岁

日常调试打印用println最多,格式化输出用printf


6 ~> Android Studio开发环境

6.1 Android Studio简介

Android Studio 是 Google 官方推出的 Android 集成开发环境(IDE),基于 IntelliJ IDEA 社区版构建,完全免费。它是目前 Android 开发的事实标准,任何做 Android 开发的人都绕不开它。

对比维度Android StudioIntelliJ IDEAEclipse
费用完全免费社区版免费 / 旗舰版收费完全免费
定位Android 开发专用通用 Java 开发通用 Java 开发
Android 支持原生支持,内置 SDK 管理、模拟器、Gradle需装 Android 插件已淘汰(ADT 不再维护)
上手难度中等(功能强大)较低(更简洁)较高(界面较古老)
推荐度⭐⭐⭐⭐⭐⭐⭐⭐⭐

结论:做 Android 开发直接用 Android Studio,不用纠结。它基于 IntelliJ IDEA,继承了 IDEA 的智能代码补全、重构等优秀特性,同时又内置了 Android SDK 管理、AVD 模拟器、APK 分析器、布局编辑器等 Android 专用工具,一站式搞定。

6.2 安装与SDK配置

第一步:下载 Android Studio

去 Android 开发者官网下载最新版安装包:

  • Windows:.exe安装包
  • macOS:.dmg镜像文件
  • Linux:.tar.gz压缩包

第二步:安装

一路 Next,注意勾选以下组件

  1. Android SDK— Android 开发必备
  2. Android Virtual Device (AVD)— 模拟器,没有真机也能调试
  3. Performance (Intel HAXM)— 加速模拟器(仅 Intel CPU 需要)

安装路径不要有中文或空格,建议默认路径(如C:\Program Files\Android\Android Studio)。SDK 路径建议也保持默认(如C:\Users\你的用户名\AppData\Local\Android\Sdk)。

第三步:配置 SDK(首次启动自动弹出)

Android Studio 首次启动时,会引导你下载 SDK。如果跳过了,可以手动打开SDK Manager

Tools → SDK Manager (或点击工具栏的 SDK Manager 图标)

需要下载的内容:

选项卡需要下载什么
SDK Platforms至少勾选一个 Android 版本(推荐 Android 13.0 / API 33)
SDK Tools确保勾选 Android SDK Build-Tools、Android Emulator、Android SDK Platform-Tools

特别提醒:SDK Platform-Tools 里面包含了adb命令,这是 Android 调试的核心工具,一定要装。

第四步:验证安装

打开 Android Studio,创建一个新项目(New Project → Empty Views Activity),如果能成功编译并在模拟器上跑起来,就说明环境通了。

6.3 Android Studio下创建第一个Java项目

第一步:创建新项目
File → New → New Project,选择Empty Views Activity(最干净的模板)

第二步:配置项目信息

配置项填写内容说明
NameHelloWorld项目名,也是 App 名称
Package namecom.example.helloworld应用包名,全球唯一标识
Save location保持默认项目存放路径
LanguageJava默认可能是 Kotlin,记得切换
Minimum SDKAPI 24 (Android 7.0)最低支持的 Android 版本

第三步:等待 Gradle 构建完成
首次创建项目时,Android Studio 会下载 Gradle 和依赖库,需要联网,耐心等待(首次约 5~15 分钟)。右下角进度条跑完就说明构建成功了。

第四步:找到 Java 代码入口
Android Studio 默认生成了一个MainActivity.java,它的onCreate方法就是程序的入口:

packagecom.example.helloworld;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.util.Log;publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 在这里写你的代码Log.d("HelloWorld","Hello World!");}}

第五步:运行程序
点击工具栏的绿色 ▶(Run)按钮,或按Shift + F10。选择模拟器(或连接的真机),App 就会安装并启动。打开Logcat(底部工具栏),就能看到Hello World!输出了。

小贴士:System.out.println()在 Android 中不常用,Android 用Log.d()/Log.e()等 Log 类来打印调试信息,所有输出统一在 Logcat 窗口查看,方便按级别过滤。

6.4 Android Studio常用快捷键

快捷键功能使用频率
Shift + F10运行当前程序⭐⭐⭐⭐⭐
Ctrl + /注释 / 取消注释当前行⭐⭐⭐⭐⭐
Ctrl + Alt + L格式化代码⭐⭐⭐⭐
Ctrl + 空格(或手动设置)代码自动补全⭐⭐⭐⭐
Ctrl + Y删除当前行⭐⭐⭐
Ctrl + Alt + O自动优化导入的包⭐⭐⭐
Shift + Shift全局搜索(文件/类/符号)⭐⭐⭐⭐
Ctrl + Shift + F10运行光标所在的测试/程序⭐⭐⭐

先记住前两个(运行Shift + F10+ 注释Ctrl + /),其他的边用边学。Shift + Shift全局搜索也非常好用,记不住类名时双击 Shift 直接搜。


思考 && 总结

本文系统讲解了 Java 入门的核心知识,从语言简介到环境搭建再到写出第一个程序,核心要点总结如下:

  1. Java简介:Java 是由 Sun 公司推出的面向对象编程语言,分为 Java SE(标准版)、Java EE(企业版)和 Java ME(微型版)三大版本。具有面向对象、跨平台、健壮性、多线程、安全性五大核心特点。企业开发中最主流的版本是 JDK 8(2014年发布),初学者安装 JDK 8 即可。
  2. 跨平台原理:Java 的"一次编译,到处运行"靠的是编译 + 解释两步走机制——先通过javac编译成.class字节码,再由各平台的 JVM 将字节码翻译成对应操作系统的机器指令。与 C 语言不同,Java 不直接编译成机器码,依赖 JVM 这个"中间层"实现跨平台。
  3. JDK/JRE/JVM 关系:JDK(开发工具包)包含 JRE(运行环境),JRE 包含 JVM(虚拟机)。开发者只需安装 JDK,它自带编译工具javac和运行工具java。配置JAVA_HOMEPath环境变量后即可在任意目录使用这些命令。
  4. HelloWorld 程序:Java 程序的基本单元是类(class),main方法是程序的入口,签名为public static void main(String[] args)(固定不可改)。编译用javac,运行用java,文件名必须与public class名完全一致且区分大小写。
  5. Android Studio 开发环境:Android Studio 是 Google 官方推出的 Android IDE,基于 IntelliJ IDEA,完全免费。安装时务必勾选 Android SDK 和模拟器,首次构建需等待 Gradle 下载(需联网)。常用快捷键包括Shift + F10(运行)、Ctrl + /(注释)和Shift + Shift(全局搜索)。

掌握这些内容后,下一节将深入讲解 Java 的变量与数据类型——整型、浮点型、字符型、布尔型,以及类型转换的那些坑。先把 JDK 和 Android Studio 装好,环境搭不好,后面寸步难行,别跳这一步。


结尾

各位小伙伴,本文的内容到这里就全部结束了,源码骑士在这里再次感谢您的阅读!

源码骑士 — Android Framework & 全栈开发

👀关注:跟博主一起从源码视角深耕底层原理,见证每一次成长

❤️点赞:让优质内容被更多人看见,让知识传递更有力量

收藏:把核心知识点存好,在需要时随时查、随时用

💬评论:分享你的经验或疑问,评论区一起交流避坑

🔄一键四连:不要忘记给博主"一键四连"哦!今日源码拆解达成!

🗡️寄语:技术之路难免有困惑,但同行的人会让前进更有方向

结语:希望对学习 Java 相关内容的小伙伴有所帮助,不要忘记给博主"一键四连"哦!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 1:10:41

扩散模型时代的人脸隐私保护技术VoidFace解析

1. VoidFace:扩散模型时代的人脸隐私守护者最近几年,基于扩散模型的人脸交换技术让数字身份伪造变得前所未有的简单。你可能已经注意到,社交媒体上突然出现了大量名人"换脸"视频,从政治人物到影视明星,几乎人…

作者头像 李华
网站建设 2026/6/8 1:09:02

MTFlow:基于流匹配的微管图像分割创新方法

1. 微管分割的技术挑战与MTFlow的创新思路微管作为细胞骨架的关键组成部分,在细胞形态维持、物质运输和分裂过程中扮演着核心角色。准确分割显微镜图像中的微管网络对于研究细胞功能和疾病机制至关重要。然而,这一任务面临着多重技术挑战:结构…

作者头像 李华
网站建设 2026/6/8 1:03:45

不会写代码,也能让 Codex 帮你自动干活:用中转站接入 API 教程

你有没有想过: 让 AI 帮你写一个网页? 让 AI 帮你改代码、查 bug? 让 AI 帮你批量处理 Excel? 让 AI 帮你写自动化脚本? 甚至让 AI 帮你从 0 做一个小游戏、小程序、小工具? 以前这些事情可能需要程序员才…

作者头像 李华
网站建设 2026/6/8 0:52:46

Qdrant + LangChain:打造毫秒级语义检索

向量数据库实战:用 Qdrant LangChain 构建毫秒级语义检索服务(附完整 Docker 部署与性能压测) 在 RAG、AI Agent 和智能客服等场景中,向量相似性检索已不再是“可选项”,而是系统响应延迟与召回质量的生死线。但多数工…

作者头像 李华
网站建设 2026/6/8 0:52:11

手把手教你用Overleaf搞定IEEE会议论文(附CAC投稿避坑指南)

从零到一:Overleaf高效撰写IEEE会议论文全攻略(含CAC投稿实战技巧)第一次接触IEEE会议论文投稿的研究生们,往往会被LaTeX排版、格式校验和投稿流程搞得手忙脚乱。作为过来人,我完全理解那种面对几十页官方文档却找不到…

作者头像 李华