Java基础入门:从人机交互到Java核心概述

news2024/11/18 14:45:48

掌握CMD与Java开发环境:从基础到实战的全面指南

在当今数字化时代,计算机操作和编程技能已成为不可或缺的基础能力。无论你是刚刚迈入编程世界的新手,还是希望提升自己技术水平的开发者,了解如何高效使用命令行工具(如CMD)以及掌握Java开发环境都是必不可少的。本篇博文将带你深入了解CMD的基本操作和Java开发的核心概念,助你在技术之路上稳步前行。


1. 人机交互

计算机作为工具,其与用户之间的交互方式直接影响到使用效率和体验。命令行工具(如CMD)作为一种传统且强大的交互方式,尽管图形用户界面(GUI)已成为主流,但CMD依然在开发、调试和故障排除等场景中发挥着重要作用。

1.1 什么是CMD?

**CMD(Command Prompt)**是Windows操作系统中的命令行工具,允许用户通过命令行界面(CLI)与计算机进行交互操作。通过输入特定的命令,用户可以对计算机执行各种任务,如文件操作、程序启动、系统配置等。

在图形化界面(GUI)普及之前,命令行是用户与计算机交互的主要方式。即使在现代操作系统中,命令行依然是许多高级用户和开发者的常用工具,因为它提供了更高的灵活性和自动化能力。

1.2 如何打开CMD窗口?

打开CMD窗口的方法有多种,以下是最常用的两种方法:

  1. 使用快捷键:

    • 按下 Win + R 组合键,打开“运行”窗口。
    • 在弹出的“运行”窗口中输入 cmd,然后按回车键。
    • 这样将打开命令提示符窗口,默认路径通常为当前用户的主目录,如 C:\Users\用户名

  2. 通过开始菜单:

    • 点击屏幕左下角的“开始”按钮。
    • 在搜索栏中输入 cmd命令提示符,然后选择相应的应用程序。

提示:CMD的默认路径会根据计算机的用户和配置有所不同,但通常情况下都是当前用户的主目录。

1.3 常用CMD命令

尽管CMD已不再是操作计算机的主要方式,但它仍然为开发、调试、故障排除等操作提供了强大的支持。以下是一些常见的CMD命令:

命令说明
盘符:切换盘符(例如 E: 切换到E盘)。
dir查看当前目录下的文件和文件夹列表。
cd 目录进入指定目录(例如 cd itheima 进入itheima目录)。
cd ..返回上一级目录。
cd \返回到当前盘符的根目录。
cls清除当前屏幕上的输出内容(清屏)。
exit退出命令提示符窗口。
mkdir 目录名创建一个新文件夹。
del 文件名删除文件。
copy 源 目标复制文件到指定路径。
move 源 目标移动文件到指定路径。

示例:

# 查看当前目录下的文件和文件夹
dir

# 进入指定目录
cd Documents

# 返回上一级目录
cd ..

# 创建新文件夹
mkdir NewFolder

# 删除文件
del example.txt

1.4 CMD练习:通过CMD启动QQ

需求:使用CMD启动安装在电脑上的QQ程序。

步骤

  1. 查找QQ安装的路径

    • 通常情况下,QQ安装在 C:\Program Files 或者 D:\software\QQ 目录下。
    • 以我的安装路径为例:D:\software\QQ\bin
  2. 打开CMD窗口

    • 按照前述方法打开CMD。
  3. 使用 cd 命令进入QQ的安装目录

    cd "D:\software\QQ\bin"
    
  4. 启动QQ

    • 输入 qq.exe 并按回车键,QQ程序将启动。
    qq.exe
    

提示:在Windows中,文件和文件夹名不区分大小写,因此可以随意使用大小写。

1.5 环境变量

环境变量是操作系统用于存储系统配置信息的机制。通过设置环境变量,可以使系统在任何目录下都能执行特定的程序。尤其是 PATH 变量,它存储了一系列可执行文件的路径,当在CMD中运行命令时,系统会先从这些路径中查找对应的程序。

1.5.1 为什么配置环境变量?

当用户在命令行中运行程序时,系统首先会在当前目录中查找该程序。如果没有找到,则会根据 PATH 环境变量中的路径依次查找。如果需要在任何目录下运行某个程序,将该程序的路径添加到 PATH 环境变量中即可。

