李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 每日心情
  • Now
  • 系列文章
  • 论坛
  • 左邻右舍
    • 左邻右舍
    • 博友圈
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • 网站地图
    • 网站统计
    • 另一个网站
    • 我的导航站
    • 赞助
  • 🚇开往
!Destiny
惟坚韧者始能遂其志
  1. 首页
  2. 后端
  3. 正文

Java程序基本结构

2022年7月15日 约 840 字3 分钟 128 0 0
本文最后更新于 2025年11月20日,距今已 302 天,其中的信息可能已经发生变化,请注意甄别。

我们先剖析一个完整的Java程序,它的基本结构是什么:

/**
 * 可以用来自动创建文档的注释
 */
public class Hello {
    public static void main(String[] args) {
        // 向屏幕输出文本:
        System.out.println("Hello, world!");
        /* 多行注释开始
        注释内容
        注释结束 */
    }
} // class定义结束

因为Java是面向对象的语言,一个程序的基本单位就是class,class是关键字,这里定义的class名字就是Hello:

public class Hello { // 类名是Hello
    // ...
} // class定义结束

类名要求:

  • 类名必须以英文字母开头,后接字母,数字和下划线的组合
  • 习惯以大写字母开头

要注意遵守命名习惯,好的类命名:

  • Hello
  • NoteBook
  • VRPlayer

不好的类命名:

  • hello
  • Good123
  • Note_Book
  • _World

注意到public是访问修饰符,表示该class是公开的。

不写public,也能正确编译,但是这个类将无法从命令行执行。

在class内部,可以定义若干方法(method):

public class Hello {
    public static void main(String[] args) { // 方法名是main
        // 方法代码...
    } // 方法定义结束
}

方法定义了一组执行语句,方法内部的代码将会被依次顺序执行。

这里的方法名是main,返回值是void,表示没有任何返回值。

我们注意到public除了可以修饰class外,也可以修饰方法。而关键字static是另一个修饰符,它表示静态方法,后面我们会讲解方法的类型,目前,我们只需要知道,Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组。

方法名也有命名规则,命名和class一样,但是首字母小写:

好的方法命名:

  • main
  • goodMorning
  • playVR

不好的方法命名:

  • Main
  • good123
  • good_morning
  • _playVR

在方法内部,语句才是真正的执行代码。Java的每一行语句必须以分号结束:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world!"); // 语句
    }
}

在Java程序中,注释是一种给人阅读的文本,不是程序的一部分,所以编译器会自动忽略注释。

Java有3种注释,第一种是单行注释,以双斜线开头,直到这一行的结尾结束:

// 这是注释...

而多行注释以/星号开头,以/结束,可以有多行:

/*
这是注释
blablabla...
这也是注释
*/

还有一种特殊的多行注释,以/*开头,以/结束,如果有多行,每行通常以星号开头:

/**
 * 可以用来自动创建文档的注释
 * 
 * @auther liaoxuefeng
 */
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

这种特殊的多行注释需要写在类和方法的定义处,可以用于自动创建文档。

Java程序对格式没有明确的要求,多几个空格或者回车不影响程序的正确性,但是我们要养成良好的编程习惯,注意遵守Java社区约定的编码格式。

除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/hou-duan/3906

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

Java程序基本结构

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: JAVA 教程
最后更新:2025年11月20日
相关文章
  • 使用RocketMQ时,服务启动过程中,Consumer在服务未启动时消费消息问题处理2022年6月23日
  • 使用Spring MVC的websocket配置时 Tomcat启动报错2020年2月25日
  • 配置Jackson使用字段而不是getter/setter来序列化和反序列化2026年3月19日
  • JDK25模块级导入深度解析:Java导入机制的革命性进化2026年1月26日
  • RocketMQ的push消费方式实现详解2022年8月9日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

满堂花醉三千客,一剑霜寒十四州。

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
让WordPress静态化之Rocket‑Nginx WordPress下一代默认主题Ipsum预览 C++之父重磅发声:AI编程正在毁掉一代程序员 支撑全网40%网站的WordPress正在重新拥抱PHP生态 Kratos-plus v1.1.24版本更新说明 关于主题加载速度优化的一点儿小演进
给主题增加了Now、每日心情、年度回顾、岁月同一天、随机漫步等功能WordPress缓存插件WP Fastest Cache、WP Rocket 、FlyingPress对比关于使用AI的一些思考关于主题加载速度优化的一点儿小演进Kratos+ v1.1.16版本更新说明AI时代,个人技术博客的出路在哪里?
Hibernate、MyBatis的简介、区别以及优化 图解 | 原来这就是网络 居住证可算是申请通过了…… BeanCopier工具类(性能优化工具类) 一次 Git Rebase 事故,让我彻底明白 Rebase 和 Merge 的区别 n8n深度解析:可视化编排与灵活拓展的双引擎驱动
最近评论
李锋镝 发布于 8 小时前(09月18日) 哈哈哈,确实是有点儿,但是这个就是人家的风格
股票愣涨 发布于 8 小时前(09月18日) 是不是有点太简洁了
钱多多 发布于 8 小时前(09月18日) 这个壁纸好看
李锋镝 发布于 10 小时前(09月18日) 有苹果那味儿了 :74:
lijie blog 发布于 11 小时前(09月18日) :32: 还挺不错,感觉更适合设计师圈子
标签聚合
数据库 JVM Claude ElasticSearch 架构 AI编程 IDEA 多线程 JAVA Spring AI SQL Redis WordPress K8s MQ 分布式 日常 SpringBoot MySQL
友情链接
  • 九仞之行
  • 彬红茶日记
  • 老张博客
  • 林羽凡
  • 若梦博客
  • lijie blog
  • 蜗牛工作室
  • 哥斯拉
  • 临窗旋墨
  • 搬砖日记
  • 知向前端
  • 志文工作室
  • Serendipity
  • Honesty
  • 皮皮社
  • 懋和道人
  • 瓦匠个人小站
  • Mr.Sun的博客
  • sssr7844的博客
  • 韩小韩博客

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号