引言:
大二开学,Java专业课的老师要求学生们写技术文章以总结自行配置Java环境并使用cmd编译Java文件的过程。
哈哈,很早之前就看过刘欣的《对自己狠一点,开始写作吧》,当时读了后,鸡汤入肚,野心勃勃,很想开始经营自己的技术博客,可惜我当时还是太懒了,也就不了了之了。
希望这次老师布置的硬性要求可以成为我技术博客的伊始。
系统:windows10
命令行:cmd
java版本:17
第一部分: 介绍
1.1 为什么使用cmd?
- 直接
- 快速
- 易上手
- 看起来很酷
- 避免依赖复杂的IDE
1.2 为什么学习Java?
大学必修课,不能不学(bushi).
学习编程而非语言,语言更像是武器,而如数据结构、编译原理才是内功。
如果你对大型企业应用、Android 开发、大数据处理或分布式系统感兴趣,专精 Java 可能是一个不错的选择。
1.2.1 Java vs. C++:
Java 是一种面向对象的编程语言,而 C++ 可以同时支持面向对象和面向过程的编程。
Java 具有内置的内存管理和垃圾回收机制,而 C++ 需要手动管理内存,这使得 Java 更容易学习和使用,也更安全。
C++ 通常用于系统级编程、游戏开发和性能密集型应用,而 Java 更适用于企业级应用、Web 开发和移动应用。
1.2.2 Java vs. Python:
Java 是一种静态类型语言,而 Python 是动态类型语言。这意味着 Java 在编译时执行类型检查,而 Python 在运行时执行。
Python 语法简单,易于学习和阅读,适用于快速原型开发和科学计算。Java 更适合大型应用和高性能要求。
Java 在企业级应用、Android 应用、大数据处理等领域有广泛应用。
1.2.3 Java vs. Go:
Go 是一种静态类型语言,设计用于简化并发编程,具有出色的性能。Java 也支持并发,但 Go 更专注于此。
Go 具有内置的垃圾回收,与 Java 类似,但更轻量级。
Java 生态系统庞大,拥有大量库和框架,适用于各种应用,而 Go 更适合构建分布式系统和网络服务。
1.3 演示cmd指令编译java(基本)
1.3.1. code_clection文件夹是我常用的存放代码的根目录,你如果嫌麻烦也可以直接在C盘上编译Java文件。
1.3.2. windowns10下cmd的一些基本指令的演练。
- 我这里建立文件夹是为了以后方便管理和查看,如果你没有这方面的需求,可以跳过。
1.3.3. 创建文件并打开。
1.3.4.编写Java文件
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World");
}
}
1.3.5.编译Java文件
第二部分: 准备工作
2.1 彻底删除旧Java配置
2.1.1 为什么(我)要删除Java的环境配置?
在这学期老师要求下载JDK之前,我曾配置过Java环境,所以我的电脑已经可以编译Java文件了,但是文件路径的习惯和现在不太一样,不方便我管理文件。
就像张三有强迫症,物件的摆放很有规矩,但是张三小时候很邋遢,现在张三要去他小时候住的地方找纪念小时候的物品,见到混乱的各种杂物,定然是不爽的。
我并不清楚Java的环境配置,也不理解过去配置环境时混乱的文件路径,不清楚为什么我没有配置JAVA_HOME环境变量却可以编译Java文件。
我选择最暴力的解法:删了重建。
2.1.2 如何彻底删除Java的环境配置?
步骤一 清理用户环境变量:
方法一 鼠标点点点:
方法二 cmd命名行进入:
rundll32 sysdm.cpl,EditEnvironmentVariables
步骤二 卸载Java:
步骤三 验证是否成功删除Java:
步骤四 清理注册表:
- 导航到 HKEY_LOCAL_MACHINESOFTWAREJavaSoft 路径,并删除与旧的 Java 版本相关的子项。
2.2 安装和配置JDK环境
步骤一 去 Oracle官网下载
步骤二 选择合适的版本下载
进入 Oracle官网后,下拉到如下界面,选择一个合适的版本下载,我这次选了Windows系统下的x64 Installer (.exe),jdk为20版本。
你可能对图片上Windows下的三个版本感到好奇(如果你不感兴趣,请直接跳过。)。他们的区别如下:
小插曲(你没有权限在此位置保存文件....)
步骤三 双击JDK,下载安装
又一个小插曲("以下应用程序正在使用需要由此安装程序更新的文件...")
YES!安装完成了!
第三部分: 基础知识
3.1 第一个Java程序——HelloWorld
java小程序如下:
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
基于如上小程序,解释如下:
public class HelloWorld: 这是程序的类定义。在Java中,每个程序都需要包含一个类。类名和文件名应该相同,且每个Java程序都有一个主类(包含main
方法)。
public static void main(String[] args): 这是Java程序的主方法。它是程序的入口点,从这里开始执行程序。让我们分解这一行代码:
public
: 这是一个访问修饰符,表示main
方法可以从程序的任何位置访问。static
: 这是一个关键字,表示main
方法是一个静态方法,不需要创建类的实例即可调用。void
: 这是main
方法的返回类型。void
表示该方法不返回任何值。main
: 这是方法的名称,Java程序将从这里开始执行。(String[] args)
: 这是方法的参数列表,String[] args
表示该方法接受一个字符串数组作为参数。这个参数通常用于传递命令行参数给程序。
{ ... }: 大括号用于定义方法的代码块。在main
方法中,大括号内包含了要执行的代码。
System.out.println("HelloWorld");: 这是在控制台上打印文本的语句。它使用System.out
来引用标准输出流,然后调用println
方法来输出文本字符串 "HelloWorld"。println
会输出文本并在最后添加换行符,所以每次调用它后,下一个输出会在新行上显示。
这个程序可以在控制台上打印 "HelloWorld"。要运行这个程序,你需要首先将其保存为一个后缀".java" 的文件,本文章推荐你使用cmd
编译这个小程序。
3.2 编译和运行Java程序
- 演示如何使用cmd编译和运行Java程序。
- 包括错误示范,分析失败的原因和解决方法。
3.2.1 演示
cmd命令下完成HelloWorld.java文件的编译的过程如下
打开命令提示符:按下Win+R键,输入"cmd",按Enter键。
导航到Java文件所在的目录:使用cd
命令进入文件夹目录。
cd ..
cd ..
d:
cd D:A_Shun_Exclusivelife_ofuniversitycode_collectionJAVADOS
此处是我的示例。
新建Java文件:使用cd>
命令。
cd>HelloWorld.java
打开java文件进行编写 :使用notepad
命令
notepad HelloWorld.java
注:notepad
命令旨在记事本格式打开文件。
打开文件后敲键盘就行了。
编译Java文件:使用javac
命令。
javac HelloWorld.java
没反应?
哈哈,没反应就对了,有的话说明你写的代码有问题。
快看看你编写Java文件的文件夹里是不是多了个".class"文件。
运行Java程序:一旦编译成功,您可以使用java
命令来运行编译后的Java程序,如下所示:
java HelloWorld
如果一切顺利,你会在cmd窗口上看到 "HelloWorld" 。
第四部分:进步探索cmd+java编译
4.1 输入输出
//SayHello.java
import java.util.Scanner;
public class SayHello {
public static void main(String[] args) {
// 创建一个 Scanner 对象来读取用户输入
Scanner scanner = new Scanner(System.in);
System.out.print("你的名字是: ");
String name = scanner.nextLine();
// 关闭 Scanner 对象
scanner.close();
System.out.println("你好, " + name + "!");
}
}
4.2 多文件编译
- 解释多文件编译的概念和必要性。
- 提供多文件编译的示例和演示。
//Main.java
public class Main {
public static void main(String[] args) {
HelloName hello = new HelloName();
String message = hello.GetHelloMessage("Fu Xingshun");
System.out.println(message);
}
}
//HelloName.java
public class HelloName {
public String GetHelloMessage(String name) {
return "Hello, " + name + "!";
}
}
)
4.4 自定义类和头文件
- 介绍Java中的类和方法。
- 演示如何创建和使用自定义类。
//Person.java
public class Person {
private String name;
private int age;
// 构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 获取姓名
public String getName() {
return name;
}
// 获取年龄
public int getAge() {
return age;
}
// 修改年龄
public void setAge(int age) {
this.age = age;
}
// 自定义方法
public void introduce() {
System.out.println("我叫" + name + ",今年" + age + "岁。");
}
}
//MainSecond.java
public class MainSecond {
public static void main(String[] args) {
Person person = new Person("付兴顺", 18);
String name = person.getName();
int age = person.getAge();
System.out.println(name + "的年龄是:" + age);
person.setAge(19);
person.introduce();
}
}
4.5 调试
4.5.1 jdb
4.5.1 再配一次环境
我懵逼,本来我下的JDK20版本,但我居然找不到JDK的文件路径,是的,我无论如何也找不到,而且也无法使用jdb命令。然后我就重安了17版本的。
4.5.2 演示
//JDBTEST.java
public class JDBTEST {
public static void main(String[] args) {
int a = 10;
int b = 20;
int sum = add(a, b);
System.out.println("Sum: " + sum);
}
public static int add(int x, int y) {
return x + y;
}
}
4.5.1 jshell
结束语
==非常感谢您的阅读,也希望能得到您的反馈。==
8. 联系方式
- QQ:2897795436
- WeChat:apple6066hcom