举例:假设QQ的可执行文件位于 D:\software\QQ\bin\qq.exe,如果将 D:\software\QQ\bin 添加到 PATH 中,用户可以在任意目录下直接输入 qq.exe 启动QQ,而无需每次都切换到QQ的安装目录。

1.5.2 如何配置环境变量?

以下是配置环境变量的步骤:

  1. 打开系统属性

    • 右键点击“我的电脑”或“此电脑”,选择“属性”。
  2. 进入高级系统设置

    • 在左侧菜单中点击“高级系统设置”。
  3. 打开环境变量窗口

    • 在“高级”选项卡下,点击“环境变量”。
  4. 编辑 PATH 变量

    • 在“系统变量”中找到 PATH,然后点击“编辑”。
  5. 添加新路径

    • 点击“新建”,输入程序的路径,例如 D:\software\QQ\bin
  6. 保存更改

    • 点击“确定”保存所有更改。

图示说明

  • 步骤1:右键点击“我的电脑”并选择“属性”。

  • 步骤2:点击“高级系统设置”。

  • 步骤3:选择“高级”并点击“环境变量”。

  • 步骤4:在系统变量中找到并编辑 PATH

  • 步骤5:将程序路径添加到 PATH,并点击确定。

  • 步骤6(可选):将新添加的路径上移至优先查找的位置。这样可以提高在CMD中打开程序的速度,因为系统会从上到下依次查找路径。


2. Java概述

Java作为一种广泛使用的编程语言,以其跨平台性、高性能和安全性在软件开发领域占据重要地位。无论是桌面应用、Web应用,还是移动应用和企业级系统,Java都展现出强大的适应性和扩展性。

2.1 什么是Java?

Java 是一种广泛使用的编程语言,最初由Sun Microsystems开发,后来由Oracle收购。Java语言的设计目标是跨平台、高性能、安全性以及面向对象的编程(OOP)。它可以编写桌面应用程序、Web应用程序、移动应用程序以及企业级应用程序。

Java的核心目标是简化开发流程,提供稳定的运行环境,并使程序具有较强的可维护性和可扩展性。其“编写一次,处处运行”的理念,使得Java程序能够在不同的平台上无需修改即可运行,极大地提升了开发效率。

2.2 Java的技术平台与应用领域

Java技术体系主要分为三个版本,它们分别适用于不同的应用场景:

2.2.1 Java SE(Java Standard Edition)——标准版

Java SE是用于开发桌面应用程序的核心Java平台,它提供了Java核心API,包括集合框架、输入输出流、多线程、基础GUI(图形用户界面)等。Java SE是其他两个版本(Java EE和Java ME)的基础。

应用场景

  • 桌面应用程序
  • 基础工具和实用程序
  • 学习和教学
2.2.2 Java EE(Java Enterprise Edition)——企业版

Java EE是用于开发企业级应用程序的Java平台,主要面向分布式、多层次的Web和企业应用。Java EE提供了丰富的API和运行时环境,支持Servlet、JSP、EJB等技术,广泛用于开发Web应用、后台服务器和企业级系统。

应用场景

  • 大型企业应用
  • Web服务和API
  • 分布式系统
2.2.3 Java ME(Java Micro Edition)——小型版

Java ME是为资源受限的设备(如移动终端、嵌入式系统)设计的轻量化Java平台。虽然随着智能手机和操作系统的进步,Java ME逐渐被Android和iOS取代,但它曾是开发移动设备应用程序的主流工具。

应用场景

  • 嵌入式系统
  • 老旧移动设备
  • 小型物联网设备

2.3 Java的重要特点

Java语言的设计特点是其成功的基础,这些特点使Java适用于从桌面到企业级应用的各种场景:

  1. 面向对象的编程语言(OOP)

    • Java通过封装、继承和多态实现了面向对象的设计,便于组织复杂的应用程序代码。
    • 封装:将数据和操作数据的代码封装在一起,保护数据不被非法访问。
    • 继承:允许新类从现有类继承属性和方法,促进代码重用。
    • 多态:使得不同对象可以通过相同的接口调用各自的方法,实现灵活的代码结构。
  2. 健壮性

    • Java的强类型机制、异常处理以及自动垃圾回收功能,确保了程序的健壮性,减少了内存泄漏和程序崩溃的可能性。
    • 强类型机制:在编译时进行类型检查,避免类型错误。
    • 异常处理:通过try-catch机制捕获和处理运行时错误,提升程序稳定性。
    • 自动垃圾回收:无需手动管理内存,减少内存管理的复杂性和错误。
  3. 跨平台性

    • Java通过编译成字节码,并在不同平台上的Java虚拟机(JVM)上运行,实现了“一次编写,到处运行”的特性。
    • 这意味着同一个Java程序可以在Windows、Linux、Mac OS等不同操作系统上运行,而无需修改代码。

  4. 解释性语言

    • Java属于解释型语言,编译后的字节码无法直接被机器执行,而需要通过JVM进行解释运行。
    • 解释型语言(如JavaScript、PHP、Java):代码在运行时被解释执行,具有较高的灵活性。
    • 编译型语言(如C、C++):代码在运行前被编译成机器代码,执行效率较高。

