Java入门:环境搭建与第一个HelloWorld程序
一、环境搭建前的准备
1. JDK vs JRE的区别
- JRE(Java Runtime Environment):只能运行Java程序
- JDK(Java Development Kit):包含JRE + 开发工具(javac/java等)
❗ 结论:开发必须安装JDK
2. 下载JDK(以JDK17为例)
- 官网地址:Oracle JDK下载
- 社区替代方案:OpenJDK(推荐Adoptium版本)
- 避坑指南:
- 优先选择LTS(长期支持版本):JDK8/11/17
- 确认操作系统位数(32位/64位)
二、JDK安装与环境变量配置(Windows/Mac双平台)
Windows系统
1. 安装JDK
- 双击下载的
.exe文件,安装路径不要含中文或空格(建议C:\dev\jdk-17)
2. 配置环境变量(重点!)
- 右键【此电脑】→【属性】→【高级系统设置】→【环境变量】
- 新建系统变量:
- 变量名:
JAVA_HOME - 变量值:JDK安装路径(如
C:\dev\jdk-17)
- 变量名:
- 修改Path变量:
- 添加两条记录:
%JAVA_HOME%\bin%JAVA_HOME%\jre\bin
- 添加两条记录:
3. 验证安装
打开CMD,输入命令:
java -version
javac -version
✅ 出现版本号即成功(示例输出):
java version "17.0.5" 2022-10-18 LTS
Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)
Mac系统
1. 使用Homebrew安装(推荐)
brew install openjdk@17
2. 配置环境变量
编辑~/.zshrc文件:
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
三、第一个Java程序:HelloWorld
1. 使用记事本/VSCode编写代码
创建文件HelloWorld.java,输入以下代码:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, CSDN!"); }
}
❗ 注意:
- 类名必须与文件名完全一致(区分大小写)
- 主方法签名不可修改
2. 编译与运行
# 编译(生成HelloWorld.class字节码文件)
javac HelloWorld.java # 运行
java HelloWorld
✅ 输出结果:
Hello, CSDN!
四、常见问题与解决方法
-
错误:‘javac’ 不是内部命令
- 原因:环境变量配置错误
- 解决:检查
JAVA_HOME和Path是否配置正确
-
错误:找不到或无法加载主类
- 原因:类名与文件名不一致 或
.class文件未生成 - 解决:重新编译并检查类名
- 原因:类名与文件名不一致 或
-
中文乱码问题
- 在编译时指定编码:
javac -encoding UTF-8 HelloWorld.java
五、IDE推荐(附快速配置)
- IntelliJ IDEA(推荐)
- 社区版免费,创建项目时自动识别JDK
- VS Code
- 安装插件:
Extension Pack for Java
- 安装插件:
相关文章:
Java入门:环境搭建与第一个HelloWorld程序
一、环境搭建前的准备 1. JDK vs JRE的区别 JRE(Java Runtime Environment):只能运行Java程序JDK(Java Development Kit):包含JRE 开发工具(javac/java等) ❗ 结论:开…...
PDF处理控件Aspose.PDF,如何实现企业级PDF处理
PDF处理为何成为开发者的“隐形雷区”? “手动调整200页PDF目录耗时3天,扫描件文字识别错误导致数据混乱,跨平台渲染格式崩坏引发客户投诉……” 作为开发者,你是否也在为PDF处理的复杂细节消耗大量精力?Aspose.PDF凭…...
大白话如何利用 CSS 实现一个三角形?原理是什么?
大白话如何利用 CSS 实现一个三角形?原理是什么? 答题思路 先说明实现三角形的方法基础:即利用 CSS 中元素的边框特性来构建三角形,让读者对整体思路有个初步概念。详细阐述具体的实现步骤:包括设置元素的基本样式&a…...
js操作字符串的常用方法
1. 查找和截取 1.1 indexOf 作用:查找子字符串在字符串中首次出现的位置。 是否改变原字符串:不会改变原字符串。 返回值:如果找到子字符串,返回其起始索引(从 0 开始);如果未…...
PostgreSQL 如何有效地处理数据的加密和解密
对安全级别要求较高的项目,对敏感数据都要求加密保存。 在 PostgreSQL 中处理数据的加密和解密可以通过多种方式实现,以确保数据的保密性和安全性。 我这里提供几种常见的方法。 一、使用 pgcrypto 扩展 pgcrypto 是 PostgreSQL 中一个常用的扩展&am…...
《2025年软件测试工程师面试》消息队列面试题
消息队列 消息队列(Message Queue,简称 MQ)是一种应用程序之间的通信方法。 基本概念 消息队列是一种先进先出(FIFO)的数据结构,它允许一个或多个消费者从队列中读取消息,也允许一个或多个生产者…...
大数据学习(55)-BI工具数据分析的使用
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...
原生android 打包.aar到uniapp使用
1.原生安卓里面引入uniapp官方提供的包文件: uniapp-v8-release.aar 2.提供uniapp调用的接口,新建类文件继承UniModule, package com.dermandar.panoramal;import com.scjt.lib.certlib;import io.dcloud.feature.uniapp.annotation.UniJSM…...
解锁MacOS开发:环境配置与应用开发全攻略
✨✨✨这里是小韩学长yyds的BLOG(喜欢作者的点个关注吧) ✨✨✨想要了解更多内容可以访问我的主页 小韩学长yyds-CSDN博客 目录 引言 一、MacOS 开发环境配置 (一)必备工具安装 (二)集成开发环境(IDE)选…...
Aruco 库详解:计算机视觉中的高效标记检测工具
1. 引言:Aruco 在计算机视觉中的重要性 在计算机视觉领域,标记(Marker)检测和识别是许多应用的基础,包括 机器人导航、增强现实(AR)、相机标定(Calibration)以及物体跟踪…...
第005文-模拟入侵网站实现0元购
1、部署导入靶场,部署购物网站 首先在虚拟机中新增一个centos虚拟机,在上面部署一套完整的购物网站,使用mysql数据库,访问端口是80。这个新增的centos虚拟机就是我们的靶场。购物网站在网上随便找一套开源的部署即可。 2、在网站…...
unity3d 背景是桌面3d数字人,前面是web的表单
是可以实现的,但涉及多个技术栈的结合,包括 Unity3D、Web 技术(HTML、JavaScript)、以及可能的 WebGL 或 WebRTC 技术。大致有以下几种实现方案: 方案 1:Unity 作为独立应用(桌面端࿰…...
23种设计模式简介
一、创建型(5种) 1.工厂方法 总店定义制作流程,分店各自实现特色披萨(北京店-烤鸭披萨,上海店-蟹粉披萨) 2.抽象工厂 套餐工厂(家庭装含大披萨薯条,情侣装含双拼披萨红酒&#…...
淘宝关键字搜索接口爬虫测试实战指南
在电商数据分析和市场研究中,通过关键字搜索获取淘宝商品信息是一项重要任务。淘宝开放平台提供了 item_search 接口,允许开发者通过关键字搜索商品,并获取商品列表及相关信息。本文将详细介绍如何设计并测试一个基于该接口的爬虫程序&#x…...
IntelliJ IDEA 中配置 Groovy
在 IntelliJ IDEA 中配置 Groovy 环境可以分为以下几个步骤 1. 安装 Groovy 插件 步骤: 打开 IntelliJ IDEA,进入菜单栏:File → Settings(Windows/Linux)或 IntelliJ IDEA → Preferences(Mac࿰…...
【Linux 22.4 ubuntu 安装cuda12.1 完整方案】
下载cuda12.1 官网网址 wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run sudo sh cuda_12.1.1_530.30.02_linux.run!import! 如果已经安装驱动,则不要选择dirver那项 添加环境变量 vim ~/.b…...
使用AI整理知识点--WPF动画核心知识
一、WPF动画基础 1、动画本质 通过随时间改变依赖属性值实现视觉效果(如位置、透明度、颜色等)。 依赖属性必须支持 DependencyProperty,且需是可动画的(如 Double, Color, Point 等)。 2、动画三要素 起始值 (Fr…...
HTML前端手册
HTML前端手册 记录前端框架在使用过程中遇到的各种问题和解决方案,供后续快速进行手册翻阅使用 文章目录 HTML前端手册1-前端框架1-TypeScript框架2-CSS框架 2-前端Demo1-Html常用代码 2-知云接力3-Live2D平面动画 3-前端运维1-NPM版本管理 1-前端框架 1-TypeScrip…...
风控模型算法面试题集结
特征处理 1. 特征工程的一般步骤什么?什么是特征迭代 特征工程一般包含: 数据获取,分析数据的可用性(覆盖率,准确率,获取容易程度)数据探索,分析数据业务含义,对特征有一个大致了解,同时进行数据质量校验,包含缺失值、异常值和一致性等;特征处理,包含数据处理和…...
利用 requestrepo 工具验证 XML外部实体注入漏洞
1. 前言 在数字化浪潮席卷的当下,网络安全的重要性愈发凸显。应用程序在便捷生活与工作的同时,也可能暗藏安全风险。XXE(XML外部实体)漏洞作为其中的典型代表,攻击者一旦利用它,便能窃取敏感信息、掌控服务…...
引领变革!北京爱悦诗科技有限公司荣获“GAS消费电子科创奖-产品创新奖”!
在2025年“GAS消费电子科创奖”评选中,北京爱悦诗科技有限公司提交的“aigo爱国者GS06”,在技术创新性、设计创新性、工艺创新性、智能化创新性及原创性五大维度均获得评委的高度认可,荣获“产品创新奖”。 这一奖项不仅是对爱悦诗在消费电子…...
MySQL JOIN 与子查询深度对比:原理、性能陷阱与优化策略
1. 基础概念:JOIN 与子查询的本质区别 1.1 JOIN 的核心作用 目标:直接关联两个表的行,通过匹配条件(如 ON 或 USING)合并数据。典型场景:需要同时获取两个表的字段(如 SELECT A.col, B.col FROM A JOIN B)。执行逻辑: 数据库一次性处理两表关系,优化器可能选择 Nest…...
稀疏注意力:打破Transformer计算瓶颈,实现高效长序列建模
引言:Transformer的辉煌与困境 近年来,Transformer凭借其强大的自注意力机制(Self-Attention),在自然语言处理、图像识别等领域大放异彩。然而,传统自注意力机制要求模型计算输入序列中所有位置对之间的关联…...
PTA 7-8 哈利·波特的考试
题目描述 哈利波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是 haha,将老鼠变成鱼的魔咒是 hehe 等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如 ahah 可以将老鼠变…...
纯html文件实现目录和文档关联
目录结构 效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>项目结题报告</title><style lang"scss">::-webkit-scrollbar {width: 6px;height: 6px;}::-webkit-scro…...
共绘智慧升级,看永洪科技助力由由集团起航智慧征途
在数字化洪流汹涌澎湃的当下,企业如何乘风破浪,把握转型升级的黄金机遇,已成为所有企业必须直面的时代命题。由由集团,作为房地产的领航者,始终以前瞻视野引领变革,坚决拥抱数字化浪潮,携手数字…...
如何搭建个人静态住宅IP:从零开始
你好!今天我们将一起探索如何从头开始搭建个人静态住宅IP。无论您是为了远程办公、在线教育还是游戏加速,静态住宅IP都能带给您更稳定的网络体验。 一、准备阶段 1. 明确需求 首先,您需要清楚自己为什么需要静态住宅IP。可能是为了实现远程…...
《打造视频同步字幕播放网页:从0到1的技术指南》
《打造视频同步字幕播放网页:从0到1的技术指南》 为什么要制作视频同步字幕播放网页 在数字化信息飞速传播的当下,视频已然成为内容输出与获取的核心载体,其在教育、娱乐、宣传推广等诸多领域发挥着举足轻重的作用 。制作一个视频同步字幕播…...
自学嵌入式第27天------TCP和UDP,URL爬虫
1. TCP和UDP区别 **TCP(传输控制协议)和UDP(用户数据报协议)**是两种主要的传输层协议,它们在数据传输方式上有显著区别: 连接性: TCP是面向连接的协议,通信前需通过三次握手建立连…...
C++ 学生成绩管理系统
一、项目背景与核心需求 成绩管理系统是高校教学管理的重要工具,本系统采用C++面向对象编程实现,主要功能模块包括: 学生信息管理(学号/姓名/3门课程成绩) 成绩增删改查(CRUD)操作 数据持久化存储 统计分析与报表生成 用户友好交互界面 二、系统架构设计 1. 类结构设计 …...
