news 2026/10/10 0:22:34

Java入门第一步:JDK安装与IDEA配置,从环境搭建到运行HelloWorld

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java入门第一步:JDK安装与IDEA配置,从环境搭建到运行HelloWorld

1. 环境准备:装好JDK和IDEA是走上Java路的第一步

1.1 JDK到底是个啥,为什么必须先装它

很多新手一听“JDK”三个字母就头大,其实你可以把它理解成Java的“运行发动机”。你写的代码是一堆文本,计算机本身看不懂,JDK里内置的javac编译器负责把这堆文本翻译成机器能执行的字节码,然后JVM(Java虚拟机)再把它跑起来。没有JDK,你写了再漂亮的代码都只是一堆没用的字符。

我用过好几个版本的JDK,目前最推荐新手直接装JDK 8或者JDK 17。JDK 8是Java生态里的“常青树”,你以后接触的大部分企业项目都跑在它上面;JDK 17则是目前主流的长期支持版本,语法更新,性能更好。如果不知道选哪个,装JDK 8基本不会出错,教程多、资料全、踩坑少。

下载JDK的时候注意一个细节:去Oracle官网或者Adoptium(Eclipse Temurin)下载,千万不要去那种乱七八糟的破解站或第三方下载站。那些网站下载的文件很可能被捆绑了垃圾软件,甚至更严重的问题。我用Adoptium比较多,OpenJDK完全够用,还免去了Oracle账号登录的麻烦,实测下来很稳。

装JDK的过程没什么技术含量,双击安装文件一路Next就行。但有两个点请你务必记住,这是很多人后期出问题的根源:

  • 安装路径不要带中文、不要带空格,比如D:\Java\jdk-8。如果你把JDK装到C:\Program Files\Java,后面配置环境变量容易因空格出幺蛾子。
  • 安装过程中会提示“安装JRE”,JDK 8及以前版本会在安装JDK时顺带安装JRE,JDK 17则默认只装JDK,不用管它,JDK自带完整的运行环境。

1.2 环境变量配置:被无数人忽略的“最后一公里”

JDK装完之后,你还需要手动配置三个环境变量:JAVA_HOME、Path、CLASSPATH(其实现在CLASSPATH基本可以不用配,旧教程里的习惯流传下来)。

先说JAVA_HOME,它就是告诉系统“JDK装在哪个目录”。右键“此电脑”->“属性”->“高级系统设置”->“环境变量”,在系统变量里新建一个变量,变量名填JAVA_HOME,变量值填你的JDK安装路径,比如D:\Java\jdk-8。

再说Path,这一步是让系统能在任何位置直接调用java和javac命令。在系统变量里找到Path,点编辑,新建一行,填入%JAVA_HOME%\bin。这里有个新手常见的误区:bin目录里才是java.exe、javac.exe这两个可执行文件,你配置的是bin目录,不是JDK根目录。

配置完成后验证是否成功,打开命令行(Win+R输入cmd回车)输入:

java -version javac -version

如果两行命令都能显示版本号,说明配置成功。如果提示“不是内部或外部命令”,大概率是Path变量没写对,或者配置完环境变量后没有重新打开命令行窗口。

1.3 IDEA的版本选择:社区版和旗舰版有什么区别

IDEA全称IntelliJ IDEA,是JetBrains家最出名的Java IDE。它有两个版本:社区版(Community)和旗舰版(Ultimate)。社区版完全免费,功能对Java基础学习和大部分个人项目来说完全够用;旗舰版要收费,但支持Web开发、Spring Boot等企业级框架,后面做Web项目会方便很多,官方提供30天试用。

新手的建议是直接装社区版,零成本起步,把基础语法学到手,不要一上来就想着弄“激活码”——网上那些所谓的永久激活码,你永远不知道它夹带了多少私货,很多人的电脑就是这么被搞出安全问题的。等你确实需要Spring Boot之类的功能,再考虑官方试用或者支持正版,路径有很多,完全不需要碰灰色地带。

IDEA下载时注意区分官网地址,直接访问JetBrains的官方网站,进入Tools -> IntelliJ IDEA下载页,认准Community(社区版)的下载按钮就行。安装过程中按默认设置即可,需要勾选的时候记得把“Create Desktop Shortcut”和“Add to PATH”勾上,后面用起来方便。