2.4 Java跨平台的原理

Java程序通过JVM实现跨平台性。Java编译器将源代码编译为字节码(.class文件),这些字节码与具体平台无关。JVM负责将字节码翻译成不同操作系统能够理解的机器代码,因此相同的Java程序可以在不同操作系统(如Windows、Linux、Mac OS)上运行,而无需修改或重新编译。

工作流程

  1. 编写源代码:开发者编写 .java 文件。
  2. 编译字节码:使用 javac 命令将 .java 文件编译为 .class 字节码文件。
  3. 运行程序:使用 java 命令启动程序,JVM将字节码解释执行。

这种架构使得Java具有高度的可移植性和灵活性,适用于各种不同的硬件和操作系统环境。

2.5 Java程序开发运行流程

开发Java程序一般包括以下三个步骤:

  1. 编写程序

    • 使用文本编辑器(如Notepad++、VS Code、IntelliJ IDEA)编写 .java 源代码文件,定义程序的类和逻辑。
    • 例如,创建一个名为 HelloWorld.java 的文件。
  2. 编译程序

    • 使用 javac 命令将 .java 文件编译为 .class 字节码文件。

    • 命令示例:

      javac HelloWorld.java
      
    • 编译成功后,会生成一个 HelloWorld.class 文件。

  3. 运行程序

    • 使用 java 命令运行编译后的 .class 文件,JVM会解释并执行字节码。

    • 命令示例:

      java HelloWorld
      
    • 程序将输出 “HelloWorld” 到控制台。

2.6 HelloWorld案例的编写

让我们通过一个简单的HelloWorld程序,了解Java程序的编写和运行流程:

  1. 新建文件

    • 创建一个名为 HelloWorld.java 的文本文件。
  2. 编写代码

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("HelloWorld");
        }
    }
    
  3. 保存文件后,打开命令提示符(CMD)并编译文件:

    javac HelloWorld.java
    
  4. 运行程序

    java HelloWorld
    

    输出

    HelloWorld
    

解析

  • public class HelloWorld:定义一个公开的类 HelloWorld
  • public static void main(String[] args):定义程序的入口点。
  • System.out.println("HelloWorld");:在控制台输出 “HelloWorld”。

2.7 环境变量配置

2.7.1 为什么需要配置环境变量?

为了在任何目录下使用 javacjava 等Java开发工具,需要将JDK的 bin 目录添加到系统环境变量 Path 中。如果不配置环境变量,用户只能在JDK安装目录下运行这些工具,这大大限制了开发效率和灵活性。

具体原因

  • 简化命令:无需每次都输入完整路径,直接在任意目录下输入 javacjava 即可。
  • 提高效率:减少路径切换的步骤,提升开发和运行的便捷性。
  • 支持工具链:许多开发工具和集成开发环境(IDE)依赖于环境变量来找到JDK的路径。
2.7.2 配置环境变量

以下是配置Java环境变量的具体步骤:

  1. 设置 JAVA_HOME

    • 作用:告诉操作系统JDK安装在了哪个位置,未来其他技术(如Maven、Gradle)可以通过这个变量找到JDK。
    • 步骤
      1. 打开“环境变量”窗口(参考前述步骤)。
      2. 在“系统变量”中点击“新建”。
      3. 变量名输入 JAVA_HOME,变量值输入JDK的安装路径(例如 C:\Program Files\Java\jdk-17)。
      4. 点击“确定”保存。

  2. 编辑 Path 变量

    • 作用:告诉操作系统JDK提供的 javac(编译器)、java(执行命令)等命令安装到了哪个位置。
    • 步骤
      1. 在“系统变量”中找到 Path,点击“编辑”。
      2. 点击“新建”,输入 %JAVA_HOME%\bin
      3. 点击“确定”保存。

