03-环境搭建
0. 摘要
注意: JDK 是 Java 编译和运行的环境。严格来说和游戏还不大一样,游戏相当于是 JRE, 只是 Java 运行的环境。 JDK 相当于是游戏 + 游戏编辑器。JDK 和 JRE 什么具体的区别呢?开始学习的时候不要在意这些细节。
这个小坑我们后面来填一下~
1. 环境搭建
- 下载安装(JDK)(Java Development Kit)
- 检测 JDK 安装是否成功
- 编写运行第一个程序——Hello World
- 初识 Java 程序
- 练习题
2. 下载安装
2.1 下载地址
- Mac 下载链接:https://www.oracle.com/java/technologies/downloads/#jdk18-mac
- Windows 下载链接:https://www.oracle.com/java/technologies/downloads/#jdk18-windows
便捷下载:
- Mac:【下载后,解压即可安装】
- Windows:【下载后,解压即可安装】
jdk-11.0.2_windows-x64_bin.zip
2.2 Mac 安装&代码测试
2.2.1 打开安装包
![image.png](/assets/1654404194520-a8522387-25e3-4d56-829b-6923ce6b67fb-fWrLUQTQ.png)
会弹出如下窗口:
![image.png](/assets/1654404233712-eddc0576-c722-4bba-be58-f782cc2b7a1b-Bu84cHKz.png)
2.2.2 点击图标
![image.png](/assets/1654404359579-f514a113-f4ba-4e8b-8b02-9be109522378-C7AUq4rz.png)
下图是一个标准的安装向导:
![image.png](/assets/1654404460411-e4da5d99-4aae-4220-a1d6-67f11ff7bbb9-DIXe_4V7.png)
2.2.3 点击继续
![image.png](/assets/1654404536047-fd64519b-242c-43f7-a3b5-0b4790bea5ad-BSx3EL9k.png)
2.2.4 点击安装并输入密码
![image.png](/assets/1654404637594-2c582f7a-797a-4d22-8f28-f4d2288aaaab-gHSjLIXv.png)
![image.png](/assets/1654404652413-1020b6b1-11b0-46e4-aafa-4173d292507d-Dwa5cKnW.png)
![image.png](/assets/1654404659534-cca75efb-ccb5-4c6d-b8e0-15436ebf3d64-BeGj2wD2.png)
2.2.5 安装验证 1「java」
点击启动台>其他>终端
➜ ~ java
用法:java [options] <主类> [args...]
(执行类)
或 java [options] -jar <jar 文件> [args...]
(执行 jar 文件)
或 java [options] -m <模块>[/<主类>] [args...]
java [options] --module <模块>[/<主类>] [args...]
(执行模块中的主类)
或 java [options] <源文件> [args]
(执行单个源文件程序)
将主类、源文件、-jar <jar 文件>、-m 或
--module <模块>/<主类> 后的参数作为参数
传递到主类。
其中,选项包括:
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
--class-path <目录和 zip/jar 文件的类搜索路径>
使用 : 分隔的, 用于搜索类文件的目录, JAR 档案
和 ZIP 档案列表。
-p <模块路径>
--module-path <模块路径>...
用 : 分隔的目录列表, 每个目录
都是一个包含模块的目录。
--upgrade-module-path <模块路径>...
用 : 分隔的目录列表, 每个目录
都是一个包含模块的目录, 这些模块
用于替换运行时映像中的可升级模块
--add-modules <模块名称>[,<模块名称>...]
除了初始模块之外要解析的根模块。
<模块名称> 还可以为 ALL-DEFAULT, ALL-SYSTEM,
ALL-MODULE-PATH.
--list-modules
列出可观察模块并退出
-d <module name>
--describe-module <模块名称>
描述模块并退出
--dry-run 创建 VM 并加载主类, 但不执行 main 方法。
此 --dry-run 选项对于验证诸如
模块系统配置这样的命令行选项可能非常有用。
--validate-modules
验证所有模块并退出
--validate-modules 选项对于查找
模块路径中模块的冲突及其他错误可能非常有用。
-D<名称>=<值>
设置系统属性
-verbose:[class|module|gc|jni]
启用详细输出
-version 将产品版本输出到错误流并退出
--version 将产品版本输出到输出流并退出
-showversion 将产品版本输出到错误流并继续
--show-version
将产品版本输出到输出流并继续
--show-module-resolution
在启动过程中显示模块解析输出
-? -h -help
将此帮助消息输出到错误流
--help 将此帮助消息输出到输出流
-X 将额外选项的帮助输出到错误流
--help-extra 将额外选项的帮助输出到输出流
-ea[:<程序包名称>...|:<类名>]
-enableassertions[:<程序包名称>...|:<类名>]
按指定的粒度启用断言
-da[:<程序包名称>...|:<类名>]
-disableassertions[:<程序包名称>...|:<类名>]
按指定的粒度禁用断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言
-agentlib:<库名>[=<选项>]
加载本机代理库 <库名>, 例如 -agentlib:jdwp
另请参阅 -agentlib:jdwp=help
-agentpath:<路径名>[=<选项>]
按完整路径名加载本机代理库
-javaagent:<jar 路径>[=<选项>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-splash:<图像路径>
使用指定的图像显示启动屏幕
自动支持和使用 HiDPI 缩放图像
(如果可用)。应始终将未缩放的图像文件名 (例如, image.ext)
作为参数传递给 -splash 选项。
将自动选取提供的最合适的缩放
图像。
有关详细信息, 请参阅 SplashScreen API 文档
@argument 文件
一个或多个包含选项的参数文件
-disable-@files
阻止进一步扩展参数文件
--enable-preview
允许类依赖于此发行版的预览功能
要为长选项指定参数, 可以使用 --<名称>=<值> 或
--<名称> <值>。
➜ ~
Java 这个命令是来执行 Java 这个程序的。
2.2.6 安装验证 2「java -version」
➜ ~ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
2.2.7 安装验证 3「javac」
➜ ~ javac
用法: javac <options> <source files>
其中, 可能的选项包括:
@<filename> 从文件读取选项和文件名
-Akey[=value] 传递给注释处理程序的选项
--add-modules <模块>(,<模块>)*
除了初始模块之外要解析的根模块; 如果 <module>
为 ALL-MODULE-PATH, 则为模块路径中的所有模块。
--boot-class-path <path>, -bootclasspath <path>
覆盖引导类文件的位置
--class-path <path>, -classpath <path>, -cp <path>
指定查找用户类文件和注释处理程序的位置
-d <directory> 指定放置生成的类文件的位置
-deprecation 输出使用已过时的 API 的源位置
--enable-preview 启用预览语言功能。要与 -source 或 --release 一起使用。
-encoding <encoding> 指定源文件使用的字符编码
-endorseddirs <dirs> 覆盖签名的标准路径的位置
-extdirs <dirs> 覆盖所安装扩展的位置
-g 生成所有调试信息
-g:{lines,vars,source} 只生成某些调试信息
-g:none 不生成任何调试信息
-h <directory> 指定放置生成的本机标头文件的位置
--help, -help, -? 输出此帮助消息
--help-extra, -X 输出额外选项的帮助
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-J<flag> 直接将 <标记> 传递给运行时系统
--limit-modules <模块>(,<模块>)*
限制可观察模块的领域
--module <module-name>, -m <module-name>
只编译指定的模块, 请检查时间戳
--module-path <path>, -p <path>
指定查找应用程序模块的位置
--module-source-path <module-source-path>
指定查找多个模块的输入源文件的位置
--module-version <版本> 指定正在编译的模块版本
-nowarn 不生成任何警告
-parameters 生成元数据以用于方法参数的反射
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...]
要运行的注释处理程序的名称; 绕过默认的搜索进程
--processor-module-path <path>
指定查找注释处理程序的模块路径
--processor-path <path>, -processorpath <path>
指定查找注释处理程序的位置
-profile <profile> 请确保使用的 API 在指定的配置文件中可用
--release <release> 针对特定 VM 版本进行编译。支持的目标: 6, 7, 8, 9, 10, 11
-s <directory> 指定放置生成的源文件的位置
-source <release> 提供与指定发行版的源兼容性
--source-path <path>, -sourcepath <path>
指定查找输入源文件的位置
--system <jdk>|none 覆盖系统模块位置
-target <release> 生成特定 VM 版本的类文件
--upgrade-module-path <path>
覆盖可升级模块位置
-verbose 输出有关编译器正在执行的操作的消息
--version, -version 版本信息
-Werror 出现警告时终止编译
➜ ~
2.2.8 安装验证 4「javac -version」
➜ ~ javac -version
javac 11.0.2
2.2.9 测试安装并运行代码
因为,Mac 没有自带好用的编辑器,所以这里我们先使用 SublimeText 来编写运行。
下载地址:https://www.sublimetext.com/download
![image.png](/assets/1654406070203-879ed934-cb40-459b-a821-720a88250f97-h1rg-GKJ.png)
选择你需要的系统安装包,下载安装即可。
2.2.10 打开 SublimeText
![image.png](/assets/1654406255037-5247d17f-dfe3-4ca6-9eca-893fa7571fd6-r2j6Qd4g.png)
2.2.11 编写代码
public class QuickSand{
public static void main(String[] args){
System.out.println("Hello QuickSand!");
}
}
![image.png](/assets/1654406593465-2eaacd98-12c7-4fa3-a8ee-ec3c2c054baa-DEOuL5hT.png)
这样就编写完成了,我们来保存代码。
2.2.12 保存
保存,这里我们使用快捷键:Command + S 就可以保存了。
![image.png](/assets/1654406691022-74405968-0b20-4eb3-8afb-255c955fb500-DoW8vonA.png)
修改我们的保存文件名称,这个文件名称要和我们代码里面的类名一致。后缀名称必须是 .java
![image.png](/assets/1654406776606-5c47b262-eb25-4bd8-94f9-597f6fc08a4c-u8tCDXKd.png)
保存之后,你会看见代码被 SublimeText 高亮显示了。这个时候 SublimeText 的使命就已经完成了,接下来进入终端,进入保存源代码的目录。
2.2.13 启动终端&进入目标路径&运行代码「javac 就是 java compiler 的缩写」
![image.png](/assets/1654444863973-e85d939c-91ca-44d2-848a-008f6ca52180-CJtLbngH.png)
➜ ~ cd Desktop/iMacCoder/JavaCoder
➜ JavaCoder ls
QuickSand.java
➜ JavaCoder javac QuickSand.java # 进行我们的编译
➜ JavaCoder ls
QuickSand.class QuickSand.java
➜ JavaCoder java QuickSand # 执行我们的 Java 程序,后面不要带任何后缀
Hello QuickSand!
➜ JavaCoder
.java
文件是给人读的.class
是给机器读的,给 java 执行用的
2.2.14 加餐「自己修改一下输出吧!」
public class QuickSand{
public static void main(String[] args){
System.out.println("Hello QuickSand! Go Go Go!");
}
}
还记得如何运行吗?来一起运行吧:
![image.png](/assets/1654444885642-7478065c-3e3a-4263-9549-05959c74e62b-utWbWYHA.png)
➜ JavaCoder javac QuickSand.java
➜ JavaCoder java QuickSand
Hello QuickSand! Go Go Go!
2.2.15 加餐「换成中文版本的输出吧!」
public class QuickSand{
public static void main(String[] args){
System.out.println("你好,流沙团队! Go Go Go!");
}
}
运行:
➜ JavaCoder javac QuickSand.java
➜ JavaCoder java QuickSand
你好,流沙团队! Go Go Go!
2.2.16 小结
- 程序要用英文字符来编写;
- 大小写要和我敲的一样;
- 程序的所有标点符号一律要用英文;
- 缩进,为了让代码整洁一致;
- 保存的文件名称,一定要和我们的类名称是一致的;「大小写都要一样哦!」
- 后缀名一定要
.java
; - 输出的字符呢,可以是任意字符;「也就是,我们用输入法可以输入的字符,都可以放在双引号里面」
2.2.17 故意出错?
2.2.17.1 测试一
如果我们的类名和文件名称不一样,会出现什么问题呢?
当前文件情况:
- 类名: QuickSand
- 文件名称: QuickSand.java
修改后:
- 类名: Quicksand
- 文件名称: QuickSand.java
![image.png](/assets/1654446227022-88b6508f-d657-4efc-acd1-1516351513bc-CDcUX0pu.png)
运行情况:
![image.png](/assets/1654445754103-706f53d3-4d5e-4d18-ab5a-c28cb3733c97-DNn5pjFu.png)
➜ JavaCoder javac QuickSand.java
QuickSand.java:1: 错误: 类 Quicksand 是公共的, 应在名为 Quicksand.java 的文件中声明
public class Quicksand{
^
1 个错误
测试运行之后,恢复成正常代码,我们继续测试。
2.2.17.2 测试二
把 public class Quicksand
修改为:Public class Quicksand
。
![image.png](/assets/1654446259550-2d1bb15b-f289-4237-9746-9ff41d89bed2-BehRJhvb.png)
运行后:「语法错误,我们目前可以理解为:编译出错,就是语法出现错误的文件。」
![image.png](/assets/1654445986377-90215249-9936-4095-baa8-f456d4331f71-D1fSSKrz.png)
➜ JavaCoder javac QuickSand.java
QuickSand.java:1: 错误: 需要class, interface或enum
Public class Quicksand{
^
1 个错误
2.2.17.3 测试三
把 {}
修改为:「」
。
![image.png](/assets/1654446866393-7a7979f7-f5ce-4a6b-9698-1549b748ac22-BAzO5gTi.png)
运行后:
![image.png](/assets/1654446901843-44844ed1-a5e0-4fe5-b71f-7ad5eb93a098-CyhoQDmX.png)
➜ JavaCoder javac QuickSand.java
QuickSand.java:1: 错误: 非法字符: '\u300c'
public class QuickSand「
^
QuickSand.java:5: 错误: 非法字符: '\u300d'
」
^
QuickSand.java:5: 错误: 进行语法分析时已到达文件结尾
」
^
3 个错误
2.2.17.4 测试四
把双引号修改成中文双引号。
![image.png](/assets/1654446985801-18550ac5-c052-496e-bdb8-0fbf23c27c2b-9oLtl5cb.png)
运行后:
![image.png](/assets/1654447110900-1f9b90e9-ad26-45a4-b7c6-817fb63f243a-Co09Anl0.png)
➜ JavaCoder javac QuickSand.java
QuickSand.java:3: 错误: 非法字符: '\u201c'
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 非法字符: '\uff0c'
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 不是语句
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 不是语句
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 需要';'
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 需要';'
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 不是语句
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 需要';'
System.out.println(“你好,流沙团队! Go Go Go!”);
^
QuickSand.java:3: 错误: 非法字符: '\u201d'
System.out.println(“你好,流沙团队! Go Go Go!”);
^
9 个错误
2.3 Windows 安装
2.3.1 打开安装包
![image.png](/assets/1654421350988-96cd021d-7ad5-47b8-881d-40ed85345870-CIU2stCU.png)
2.3.2 点击下一步
![image.png](/assets/1654495068624-fa8bb2ba-8219-4077-bad8-4b706e048811-DXiDsc9k.png)
![image.png](/assets/1654495115467-9793d396-b6e4-4bc0-bb19-7f9fd86f66db-ByKbwx7J.png)
2.3.3 等待安装完成即可
![image.png](/assets/1654495155012-bc63b3fd-db87-47dc-bb41-89da0e563a9f-TlUWw3Rv.png)
2.3.4 设置 Java 环境变量
设置 Java 的环境变量,以便我们正常访问。
首先,我们要找到 Java 在电脑上的安装路径。
![image.png](/assets/1654503256971-d5504d9f-bc93-49c2-a44c-86561f07edd7-BS08PGfC.png)
复制我们的安装路径:
C:\Program Files\Java\jdk-11.0.2
2.3.5 打开我的电脑>属性
![image.png](/assets/1654503661259-7412b568-682f-4cda-bbb7-85b9b125896a-BpWEUBgs.png)
2.3.6 点击高级系统设置
![image.png](/assets/1654504080408-c2c3bb81-469a-4d4d-88b7-94ebed4e46ad-Bn5WwDsj.png)
![image.png](/assets/1654504631382-b4eab8a3-cfc4-4352-a9fa-29c9d88a60c4-BvwYWu1P.png)
2.3.7 点击环境变量
![image.png](/assets/1654504758355-2beccbae-65a3-49d2-85f0-3b7a7b250313-DRv7YWfU.png)
![image.png](/assets/1654504797905-0ed2337b-c576-431a-8e2b-41d7f87bc212-DIeuy-9w.png)
2.3.8 点击系统变量>新建
因为,这台电脑是我的私人电脑,所以我可以直接在系统环境中创建我的 Java 环境变量。如果你这台电脑是共享的电脑,你就可以选择为你的这个用户创建 Java 环境变量。
![image.png](/assets/1654504911786-6329c64c-a634-46f5-8c58-57201cb44853-Dk1V1rNW.png)
![image.png](/assets/1654505164171-90b4bfa8-bf0b-4a9e-b403-ce282b8ae0a1-oKYxrRJf.png)
2.3.9 填写如下数据
![image.png](/assets/1654505517790-2c54fb7d-743b-48f9-859d-9be95f8eed8c-CNEm3Xc7.png)
2.3.10 设置系统环境变量下的 Path 并添加
C:\Program Files\Java\jdk-11.0.2\bin
![image.png](/assets/1654505715508-347672b6-dc60-4b11-a4f4-31181da64a8c-BoxpCh_h.png)
![image.png](/assets/1654506452709-d0af9d49-1903-41df-a5bb-34fb6591539d-DFvuQX7V.png)
2.3.11 验证安装环境
启动命令行:Win + R:
![image.png](/assets/1654506624908-1f871379-62ad-406c-a60b-67face6bb3da-DUkVN3Th.png)
![image.png](/assets/1654506685724-342c4155-c0fd-4eb6-b235-bf7762232e1b-CbavSNOa.png)
输入 Java 即可:
![image.png](/assets/1654506994985-53bd2263-2f71-478e-9ddf-d8ee3b691567-DaHYVB8q.png)
2.3.12 查看 Java 版本 【java -version】
![image.png](/assets/1654507075850-69169732-91d4-41f1-bf66-225d019ecd00-WdX2KR7H.png)
2.3.13 检测 Javac
![image.png](/assets/1654507155853-2e805f5c-e5a4-4ed2-a8b7-3817a05492e7-VrXYPiXj.png)
2.3.14 查看 Javac 版本【javac -version】
![image.png](/assets/1654507263591-435373c9-8b78-4cb0-93bb-86de9cc8c26b-CGwEUTd1.png)
2.3.15 编写代码并测试,打开 Windows 自带的文本编辑器
![image.png](/assets/1654507514578-9228cac7-9b1f-4d06-9445-e2526d8971a4-Bz9znwdQ.png)
![image.png](/assets/1654507523531-5d454e6d-a4ca-4075-995e-14af7a1cde8a-C4lT9ht8.png)
2.3.16 编写如下代码
public class QuickSand{
public static void main(String[] args){
System.out.println("Hello QuickSand!");
}
}
![image.png](/assets/1654507667407-bda2a0ca-6020-4eb7-91ad-d8c6740b3aca-Dmca4zgF.png)
2.3.17 保存代码【CTRL+S】
![image.png](/assets/1654507852416-cbd76b17-5a7f-45e0-9ecd-864c7e8acd78-Dm7IoHVo.png)
2.3.18 启动命令行&运行代码
![image.png](/assets/1654507926282-1751ab3b-6806-49f3-b8ad-2872a7c9442f-Vo5G_KoK.png)
![image.png](/assets/1654508092695-c530e2ea-7ec2-4e3b-965d-d53c7bc28293-Dy0sN_g_.png)
C:\>cd Users\clela\Desktop\JavaCoder
C:\Users\clela\Desktop\JavaCoder>javac QuickSand.java
C:\Users\clela\Desktop\JavaCoder>dir
驱动器 C 中的卷是 OS
卷的序列号是 0AED-8BC3
C:\Users\clela\Desktop\JavaCoder 的目录
2022/06/06 22:01 <DIR> .
2022/06/06 22:01 <DIR> ..
2022/06/06 23:55 428 QuickSand.class
2022/06/06 17:30 115 QuickSand.java
2 个文件 543 字节
2 个目录 255,316,078,592 可用字节
C:\Users\clela\Desktop\JavaCoder>java QuickSand
Hello QuickSand!
接下来自行修改输出内容,具体的可以查看 MacOS 安装教程中的内容。2.2.9
2.3.19 作业
尝试用程序输出不同的字符出来,可以尝试不同的长度,中文等。
3. IntelliJ IDEA 集成开发环境的安装和使用
之前,我们是通过文本编辑器「SublimeText」来编写程序,通过终端来编译运行程序。相信你能体会到,这样来回切换是很麻烦且浪费时间的。接下来,我们来下载和安装 IDE。
3.1 下载
- MacOS 下载地址:https://www.jetbrains.com.cn/idea/download/#section=mac
- Windows 下载地址:https://www.jetbrains.com.cn/idea/download/#section=windows
选择社区版本即可,如下图:
MacOS:
![image.png](/assets/1654447597613-a2e87f95-b3c6-4f1b-8a64-9fe5c78f938e-pkDe8J0J.png)
Windows:
![image.png](/assets/1654447625487-462af055-1579-42de-84bd-78b8e926df49-BjE4tJIB.png)
3.2 MacOS 安装
3.2.1 打开
![image.png](/assets/1654447909523-294bfec1-3a2a-4111-ba22-95ea09f13ecf-ypoNoo9B.png)
![image.png](/assets/1654447948558-124abd86-e9f2-4950-b6db-cb3d7d940fcd-d5Zzp5L5.png)
3.2.2 拖拽到 Applications
![image.png](/assets/1654447986329-95a7727c-b162-484d-800b-d3069fa45e50-CesLuN3h.png)
3.2.3 IDE「Integrated Development Environment」
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。
你也可以理解为:我们就不需要在命令行、编辑器之间来回切换了。
3.2.4 打开 IDE
![截屏2022-06-06 01.01.17.png](/assets/1654448498732-977d3a53-30b3-482a-9668-1f78dc00019a-CQwinT3E.png)
![image.png](/assets/1654448523635-f476cf9c-00ad-438a-b8e2-4ac65e005814-CR8RNCsx.png)
![image.png](/assets/1654448536656-723cf479-a816-4412-95b3-212bc9158c47-ymwc6oem.png)
3.2.5 新建项目
![image.png](/assets/1654448770011-c0211a55-aa67-4a11-b394-99e3e8b1ab33-w2n3md05.png)
![image.png](/assets/1654448791063-42ffcfd9-ed01-456a-a9f4-0ea969d8700d-CxIEg706.png)
![image.png](/assets/1654448900335-71d8b1ed-030e-44e5-9a5c-f4c4d8a72b7c-Bl3siFS6.png)
![image.png](/assets/1654448957845-635e07cd-27e5-4157-8a99-ddf491679d97-13wBiiYE.png)
3.2.6 新建 Java 文件
![image.png](/assets/1654449470571-64256d98-9ee1-4b2d-a31d-fa46ddde8b08-BdRW_-yj.png)
![image.png](/assets/1654449496253-3efe70e0-d0af-4252-a3b1-fb76630f0dc1-CLHxe-sF.png)
![image.png](/assets/1654449527817-28e67966-8ab5-45cf-87f4-9c616dda6690-CRIPwwEB.png)
![image.png](/assets/1654449655154-41486339-8c73-47f5-a428-c0b7fcbadd53-CipuCzD_.png)
3.2.7 编写代码
public class QuickSand {
public static void main(String[] args){
System.out.println("Hello QuickSand!");
}
}
3.2.8 运行代码
![image.png](/assets/1654449927493-c834deb6-f571-470f-bb33-3bdac2a8fcd6-rRXQlJKf.png)
![image.png](/assets/1654449963058-3666bd9b-664a-4e1d-828c-126e67e886a1-D4V2tOzT.png)
3.3 Windows 安装
3.3.1 打开安装包
![image.png](/assets/1654658450106-21843200-9f67-4b70-a976-df4702e49161-DS06TbLc.png)
3.3.2 点击 Next & 使用默认路径安装
![image.png](/assets/1654659327011-2358caa8-ecc9-4f1f-9e7d-5f4725092673-DX3Ge4mS.png)
3.3.3 点击 Next & 全部勾选
![image.png](/assets/1654659643710-d48da0e7-52fc-4368-b350-63455ebdab64-Ng4TFXOA.png)
![image.png](/assets/1654660675882-49b87638-22b5-4c0f-89e6-889e1a2e5ee0-BaYoyYWG.png)
3.3.4 点击 install
![image.png](/assets/1654660956128-dee5dcbe-b39f-44e4-a912-5b7092996bb4-D1BLkU-c.png)
![image.png](/assets/1654661265742-68f2e782-d3f6-42de-8861-f4a1c8dda81e-BuzSeTLY.png)
3.3.5 运行 IDE
![image.png](/assets/1654661673766-72ed48b9-bffc-4024-a870-5ded2267e868-AL8qWKh5.png)
3.3.6 新建项目
![image.png](/assets/1654671111439-bce0499b-5ce9-42da-9111-b9094ad0c9ba-CsRcLXDM.png)
![image.png](/assets/1654673548092-e69e12bd-ea1f-41f3-ae52-e02a193b93b0-B-WbcCEv.png)
3.3.7 新建源代码文件
![image.png](/assets/1654674104700-f8c28d48-fa98-4ad8-b188-e45b859d0c19-DUYyGyoC.png)
![image.png](/assets/1654674261889-f5c3f7ab-3ad6-4978-ae51-eadb5af66612-CdakXx5L.png)
![image.png](/assets/1654674275865-9f120d93-c397-4953-9867-362d8a833f17-CWfB6uMJ.png)
3.3.8 编写代码
public class QuickSand {
public static void main(String[] args){
System.out.println("QuickSand!");
}
}
3.3.9 运行代码
![image.png](/assets/1654678226796-cd59aba5-5b84-403e-9367-5b5d9c7680e8-BDF1mXDb.png)
4. 详解 QuickSand 程序
前面我们自己编写编译并运行了我们第一个 Java 程序,虽然代码不多,但是五脏俱全。接下来,我们来分析一下程序各个组成部分。
4.1 类(class)语法元素
public class QuickSand{
}
- 类——class;
- QuickSand 是类名,要与文件名一致;
- public class 是类修饰符,告诉 Java 类名要与代码文件名一致;
- 大括号内是类的内容——类体、class body;
Java 程序就是由一个个类组成的,我们编写 Java 程序的过程,其实就是编写一个个类,并且往类里面添加我们类里面内容的过程。
4.2 main 方法(main method)语法元素
public class QuickSand{
public static void main(String[] args){
}
}
- public static void 是方法修饰符;
- main 方法最为特殊的一点是,它是 Java 程序的入口——就好像游戏的开始按键;
- 所以:public static void main(String[] args)——main 方法的定义。告诉 Java 这是程序入口,也就是程序开始执行的地方;
- 小括号内是方法的参数(parameter);
- String[] args 是方法参数;
- 大括号内是方法的内容,又称方法体(method body)
一个 class 里面,可以有很多方法。但是很多方法,Java 如何进去(开始)执行呢?——它会找到 public static void main(String[] args)
的 main 方法。
4.3 method 更多表达的是,如何完成一件事情
举个例子:比如我们现在要把大象放进冰箱里,我们怎么做到这件事呢?——分三步:
- 打开冰箱门;
- 把大象放进冰箱;
- 关掉冰箱门;
那把上面的操作映射到 Java 里面呢?
- 首先,创建一个方法(方法名):把大象放到冰箱里;
- 方法体,就是把大象放进冰箱中一步一步的操作,所对应的代码,这样我们就有了方法;
- 它有一个名字,也有完成这件事情的一步一步的步骤,这两个组合起来就完成了特定的事情——这就叫做一个方法。
接下来,我们来看看 main 方法的一个方法体。
4.4 System.out.println
public class QuickSand{
public static void main(String[] args){
System.out.println("Hello QuickSand!");
}
}
- println:print line
System.out.println
:是 Java 平台提供的类库的内容(Java 提供的内置功能)。可以将内容输出到标准输出,在我们的例子里,就是命令行(command line)- 小括号里的内容还是参数(parameter)。
- 没有参数的情况下,
System.out.println()
会输出一行空行,也就是类似于我们敲下一个回车。
4.5 字符串
public class QuickSand{
public static void main(String[] args){
System.out.println("Hello QuickSand!");
}
}
- 在 Java 里,双引号引起来的内容叫做一个字符串。
- 字符串不是语法内容,可以写任意字符。
4.6 初识 Java 程序
4.6.1 初识 class
- Java 语言中的一等公民,Java 程序就是一个个的类组成的
- 类由修饰符,类名和类的内容组成。
- 类名必须与保存类源文件的文件名相同
4.6.2 初识 main 方法
- main 方法是 Java 程序执行的入口。
- 方法由方法修饰符,方法名,参数列表和方法体等组成。
4.7 关键知识点
- class 后面的名字是类名;
- 类名必须与源文件的文件名相同,文件名后缀必须是小写 java;
- main 方法是 Java 程序执行的入口。
5. 学员提问
老师你好, 是这样的,我的 mbp 重新装了系统,格式化所有磁盘重装的那种,然后我跟你的课程一起学一起敲,同时我自己有个仓库保存这些代码,我也把课程的源代码: LetsJava 克隆下来了,重装之后我重新下了idea的社区版,开了两个窗口,一边是我自己的仓库,一边是LetsJava,然后两个窗口行为不一: 1.LetsJava一切正常,重新设置了jdk之后即可运行(我还是装的之前的jdk 8) 2.我自己的代码就不一样了,首先是java文件的图标都变了,不再有java那个浅蓝色圆圈包裹的C的图标,同时package路径的颜色不对,也没有了run,一切都不对,糟糕透了 仔细对比之后我发现我的代码和你的代码有两个不同的地方: 1. 你的代码有4样:.idea code.iml out src 2. 而我的我只有一样:src 同时我自己新建的项目就能正常的被idea识别并运行,因此我找到了原因:是因为没有idea的配置文件,确切的说是当初我第一次敲的时候是肯定有的,只是我把它们加到了.gitignore中,提交的时候没有一并提交到仓库中,导致了我这个仓库中的代码没法被idea识别和运行!!!!! .idea code.iml out,前两个是配置文件,后一个是编译之后的.class文件,这个课程里你说过我记得,疑问在于 1. 实际项目中,这3个文件是如何处理的?都要提交吗?还是只提交.idea code.iml即可,因为out能编译生成 2. 如果都不提交,比如我这个就没提交,那此时应该在idea中如何操作让idea帮我们重新生成配置文件好继续进行开发工作? 我问题有点多,还望老师不吝赐教,感谢感谢!
欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!
公众号:AI悦创【二维码】
![](/gzh.jpg)
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
![](/zsxq.jpg)
- 0
- 0
- 0
- 0
- 0
- 0