《Java 7程序设计入门经典》一1.7 第一个简单的程序

简介: 本节书摘来自华章出版社《Java 7程序设计入门经典》一书中的第1章,第1.7节,作者(美)Herbert Schildt Dale Skrien,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.7 第一个简单的程序

编译和运行一个简短的示例程序是开始介绍Java的诸多关键元素的最佳方法。我们将使用以下代码:
image

下面将运行以下三步:
1)输入程序;
2)编译程序;
3)运行程序。

1.7.1 输入程序

创建一个程序的第一步就是将源代码输入到计算机中。正如前面所介绍的那样,程序的源代码是程序可由人类阅读的形式。必须使用文本编辑器,而不是字处理软件将源代码输入到计算机中。字处理软件一般不仅存储文本信息,还存储格式信息。格式信息会使Java编译器困惑。源代码必须只包含文本。如果使用IDE,则IDE会提供源代码编辑器可供使用。除此之外,任意的简单的文本编辑器都可以使用。例如,如果使用Windows操作系统,可以使用记事本(Notepad)程序。
对于许多计算机语言,存储程序源代码的文件的名字是任意的。但是对Java不是这样。首先你需要知道,在Java中,源文件的名称是非常重要的。例如,在这个例子中,源文件的名称必须是Example.java。下面介绍这样做的原因。
在Java中,源代码的正式名称是编译单元(compilation unit)。它是一个文本文件,包括一个或多个类的定义(还可能有其他东西)。从现在起,我们将使用只包含一个类的源文件。Java编译器需要源代码使用文件扩展名.java。观察程序,会发现程序中定义的类名也是Example。这并不是巧合。在Java中,所有代码必须存在于类中。按照惯例,主类的名字要和存储程序的文件名相同。请确保文件名的大小写与类名也相同,这是因为Java是区分大小写的。从这点看,文件名与类名相同的约定似乎是武断的,但是遵循这样的规则使得维护和组织程序更加容易。

1.7.2 编译程序

在运行程序前,需要用javac编译程序。为了编译Example程序,需要像下面这样执行javac并在命令行指定源文件的名称:
image

编译器javac创建一个名为Example.class的文件,它包含程序的字节码版本。记住,字节码不是可执行的代码。字节码必须由Java虚拟机执行,它不能直接由CPU执行。

1.7.3 运行程序

为了实际运行程序,必须使用java。本书曾提到,java对程序的字节码进行操作。为了执行Example程序,将类名Example作为命令行的参数,如:
image

当程序运行时,会显示下面的输出:
image

在编译Java源代码时,每个单独的类都输出到以类名为文件名、以.class为扩展名的文件中。这也是为什么把Java源文件命名为包含它的类的原因。这样,源代码的名字就可以和.class文件的名字相同。当像之前一样执行java时,实际上指定了希望执行的类名。程序java会用这个类名自动搜索以.class为扩展名的文件。如果找到了文件,它就会执行包含特定类的代码。

1.7.4 逐行解析第一个简单的程序

尽管Example.java相当短小,但是它包含这所有Java程序都具有的一些关键特性。让我们详细查看程序的每一部分。
程序以下面的代码开始:
image

这是注释(comment)。正如其他编程语言一样,Java可以在源文件中输入注释。编译器会忽略注释的内容。但是,注释向阅读源代码的人描述或解释程序的操作。在这个例子中,注释对程序进行描述,提醒你该源文件需要命名为Example.java。当然,在实际应用程序中,注释通常解释程序的一部分如何工作,或有什么特别的功能。
在程序的顶端的注释称为多行注释(multiline comment)。这种注释以/开头,以/结尾。编译器忽略在这两个注释符号间的所有内容。顾名思义,多行注释可以长达好几行。
程序代码的下一行是:
image

这行使用关键字class来声明一个新定义的类。本书曾提及,在Java中,类是封装的基本单位。Example是类名。类的定义以左花括号({)开始,以右花括号(})结束。花括号内的元素是类的成员。现在只需要了解所有的程序活动都在一个成员中发生,不要对类中的其他细节过于在意。在也是为什么所有Java程序都或多或少有些面向对象的原因。
程序下一行是单行注释(single-line comment)。如下所示:
image