图示说明

  • 步骤1:设置 JAVA_HOME

  • 步骤2:编辑 Path 并添加 %JAVA_HOME%\bin

注意事项

  • 顺序优先:如果有多个JDK版本,确保将需要使用的版本的路径放在 Path 的顶部。
  • 验证配置:配置完成后,打开CMD,输入 java -versionjavac -version,检查是否正确显示Java版本信息。

2.8 JRE和JDK的区别

在Java开发和运行过程中,常常会听到JRE和JDK这两个术语,它们在功能和用途上有所不同:

  • JVM(Java Virtual Machine)

    • 定义:Java虚拟机,负责执行Java字节码。
    • 作用:将字节码转换为机器码,并在特定平台上执行Java程序。
  • JRE(Java Runtime Environment)

    • 定义:Java运行时环境,包含JVM和核心类库,用于运行Java程序。
    • 用途:适用于需要运行Java应用程序的用户,不包括开发工具。
  • JDK(Java Development Kit)

    • 定义:Java开发工具包,包含JRE和开发工具(如 javac 编译器),用于编写和编译Java程序。
    • 用途:适用于Java开发者,需要进行程序开发和编译。

总结

  • JRE:仅用于运行Java程序,不包含开发工具。
  • JDK:包含JRE及开发工具,是Java开发的必备环境。

图示说明

JRE与JDK

JRE与JDK详细


结语

通过本篇博文,我们深入探讨了CMD的基本操作和Java开发环境的核心概念。从CMD的常用命令到环境变量的配置,再到Java的跨平台原理和开发流程,掌握这些基础知识将为你的编程之路打下坚实的基础。无论你是初学者还是有经验的开发者,理解和应用这些工具和概念都将极大提升你的工作效率和开发能力。继续学习和实践,相信你会在技术的海洋中游刃有余,创造出更多精彩的项目!


更多资源推荐

  • Windows CMD 使用教程
  • Java 官方文档
  • 环境变量配置详解

关注我们,获取更多编程技巧和技术分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接着上一篇stp 实验继续

理论看上一篇,我们直接实验 首先找出root 桥 很明显 sw1 为root 桥,所谓sw1  &a…

IDEA上Mybatis介绍和使用

MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。 创建项目 在springboot项目中添加Mybatis和MySQL依赖项。 找到数据库选项,点击新建 -> 数据库源,选择MySQL。 输入完成信息后,可以先进行测试,可以成功连接再…

影刀RPA在智能客服上的运用

随着人工智能技术的不断发展,智能客服系统逐渐成为企业提升服务效率和质量的重要工具。影刀RPA(Robotic Process Automation,机器人流程自动化)作为一种模拟人类用户行为的技术,通过自动化执行重复性高、规则明确的任务…

2024年MathorCup国家级大数据竞赛,必须要知道的竞赛重点!

2024年MathorCup大数据竞赛正在报名中,在越来越多同学报名参赛的同时,也有非常多的同学来咨询比赛相关问题。 01 比赛的级别是什么? 比赛主办方是中国优选法统筹法与经济数学研究会(国家一级学会),因此一…

架构设计笔记-7-系统架构设计基础知识

目录 知识要点 单选 案例分析 1.质量属性 / 管道过滤器 / 数据仓库风格 2.面向对象风格 / 控制环路风格 3.软件架构风格 / 架构风格选择 4.体系结构方案对比 5.面向对象风格 / 基于规则风格 6.解释器风格 / 管道过滤器风格 7.面向对象风格 / 解释器风格 8.软件架构复…

【HarmonyOS】HMRouter使用详解(一)环境配置

背景 在项目中使用官方推荐的Navigation时,需要在所有的页面上都添加一层NavDestination,在代码阅读上会增加多个层级,而且还要在主页面设置对应名字的跳转等问题,配置起来比较繁琐。看到大佬开发的HMRouter使用起来方便简洁&…

sim-lock需求分析总结

1、sim-lock是什么? sim-lock也叫subsidy lock 补贴锁, carrier lock, lock,是带合约的机器,运营商限制你使用其他运营商的sim卡,对于长期客户,出国时可以给运营商打电话要一个临时的unlock code。对于Android Teleeph…

24.数据结构和算法-哈夫曼树及其应用(最优二叉树)