2. 创建第一个Java项目:不是写代码,而是先理解项目结构

2.1 新建项目的关键一步:选对JDK

打开IDEA,第一次启动会有一个“导入设置”的提示,选Do not import settings就行,这是你在这台机器上的第一次使用。然后会进入欢迎页,点击New Project,这里就开始进入正题了。

新建项目的界面里有一个下拉框让你选“Project SDK”,SDK说白了就是你要用的JDK版本。如果你之前环境变量配好了,这里通常会自动识别到你装的JDK,如果没有,点击Add SDK手动选择JDK安装目录,选到jdk-8或对应版本号的根目录即可。

很多人新建项目时还会纠结要不要用“模板”。IDEA提供了几种模板,比如Maven、Spring Initializr和空项目Empty Project。我的建议是:第一课就选Empty Project(空项目),不要用模板。为什么?因为模板会自动生成一堆目录结构和配置文件,新手根本不知道每个文件是干嘛的,出了问题也不知道去哪里排查。空项目干净,自己动手创建类,你就知道一切是怎么来的了。

如果你想走Maven路线,那是另一个话题,后面我会单独讲,第一节课先用最朴素的方式把“创建->编写->运行”这条路径跑通。

2.2 骨架目录拆解:src 和 out 到底分别放什么

项目创建完成后,你会看到左侧的项目目录树上有一个文件夹src。这个文件夹是IDEA约定的源码根目录,你写的.java源文件全部放在这里。另一个常见的文件夹是out,在IDEA 2020之后的版本里,编译生成的.class文件输出目录叫out(旧版本叫classes),你不需要手动管它,IDEA会自动维护。

打开src,右键 -> New -> Java Class,给类取个名字,比如HelloWorld。注意:类名要遵循驼峰命名法,首字母大写,这一点在以后的工作中也是硬性要求,代码规范不能从第一课就偏了。

创建完之后你会看到这样的代码框架:

public class HelloWorld { }

编译器要求public class的名称必须和文件名一致,HelloWorld.java里就必须是public class HelloWorld。这一点和Python、JavaScript不一样,Java文件名的校验极其严格,我见过很多新手在这里栽跟头,把类名改成hello,结果编译直接报错。第一次接触这个规则会有点别扭,但这也是Java面向对象特性的一种体现:一个公开类代表一个独立的、可以被外部访问的单元。

2.3 项目文件夹里那些你不认识的文件:.idea和.iml

新建完项目后,目录树上会出现一个.idea文件夹和一个.iml文件。新手不用管它们,但最好了解一下它们是干嘛的,万一以后手滑删了什么也好心里有数。

.idea是IDEA的项目配置目录,里面有很多XML文件,记录着你的编码设置、文件监视器、检查规则等。.iml文件是模块配置文件,简单说就是记录这个模块的依赖和根目录信息。你写代码的时候不用去碰它们,但如果用Git做版本管理,建议把.idea加进.gitignore,这样别人克隆你的项目时就不会被你的个人配置干扰。

还有一个困扰很多人的问题:为什么我明明在项目里创建了新文件,左侧目录树却不显示?大概率是文件面板没有刷新,点击目录树顶部的刷新按钮,或者File -> Reload All from Disk,目录内容就会正常更新了。

3. 编写第一行代码:从HelloWorld到真正理解main方法

3.1 代码基础框架和psvm/sout快捷键

在HelloWorld类里开始写代码,最经典的第一课就是打印Hello World。你需要一个main方法作为程序的入口,方法内部用System.out.println把内容输出到控制台。

完整代码是这样的:

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

代码写起来不麻烦,但对于新手来说,容易把void写成void之外的单词、把String[] args漏掉,或者把System写成system。这里有个经验:IDEA里最常用的两个快捷键你一定要记牢。

在类体内直接输入psvm然后回车,IDEA会自动补全整个main方法;输入sout然后回车,IDEA会自动补全System.out.println()。这是IDEA效率流的第一步,以后你写代码的速度会越来越快,但这种自动补全也让很多新手看不懂代码本身。我还是建议你:快捷键可以用,但至少花十分钟把main方法和输出语句的结构逐词拆解一遍,知道每个关键字是什么意思,不能只做“代码打印机”。

