《Java语言导学(原书第6版)》一1.3 “Hello World!”实例程序剖析

简介: 本节书摘来华章计算机《Java语言导学(原书第6版)》一书中的第1章 ,第1.3节,[美] 雷蒙德·盖拉多(Raymond Gallardo), 斯科特·霍梅尔(Scott Hommel), 索亚·坎南(Sowmya Kannan), 琼尼·戈登(Joni Gordon), 沙伦·比奥卡·扎卡沃(Sharon Biocca Zakhour) 著 董笑菊 薛建新 吴 帆 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 “Hello World!”实例程序剖析

前面已经介绍了“Hello World!”程序及其编译和运行过程,本节介绍其工作原理。再次给出“Hello World!”程序的代码如下:
image

“Hello World!”程序包含三个基本组件:源码注释、HelloWorldApp类定义和main方法。下述说明有助于初步理解这些代码,深入理解还需等到读完本书之后。

1.3.1 源码注释

下面的黑体字指出了“Hello World!”程序的注释部分:
image

注释会被编译器忽略,但有助于程序员理解程序。Java程序语言支持三类注释格式。
1)/ text/——编译器会忽略//之间的所有文本。
2)/*documentation/——称为文档注释。如同编译器忽略/ /注释一样,它也会忽略这类注释。自动创建文档时javadoc工具要用到文档注释。关于javadoc的更多信息可参考《Javadoc Tool Documentation》。
3)//text——编译器会忽略从//到行末的所有文本。

1.3.2 HelloWorldApp类定义

下述黑体字为“Hello World!”程序的类定义部分:
image

如前所示,类定义的基本形式如下:
image

关键字class定义了一个名为name的类定义,每个类的代码都写在黑体的左右花括号之间。第2章简要介绍类,第4章会详细讨论类。本节只需知道每个应用程序都由类定义开始即可。

1.3.3 main方法

下述黑体字定义程序的main方法:
image

Java程序语言中,每个应用程序都必须包含一个main方法,其形式如下:
image

修饰符public和static的次序无关紧要,可以是public static或static public。通常约定使用public static,如上述例子所示。参数可以任意命名,但大多数程序员会选择args或argv。
main方法与C和C++中的main函数类似,它是应用程序的入口,随后才能调用程序所需的其他方法。main方法只接受一类参数:String类型的数组。
image

运行时系统就是通过该数组将消息传送给应用程序的,例子如下:
image

数组中的每个字符串都称作命令行参数。通过命令行参数,用户可以不重新编译应用程序就能改变其操作。例如,用户可以使用下述命令行参数指定排序程序按照降序排序数据:
image

“Hello World!”应用程序忽略了命令行参数,但要注意这些参数是存在的。最后看下述命令:
image

该命令使用核心库的System类在标准输出中显示“Hello World!”消息。后续章节将会讨论该类库(通常称为应用程序接口或API)的部分内容。

相关文章
|
27天前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
62 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
2天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
12 4
|
16天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
21天前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
34 2
|
23天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
41 3
|
26天前
|
移动开发 Java 大数据
深入探索Java语言的核心优势与现代应用实践
【10月更文挑战第10天】深入探索Java语言的核心优势与现代应用实践
41 4
|
24天前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
|
27天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
33 1
|
2天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
11天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
下一篇
无影云桌面