哈夫曼树的基本概念 哈夫曼树的构造算法 哈夫曼树构造算法的实现 理论分析 具体实现 哈夫曼编码 哈夫曼编码的性质 例题 哈夫曼编码的算法实现 哈夫曼编码的应用 文件的编码和解码

页面引导解决方案分享

前言 本文主要介绍的是我们在项目中有时候会遇到需要一步一步引导用户操作的使用场景,类似于新手教学的操作指引,给出的解决方案是Intro.js 库,通过此库创建引导式用户体验。 介绍 Intro.js 是一个轻量级的 JavaScript 库,用于…

论文精读:基于概率教师学习的跨域自适应目标检测(ICML2022)

原文标题:Learning Domain Adaptive Object Detection with Probabilistic Teacher 中文标题:基于概率教师学习的域自适应目标检测 代码地址: GitHub - hikvision-research/ProbabilisticTeacher: An official implementation of ICML 2022 p…

信息安全工程师(42)VPN类型和实现技术

前言 VPN(Virtual Private Network,虚拟专用网络)是一种在公共网络上建立专用网络连接的技术。 一、VPN类型 VPN可以根据不同的分类标准划分为多种类型,主要包括以下几种: 按协议分类: PPTP(Poi…

JAVA实现公众号扫码登录和关注功能实战

前言 使用第三方插件 <dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-mp</artifactId><version>4.6.0</version> </dependency>准备APPID和appSecet 登录微信公众号后台&#xff0c;复制ap…

防火墙的混合模式配置

&#x1f3c6;本文收录于《全栈Bug调优(实战版)》专栏&#xff0c;主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&am…

刘洋,一个爱 drink 的好运程序员|MarsCoders 开发者说

「MarsCoders 开发者说」是 AI 时代下各类技术栈、各种经历的开发者的故事记录&#xff0c;我们捕捉并再现他们在技术洪流中的职场蜕变与角色定位重塑&#xff0c;希望给更多开发者带来启发。 同时&#xff0c;该系列也记录了众多豆包MarsCode 用户和 AI 爱好者们的实践案例&am…

ICE/TURN/STUN/Coturn服务器搭建

ICE 当我们想要实现在公网环境下的语音/视频通话功能时&#xff0c;就需要用到ICE交互式连接建立。ICE不是一种协议&#xff0c;整合了 STUN 和 TURN 两种协议&#xff08;用于 NAT 穿透&#xff09;的框架。 ICE的主要目标是解决NAT&#xff08;网络地址转换&#xff09;穿越…

5分钟英文论文降重工具:DeepL【翻译、改写、缩写】

关注B站可以观看更多实战教学视频&#xff1a;hallo128的个人空间 5分钟英文论文降重工具&#xff1a;DeepL【翻译、改写、缩写】 视频学习&#xff1a;5分钟英文论文降重工具&#xff1a;DeepL【翻译、改写、缩写】 DeepL网址 官方网址&#xff1a;https://www.deepl.com/zh/…

超越单线程:Web Worker 在前端性能中的角色

在当今快速发展的数字时代&#xff0c;用户对网页性能的期待已经达到了前所未有的高度&#xff0c;想象一下&#xff0c;当你打开一个网站&#xff0c;瞬间加载、流畅操作&#xff0c;没有任何卡顿和延迟&#xff0c;这种体验无疑会让你倍感惊喜。然而在前端开发中&#xff0c;…

机器学习——多模态学习

多模态学习&#xff1a;机器学习领域的新视野 引言 多模态学习&#xff08;Multimodal Learning&#xff09;是机器学习中的一个前沿领域&#xff0c;它涉及处理和整合来自多个数据模式&#xff08;如图像、文本、音频等&#xff09;的信息。随着深度学习的蓬勃发展&#xff0…

编译链接的过程发生了什么?

一&#xff1a;程序的翻译环境和执行环境 在 ANSI C 的任何一种实现中&#xff0c;存在两个不同的环境。 第 1 种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 第 2 种是执行环境&#xff0c;它用于实际执行代码 也就是说&#xff1a;↓ 1&#xff1…

纠删码参数自适应匹配问题ECP-AMP实验方案(下)

7.参数选择 7.1.综合性能goal 根据权重和性能指标&#xff0c;本方案为每个文件确定最佳的纠删码参数&#xff0c;并将文件分组到不同的数据池中。本文使用了以下公式计算每个文件的评分&#xff0c;表示该文件在使用不同的纠删码参数时的综合性能。 s i j k ∑ j 1 6 c j…