3.2 试运行:点击三角形按钮发生了什么

main方法写好了之后,代码左边的行号旁边会亮起一个绿色的三角形箭头。点击它,选择Run 'HelloWorld.main()',IDEA就会开始编译并运行你的程序。

这个过程中,IDEA背后干了三件事:调用编译器把.java编译成.class字节码文件,然后让JVM加载这个字节码文件,最后执行main方法里的代码。你会发现控制台底部弹出一个窗口,里面输出了一行Hello, World!。恭喜你,到这里你就完整跑通了“编写->编译->执行”的Java程序全流程。

如果你运行没成功,大概率是下面几种情况:

  • 没有写main方法,或者main方法签名写错了(比如漏了static),程序无法启动。
  • 代码行号旁边没有绿色箭头,说明IDEA不认为这是可执行入口,检查一下类名和文件名是否一致。
  • 控制台报错错误: 找不到或无法加载主类,这种通常是编译输出目录和源码根目录配置职乱了,后面我会专门讲。

3.3 控制台窗口的正确打开方式:别再用黑窗口了

有些新手学了javac和java命令后,习惯在黑窗口里编译运行,在IDEA里反而找不着北。控制台窗口在IDEA底部,默认叫Run,运行程序后所有输出都在这里。你以后排查异常信息也是靠这个窗口,红色字体为错误信息,白色字体为普通输出。

如果在窗口里看到中文变成乱码,不要慌,这不是代码问题,是编码问题。IDEA默认文件编码是UTF-8,而Windows控制台默认输出编码有可能是GBK。解决方式很简单:菜单栏Help -> Edit Custom VM Options,在打开的文件末尾追加一行-Dfile.encoding=UTF-8,重启IDEA,乱码基本就消失了。这是新手很容易遇到但很少有人提前提醒的坑,我在这里先写出来,免得你踩进去。

4. 把IDEA调成“趁手工具”:那些值得一开始就做好的设置

4.1 界面外观和字体设置:眼睛舒服了代码才能写下去

很多教程会把字体设置放最后,我偏要放前面:一个让你看得舒服、敲得顺畅的工具,才是好工具。

打开File -> Settings(Windows)或IntelliJ IDEA -> Preferences(macOS),找到Appearance & Behavior -> Appearance,这里能调整主题,推荐Darcula(深色)或IntelliJ Light(浅色),个人偏好,不影响代码功能。重点来了,在Editor -> Font里调整字体大小,建议大小16或18,行距1.2左右。默认字体可能是JetBrains Mono,这一款对程序员来说非常友好,字母数字区分度高。

另外,在Editor -> General -> Mouse里可以勾选“Change font size with Ctrl+Mouse Wheel”,这样之后用快捷键就能随时缩放代码字号,非常方便。

4.2 自动保存和自动编译:让IDEA替你操心体力活

IDEA有一个好习惯:它会自动保存你的修改,不需要像记事本那样手动Ctrl+S。在默认配置下,你切到浏览器再切回来,代码就已经保存好了,这一点对新人的意义很大——忘记保存导致的丢失事件基本不会发生。

编译方面,默认情况下IDEA是手动编译的,就是你点击那个绿色三角运行按钮时才触发编译。新人可以先这样用,逻辑简单,不用了解太多内幕。后面等你接触Maven项目了,再打开“Build project automatically”,也就是自动编译模式,开发效率会提升不少。

4.3 常用快捷键整理:第一批值得背下来的操作

不管你是小白还是工作了两三年的Java开发,快捷键都是硬通货。我整理了一份新人前期最常用的快捷键清单,建议存下来:

操作快捷键(Windows)说明
格式化代码Ctrl + Alt + L让代码排版整齐,强迫症福音
智能提示补全Alt + Enter万能键,提示修复或补全
快速生成main方法psvm + Tab/Enter自动补全main结构
快速输出语句sout + Tab/Enter自动补全println
查找所有Shift + Shift全局搜索,搜类、搜文件、搜符号
重命名Shift + F6安全重命名,所有引用同步更新
注释切换Ctrl + /行注释,按一下注释,再按一下取消
展开/折叠代码Ctrl + Shift + 加号/减号代码多的时候很有用

