从零开始:Windows命令提示符 (cmd) 和Java (万字详解)

引言:
大二开学,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


1.3.2. windowns10下cmd的一些基本指令的演练。
  • 我这里建立文件夹是为了以后方便管理和查看,如果你没有这方面的需求,可以跳过。

初演示2


1.3.3. 创建文件并打开。

初演示3
初演示4


1.3.4.编写Java文件
public class HelloWorld{
	public static void main(String[] args){
    System.out.println("Hello,World");
    }
}

初演示5


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_MACHINE\SOFTWARE\JavaSoft 路径,并删除与旧的 Java 版本相关的子项。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


2.2 安装和配置JDK环境

步骤一 去 Oracle官网下载

在这里插入图片描述

步骤二 选择合适的版本下载

进入 Oracle官网后,下拉到如下界面,选择一个合适的版本下载,我这次选了Windows系统下的x64 Installer (.exe),jdk为20版本。
在这里插入图片描述
在这里插入图片描述

你可能对图片上Windows下的三个版本感到好奇(如果你不感兴趣,请直接跳过。)。他们的区别如下:

  1. x64 Compressed Archive (.zip):这是一个压缩归档文件,包含了 JDK 的所有文件,但没有自动安装程序。你需要手动解压缩文件,并配置环境变量以使用 JDK。这个选项适合高级用户,需要手动配置环境。
  2. x64 Installer (.exe):这是一个自包含的可执行文件安装程序,用于自动安装 JDK。它将 JDK 安装到默认目录,同时配置系统环境变量,以便你可以轻松地在命令提示符中使用 Java 命令。这是最常见的下载选项,适合大多数用户。
  3. x64 MSI Installer (.msi):这也是一个自包含的安装程序,但它使用 Windows Installer 技术进行安装。它与 .exe 安装程序类似,但在一些企业环境中更常见,因为它可以更好地集成到 Windows 管理和部署工具中。
  4. 如果你是普通用户并且只需在个人计算机上安装 Java,选 x64 Installer (.exe) 选项,因为它足够简单。
  5. 如果你是大牛(哈哈,想来大牛也不会来看我的文章),选 x64 Compressed Archive (.zip) 选项,然后手动配置。
  6. 最后,如果你在企业环境中工作,可以选 x64 MSI Installer (.msi)。
小插曲(你没有权限在此位置保存文件…)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

步骤三 双击JDK,下载安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

又一个小插曲(“以下应用程序正在使用需要由此安装程序更新的文件…”)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

YES!安装完成了!

在这里插入图片描述
在这里插入图片描述

第三部分: 基础知识

3.1 第一个Java程序——HelloWorld

java小程序如下:

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

基于如上小程序,解释如下:

  1. public class HelloWorld: 这是程序的类定义。在Java中,每个程序都需要包含一个类。类名和文件名应该相同,且每个Java程序都有一个主类(包含main方法)。

  2. public static void main(String[] args): 这是Java程序的主方法。它是程序的入口点,从这里开始执行程序。让我们分解这一行代码:

    • public: 这是一个访问修饰符,表示main方法可以从程序的任何位置访问。
    • static: 这是一个关键字,表示main方法是一个静态方法,不需要创建类的实例即可调用。
    • void: 这是main方法的返回类型。void表示该方法不返回任何值。
    • main: 这是方法的名称,Java程序将从这里开始执行。
    • (String[] args): 这是方法的参数列表,String[] args 表示该方法接受一个字符串数组作为参数。这个参数通常用于传递命令行参数给程序。
  3. { … }: 大括号用于定义方法的代码块。在main方法中,大括号内包含了要执行的代码。

  4. System.out.println(“HelloWorld”);: 这是在控制台上打印文本的语句。它使用System.out来引用标准输出流,然后调用println方法来输出文本字符串 “HelloWorld”。println会输出文本并在最后添加换行符,所以每次调用它后,下一个输出会在新行上显示。

这个程序可以在控制台上打印 “HelloWorld”。要运行这个程序,你需要首先将其保存为一个后缀".java" 的文件,本文章推荐你使用cmd编译这个小程序。

3.2 编译和运行Java程序

  • 演示如何使用cmd编译和运行Java程序。
  • 包括错误示范,分析失败的原因和解决方法。
3.2.1 演示

cmd命令下完成HelloWorld.java文件的编译的过程如下

  1. 打开命令提示符:按下Win+R键,输入"cmd",按Enter键。

  2. 导航到Java文件所在的目录:使用cd命令进入文件夹目录。

    cd ..
    cd ..
    d:
    cd D:\A_Shun_Exclusive\life_ofuniversity\code_collection\JAVA\DOS
    

    此处是我的示例。

  3. 新建Java文件:使用cd>命令。

    cd>HelloWorld.java
    
  4. 打开java文件进行编写 :使用notepad命令

    notepad HelloWorld.java
    

    注:notepad命令旨在记事本格式打开文件。
    打开文件后敲键盘就行了。

  5. 编译Java文件:使用javac命令。

    javac HelloWorld.java
    

    没反应?
    哈哈,没反应就对了,有的话说明你写的代码有问题。
    快看看你编写Java文件的文件夹里是不是多了个".class"文件。

  6. 运行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:gujiu_21L

求点赞👍求关注❤️求转发💕

  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Windows命令提示符是一种通过键入命令来与计算机进行交互的界面。在CMD窗口中,命令提示符位于窗口的左侧,表示系统已准备接受命令输入。默认情况下,命令提示符是一个字符串,通常是当前目录的路径,后面跟着一个大于符号(>)或者是当前目录的驱动器和冒号(例如,C:>)。 Windows命令提示符对于用户管理其计算机非常有帮助。除了互联网上常见的几个命令外,还有许多命令提示符技巧和提示功能强大且广泛使用。这些技巧包括使用命令提示符的键盘快捷键,如快速复制和粘贴文本,以及使用特殊字符来过滤命令的输出。使用这些技巧可以更高效地使用命令提示符来完成各种任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [每个Windows用户都应该知道的10个命令提示符技巧](https://blog.csdn.net/m0_57290114/article/details/124224658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [深入了解命令提示符CMD):Windows中的强大命令行工具](https://blog.csdn.net/qq_43546721/article/details/131536857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤酒_21L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值