这是Java支持的第二种注释种类。单行注释由两个斜线(//)开始,到本行末尾结束。一般而言,程序员用多行注释标注长注释,用单行注释标志短的逐行描述。
代码的下一行如下所示:
image

这行是main()方法的起点。本书曾提及,Java中的子程序称为方法。正如之前的注释所述,这是程序开始执行的地方。所有的Java应用程序从执行main()方法开始执行。这里不再给出该行每个部分的具体含义,因为这涉及许多对Java的其他特性的详细理解。但是,由于本书中的许多例子将会用这行代码,因此对其有个简单介绍还是会使我们了解它的一般概念。
该行以关键字public开始。它是访问修饰符(access modifier)。访问修饰符节决定程序的哪些部分能够访问类的成员。当一个类的成员以public开始时,类外的代码就可以访问该成员。(与之相反的是关键字private,它阻止类外定义的代码使用成员。)必须把main()方法声明为public,因为它需要由Example类外的代码执行。在本例中,java应用程序启动器调用main()方法。
关键字static使得main()方法可以独立于任意对象运行。因为JVM要在任何对象构造前执行main()方法,所以这是必要的。关键字void告诉编译器main()方法没有返回结果。(稍后你将会看到,方法也能返回结果。)如果以上让你感到困惑,不要担心。所有这些概念将在后续章节中详细讨论。
本书曾提及,main()是Java应用程序开始时调用的方法。方法名后面的圆括号内指定变量,传递给方法的所有信息由这些变量接收。这些变量称为形参(parameter)。如果给定的方法不需要形参,仍然需要包括一对空圆括号。main()方法需要一个形参。在程序Example中的形参是String[]args,这意味着形参名为args。这是一个类型为String的对象数组。数组(array)是相似对象的集合。String类型的对象存储字符串。(数组和String类型都会在后续章节详细讨论。)在本例中,形参args接收程序执行时所有出现的命令行参数。程序Example并不使用命令行参数,但是本书后面的其他程序会使用命令行参数。
该行的最后一个字符是左花括号({)。这标志着main()方法主体的开始。该方法中所有代码会在方法的左花括号和右花括号间出现。
下一行代码如下所示。它出现在main()方法中:
image

这行在屏幕上输出字符串“Java drives the Web.”,并另起一行。输出实际上是通过内置的println()方法完成的。在本例中,println()方法显示传递给它的字符串。下文将会介绍,println()方法还可以用来显示其他种类的信息。这行以System.out开始。System是一个预定义的类,它提供对系统的接口,out是连接控制台的输出流,对其具体介绍在此时过于复杂。于是,System.out是封装控制台输出的对象。Java用对象来定义控制台的输出也是其面向对象本质的进一步证据。
你可能会猜想,控制台的输入/输出在现实生活中的Java应用程序中并不常用。因为大部分的现代计算环境本质上是窗体式的或图形界面的,控制的输入输出也常用于简单的实用程序、演示程序(正如本书中展示的程序)和服务器端程序。在后面也会学习如何创建图形界面(Graphical User Interface,GUI),但目前将继续实用控制台输入输出的方法。注意println()语句以分号结束。Java中的所有语句都以分号结束。程序中的其他行没有以分号结束,是因为从技术上说它们不是语句。
第一个右花括号结束main()方法,最后的右花括号结束类Example的定义。
最后说明一点:Java区分大小写。忽略这点会造成严重的问题。例如,如果将误将main输入为Main,或误将println输入为PrintLn,上述程序就不正确。另外,Java编译器会编译一个不包含main方法的类,所以就没有办法执行它。所以,如果拼写错了main,编译器仍可以编译程序,但是在寻找main()方法时,java会报告错误。
image

相关文章
|
3天前
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
|
3天前
|
搜索推荐 Java Android开发
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
|
6天前
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
|
6天前
|
Java 编译器
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
|
6天前
|
Java 开发工具
课时5:第一个Java程序
课时5介绍了编写第一个Java程序的步骤,包括创建Hello.java文件、编写“Hello World”代码、编译和运行程序。主要内容有:1) 新建并编辑Hello.java;2) 编译Java源文件生成.class文件;3) 通过命令行解释执行Java程序;4) 解释主方法的作用及信息输出操作。本课强调了类定义、文件命名规则和基本程序结构的重要性,并建议初学者使用记事本编写代码以熟悉基础语法。
|
2月前
|
传感器 安全 算法
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
|
2月前
|
IDE Java 开发工具
消防救援支队消防员单兵装备智能养护舱点击驱动java版程序(一)
智能消防作战服架通过电机驱动系统提升消防员作业效率和安全性。本文介绍基于Java的电机驱动程序开发,涵盖硬件准备、软件环境搭建及驱动程序实现。重点包括串口通信配置、电机控制类设计与控制逻辑实现,确保电机高效稳定运行。通过正确配置通信协议和串口参数,并添加异常处理机制,保障系统的安全性和可靠性。
|
4月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
83 2
|
4月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
184 2
|
5月前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
156 63

热门文章

最新文章