快捷键操作前期可以不用全背,先把psvm、sout、Ctrl + /这几个用熟,后面的效率会随着熟练度自然提升。

4.4 常用插件推荐:小而美,不装花里胡哨的

IDEA从一个“编辑器”升级成“生产力工具”,很大程度上靠的是插件生态。但新人千万别装一堆花里胡哨的插件,既拖慢启动速度,又会增加心里负担。我推荐三个实打实有用的:

  • Chinese Language Pack:如果你对英文界面实在不适应,装这个中文语言包,界面直接变中文。但它有个副作用:网上大部分资料用的是英文界面描述,你以后对不上号时会有点懵。
  • Rainbow Brackets:用不同颜色区分括号层级代码里的括号一多,人眼就容易花,这个插件直接挽救视力。
  • CodeGlance:在编辑器右侧显示一个代码缩略图,长文件拖动定位特别方便。

安装路径:File -> Settings -> Plugins,搜索插件名,点Install后重启IDEA即可。

5. 项目跑起来的完整实操演练:从空项目到Hello World全过程

5.1 分步骤清单:照着敲就能成功

我把刚才讲的内容整合成一个完整清单,新手照着这个流程走一遍,基本就能跑通第一个Java程序了。

  1. 启动IDEA,关闭所有项目,点击New Project。
  2. 左侧选择Java,右侧Project SDK选择你安装的JDK版本,此时不需要创建模板。
  3. 填写项目名称,比如JavaDemo,选择项目保存路径,路径也不要带中文和空格。
  4. 点击Finish,项目创建完成,稍等片刻让人IDEA完成索引构建。
  5. 展开src文件夹,右键 -> New -> Java Class,类名填HelloWorld,回车。
  6. 在类中输入psvm,回车补全main方法。
  7. 在main方法里输入sout,回车补全输出语句,括号里填"Hello, World!"。
  8. 点击代码左边的绿色三角形,选择Run 'HelloWorld.main()'。
  9. 在底部Run窗口查看运行结果。

这个过程使用起来大概五分钟左右。如果一次成功,恭喜你,你已经在使用真正专业的Java开发工具了;如果没成功,继续看下面的排查清单,几乎每个人都会在某个环节出一次小问题,这很正常。

5.2 从HelloWorld开始理解类的本质

很多人写完了HelloWorld就急着写下一段代码,但我想在这一节多说两句,因为这几分钟的理解能帮你朝Java“面向对象”这个大方向打下一个地基。

Java的世界里,一切代码都写在“类”里。你可以把类理解成一张设计图纸,main方法是这套图纸的“启动按钮”。Java程序的执行入口是public static void main(String[] args),这是JVM找入口时的固定格式,一个类里只能有一个main方法。

那String[] args是干嘛用的?它是命令行参数数组。如果你用命令行运行程序时在后面带参数,比如java HelloWorld zhangsan,那么args数组就包含了"zhangsan"这个字符串。在IDEA中你可以通过Run -> Edit Configurations -> Program arguments去配置参数,新人了解即可,目前先不用深入。

5.3 多类项目的运行方式:从“单类”走向“多类”

实际项目里当然不可能只有一个类,那多个类的情况下怎么运行?道理还是相同:JVM只认带main方法的类作为入口。你有十个类,但只有一个类里有main方法,点击这个main方法旁的绿色箭头运行就行了。

给个非常典型的场景:你写了一个Student类,里面定义了姓名和年龄属性,又写了一个Main类用来创建学生对象并打印信息。运行时,你需要运行的是Main类,而不是Student类。这说明一个项目可以有无数个类,但启动入口永远只有一个main方法。

这一点理解了,后面学什么Service、Controller、Vo这些乱七八糟的类时就不会晕了——它们都是为了功能模块拆分服务的,负责具体的数据处理和业务逻辑,入口在哪里,始终是那个main方法。

6. 常见报错排查实录:新手期最容易栽的五个坑

6.1 找不到或无法加载主类

这是Java新手遇到频次最高的报错,没有之一。错误提示形如“错误: 找不到或无法加载主类 HelloWorld”,隐蔽性强且容易吓到人。

