写一个简单的Java示例

下面基于公司域名www.baidu.com,编写第一个 Java 程序并详细说明文件夹结构、代码实现和运行步骤(遵循 Java 包命名规范:域名反转作为包名前缀)。

一、文件夹结构设计(核心:包名与路径完全对应)

Java 要求包名必须与文件夹路径严格一致 (否则会出现 "找不到类" 错误)。

域名www.baidu.com反转后为com.baidu.www,因此文件夹结构如下:

一、文件夹结构

推荐的 Java 项目基本结构如下(以 Windows 系统为例):

perl 复制代码
my-first-java-app/ # 项目根目录(可自定义名称) 
|── src/ # 源代码目录(约定俗成,存放.java文件) 
|    └── com/ # 对应域名的"com"后缀 
|        └── baidu/ # 对应域名的"baidu"主体 
|            └── www/ # 对应域名的"www"前缀 
|                └── HelloWorld.java # 主程序文件(类名=文件名)                 
└── bin/ # 编译输出目录(存放.class字节码文件,会自动创建)

二、Java 代码实现(HelloWorld.java)

src/com/baidu/www/目录下创建HelloWorld.java,代码如下:

arduino 复制代码
// 包名必须与文件夹路径一致:com.baidu.www(对应src/com/baidu/www/) 

package com.baidu.www; 

/** 
* 第一个Java程序(基于域名www.baidu.com) 
* 功能:输出"Hello, www.baidu.com!" 
*/

public class HelloWorld { 
    // 程序入口方法(Java程序必须通过main方法启动) 
    public static void main(String[] args) { 
        // 打印输出语句(向控制台输出内容) 
        System.out.println("Hello, www.baidu.com!");
    }
}

代码说明:

  • package com.baidu.www;:声明包名,必须放在代码第一行,且与文件夹路径src/com/baidu/www/完全对应。
  • public class HelloWorld:类名必须与文件名HelloWorld.java完全一致(包括大小写)。
  • main方法:Java 程序的入口,格式固定为public static void main(String[] args)

三、运行步骤(需提前安装 JDK 并配置环境变量)

1. 检查 JDK 是否安装成功

打开命令行(Windows:Win+R输入cmd;Mac/Linux:终端),输入以下命令,若能显示版本号则说明安装成功:

bash 复制代码
javac -version # 检查编译器版本(javac是Java编译器) 
java -version # 检查运行环境版本(java是Java运行工具)

2. 编译 Java 源代码(.java → .class)

编译的目的是将源代码(人类可读)转换为 JVM 可执行的字节码(.class 文件)。

步骤:

1.命令行进入项目根目录my-first-java-app

bash 复制代码
# 假设项目放在D盘根目录,示例路径需替换为你的实际路径 

cd D:\my-first-java-app

2.执行编译命令:

bash 复制代码
javac src/com/baidu/www/HelloWorld.java -d bin

同一包内有多个类时,使用通配符*编译当前目录所有.java文件

bash 复制代码
# 编译src/com/baidu/www/下所有类(保持包结构输出到bin) 
javac src/com/baidu/www/*.java -d bin
  • 参数说明:

    src/com/baidu/www/HelloWorld.java是源代码路径;

    -d bin指定编译后的.class 文件输出到bin目录(会自动创建bin/com/baidu/www/目录结构,与包名对应)。

编译成功后,bin目录下会生成:bin/com/baidu/www/HelloWorld.class

3. 运行 Java 程序(执行.class 文件)

通过java命令运行编译后的字节码文件,需要指定全限定类名 (包名 + 类名)。

步骤:

在项目根目录my-first-java-app下执行:

bash 复制代码
java -cp bin com.baidu.www.HelloWorld
  • 参数说明:

-cp bin表示类路径(告诉 JVM 在bin目录下找.class 文件);

com.baidu.www.HelloWorld是全限定类名(必须与包名 + 类名一致)。

运行成功结果:

Java 复制代码
Hello, www.baidu.com!

四、常见错误及解决方法

  1. "错误:找不到或无法加载主类"

    • 原因 1:类名与文件名不一致(如类名Hello但文件名为HelloWorld.java)。
      解决:确保类名(public class Xxx)与文件名(Xxx.java)完全一致。
    • 原因 2:包名与文件夹路径不一致(如包名com.baidu.www但文件放在src/com/baidu/下)。
      解决:文件必须放在src/com/baidu/www/目录下(与包名严格对应)。
    • 原因 3:运行时类路径或全限定类名错误。
      解决:确认命令是java -cp bin com.baidu.www.HelloWorld(注意-cp bin和类名的拼写)。
  2. "javac 不是内部或外部命令"

    • 原因:JDK 未安装或环境变量未配置。
      解决:重新安装 JDK,并将JDK安装目录/bin添加到系统环境变量Path中。

总结

本示例通过 "创建目录→编写代码→编译→运行" 四步完成第一个程序。核心是严格遵循 Java 包命名规范(域名反转作为包名),保证 "包名 = 文件夹路径", "类名 = 文件名",这是 Java 程序运行的基础。

相关推荐
青柠编程2 分钟前
基于 Spring Boot 的医疗病历信息交互平台架构设计
java·spring boot·后端
专注代码七年19 分钟前
IDEA JVM优化配置idea64.vmoptions - 保守兼容版本 兼容IDEA 2023.3.6版本【亲测可用】
java·jvm·intellij-idea
疯癫的老码农33 分钟前
【word解析】Java文件解析问题排查:无法找到OMML2MML.xsl的IO异常解析
java·开发语言·spring boot·spring·maven
songx_991 小时前
leetcode(填充每个节点的下一个右侧节点指针 II)
java·数据结构·算法·leetcode
chenyuhao20241 小时前
vector深度求索(上)实用篇
开发语言·数据结构·c++·后端·算法·类和对象
程序新视界2 小时前
MySQL中的数据去重,该用DISTINCT还是GROUP BY?
数据库·后端·mysql
花心蝴蝶.2 小时前
JVM 内存结构
java·开发语言·jvm
lichong9512 小时前
【大前端++】Android studio Log日志高对比度配色方案
android·java·前端·json·android studio·大前端·大前端++
豌豆花下猫2 小时前
Python 潮流周刊#121:工程师如何做出高效决策?
后端·python·ai
97zz2 小时前
实战排查:Java 解析 Excel 大型 导致内存溢出问题的完整解决过程
java·开发语言·spring boot·excel