产生这个问题的常见原因有两个:第一个是编译输出目录配置出错,处理办法是File -> Project Structure -> Modules,查看Sources和Output路径是否正常;第二个是项目缓存出现了问题,处理办法是File -> Invalidate Caches / Restart,清理所有缓存并重启IDEA,等索引重建完成后再次运行。

如果在清理缓存后依然报错,再看看当前运行的配置。点击菜单栏运行配置下拉框,选Edit Configurations,确认Main class那里填写的类名与你实际创建的类名完全一致,包括大小写。

6.2 JDK版本不匹配导致的红色报警

有时你新建项目时选了JDK 8,但某个库或者代码里用了Java 11才引入的语法特性(比如var关键字),IDEA里会显示红色下划线。这时不用急着改代码,先去Project Structure里看看Project SDK和Language level配置,确保它们一致。Language level是IDEA的一个“编译器语法约束”,如果你用了高版本语法但这里还停在8,那就会报警。把Language level调到和JDK版本匹配,问题就解了。

6.3 中文乱码和编码问题

控制台输出中文乱码,是Windows环境下经常遇到的问题,上面我提过一次-Dfile.encoding=UTF-8的解决方案,这里再补充一个彻底的办法:设置里搜索Console,找到Default Encoding,把它也改成UTF-8。

还有一种乱码是因为源文件本身被存成了GBK编码。尤其当你接收别人给的.java文件时,打开IDE后中文变成了“锟斤拷”之类的乱码,这就是文件编码不对。处理办法:右下角点击UTF-8文字,选择Reload in,换个编码重新加载文件,然后再调回UTF-8。

6.4 快捷键失效:刚下载的插件吞掉了快捷键

装了某个插件后发现Ctrl+Alt+L格式化失效了,或者某种快捷键被占用,这种事时有发生。排查办法:File -> Settings -> Keymap,搜索对应快捷键,看看有没有被其他action占用;最笨也最有效的办法是把Keymap配置恢复为默认,然后重新设置自己的习惯。

还有一种情况是输入法全角半角问题:Windows切换输入法后,部分快捷键被输入法截获。比如搜狗输入法有时会占用组合键,你可以在输入法设置里关闭特殊热键,或者写代码时切到英文状态,这几乎是所有Windows开发者的必备肌肉记忆。

6.5 项目里出现了红色报错但代码没有错

这个情况很迷,但也常见:代码明明没问题,IDEA却显示红色引用找不到。通常是因为Maven或者Gradle项目还没完成依赖下载,或者IDEA的索引没构建好。解决办法:等待右下角的进度条走完,或者File -> Reload All from Disk,再不行就Invalidate Caches / Restart重启IDE。

其实写Java项目先别急着追求“所有红色都消失”,有些是语义级别的报警,有些仅仅是因为IDEA还没完成分析。新手要学会区分:真正的编译错误会让你运行时失败,而IDEA的红线提示有时只是静态检查友情提醒,运行的时候其实完全正常。

7. 从HelloWorld到真实项目:下一步往哪个方向走

7.1 学习Maven:Java项目里真正的“管家”

如果你以后打算做Java开发,Maven是绕不开的一环。Maven是项目管理和构建工具,负责管理你的依赖包(比如你用到了某个开源库,只需要在配置里声明,Maven自动下载)、构建项目、打包发布。它和IDEA配合得非常紧密,等你准备做第二个项目时,建议直接选择New Project里的Maven模板。

Maven项目有一个标准目录结构,新手刚接触会有点懵:

  • src/main/java:主代码目录
  • src/main/resources:配置文件目录
  • src/test/java:测试代码目录
  • pom.xml:项目配置和依赖声明文件

说实话,当初我从空项目切到Maven项目时,花了半天才搞明白为什么代码要放在一个嵌了好几层的目录里。现在回头看,这个结构是有道理的:编译、测试、发布都按约定来,团队协作时谁看代码都能秒找位置。

7.2 从控制台走向Web:Spring Boot帮你打开新世界

当你掌握Java基础、面向对象、Maven之后,下一步自然就是做Web项目。现在企业级Java Web开发最主流的技术栈是Spring Boot + MyBatis,光是这两个关键词的搜索量,就能看出国内Java开发的生态方向。

Spring Boot项目怎么在IDEA里创建?有两种方式:第一种是安装Spring插件(社区版不支持Spring,旗舰版自带),在New Project里用Spring Initializr向导创建;第二种是去start.spring.io网站上在线生成项目压缩包,然后导入IDEA。社区版免费用户最常用的是第二种,免费且功能完整。

创建完Spring Boot项目后,运行方式有变化:不再是点一下main方法旁边的小三角,而是先启动一个内嵌的Web服务器,然后通过浏览器访问http://localhost:8080来验证。这背后的原理简单说就是:Spring Boot自动配置了一个内嵌的Tomcat服务器,你的Java程序跑起来时,同时对外提供了HTTP接口服务。

7.3 一个小建议:先别急于装插件,先把读代码能力练起来

很多新手在学完HelloWorld后,第一反应是“我要装十来个插件,让IDEA变强大”,第二个反应是“我要下载Java面试题,开始准备面试”。我建议这两件事都可以缓一缓,先做一件事:每天读二十行别人写的Java代码,并刻意去猜每个public、static、void、new背后的含义。

IDEA本身自带的代码阅读体验已经足够好,Ctrl + 鼠标左键可以跳到类或方法的定义,Alt + F7可以查看某个方法被谁调用了。这些功能不需要任何插件,但对培养代码理解能力至关重要。我把这个习惯视为从一个“会敲代码的初学者”走向“能解决问题的开发者”的关键一步。

启动第一课的结论很简单:安装JDK,装好IDEA,创建空项目,写出HelloWorld,运行成功。你只需要几个小时就能完成整个流程,但这个过程并不只是“写了抬指头代码”,而是你第一次在一个完整的、工业级IDE里,理解Java程序的构建与执行逻辑。很多人觉得Java开发的门槛高,真正走过一遍才发现,障碍往往不是编程本身,而是那些没人告诉你、但又处处是坑的环境配置和工具使用细节。

等你把今天这条路径跑顺了,后面学的每一块知识,都有了挂靠的载体。

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

Java自学踩坑记:环境变量到框架选型的六个典型问题

2026年1月13日,星期二。晚上十点半,我合上电脑,把今天学Java时踩到的六个问题记在了笔记里。说实话,学Java这个决定我犹豫了很久——网上资料多到让人眼花缭乱,教程、路线图、面试八股文铺天盖地,真到自己动…

作者头像 李华
网站建设 2026/10/10 0:21:05

朴素贝叶斯中文情感分析实战:从文本预处理到模型评估全流程

简介:基于朴素贝叶斯算法实现情感文本分析与分类的完整项目源码,配套微博语料数据与预训练词向量,主要面向计算机相关专业学生及从业者,可作为期末课程设计或大作业的参考实现,适用于中文短文本情感倾向性判别等场景。…

作者头像 李华
网站建设 2026/10/10 0:10:56

把 671B 的推理能力压缩进 7B:R1 蒸馏的魔法、代价与边界

把 671B 的推理能力压缩进 7B:R1 蒸馏的魔法、代价与边界 【免费下载链接】DeepSeek-R1 探索新一代推理模型,DeepSeek-R1系列以大规模强化学习为基础,实现自主推理,表现卓越,推理行为强大且独特。开源共享,…

作者头像 李华
网站建设 2026/10/10 0:07:54

AnyPS5跨平台图形兼容层:relinker与SPIR-V技术解析

1. AnyPS5 项目缘起与核心定位第一次看到 AnyPS5 这个标题,很多人会下意识以为这是某个 PlayStation 5 的模拟器或者串流工具。实际上,从它关联的热搜词——Linux、Windows、relinker、SPIR-V——就能看出,这是一个跨平台的图形层兼容项目&am…

作者头像 李华
网站建设 2026/10/10 0:07:31

电网104规约解包实战:Java解析遥测遥信与TCP粘包处理

简介:本资源面向电力自动化、工控通信方向的Java开发者与学习者,围绕电网101规约(DL/T634.5101-2002)与104规约(DL/T634.5104-2009)提供一套可运行的解析与组包代码,解决规约报文内容解析、发送…

作者头像 李华