《第2章Java概述说课讲解》由会员分享,可在线阅读,更多相关《第2章Java概述说课讲解(19页珍藏版)》请在金锄头文库上搜索。
1、学习导读 Java语言和其它高级语言一样需要有一个编程环境。为此,首先要安装Java平台,然后在该平台上应用Java的编译系统进行编程。 本章从安装配置Java平台开始,举例说明Java源程序的结构,引导读者对Java语言有一个基本的了解。,第2章 Java概述,教学重点与难点:,安装并配置Java平台 字节码的编译生成 使用集成环境来编制Java程序,21 安装并配置Java 平台,2.1.1 Java平台概述 Java平台由Java应用编程接口(Application Programming Interface,简称API)和Java虚拟机(Java virtual machine ,简称
2、JVM)构成。 Java应用编程接口是已编译的可在我们的程序中使用的代码库。它们使我们能够添加现成的可定制的功能,以节约编程时间。 般认为,Java虚拟机是建立在实际的处理器基础上的假想的计算机。Java虚拟机规范为Java虚拟机(JVM)作了如下定义:在真实机器中用软件模拟实现的一种想象机器。Java虚拟机代码被存储在.class文件中;每个文件都包含最多一个public类。,Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台,因为编译是针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟并运行于各种现存的计算机系统,也可用硬件来
3、实现。 Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统。,2.2 第一个Java Application程序,2.2.1 编辑源程序 我们可以不采用任何集成开发环境,只是采用文本编辑器就可以编写简短的Java程序。 【例2.1】 第一个Java Application程序 /MyFirstApp.java public class MyFirstApp public static void main(String args ) Syst
4、em.out.println(This is my first Java Application!); ,本程序的作用是输出下面一行信息: This is my first Java Application! 在一个Java Application应用程序中,一定要有一个类包含main方法。而在本范例中,首先用保留字class来声明一个新的类,其类名为MyFirstApp,它是一个公共类(public)。整个类定义由大括号括起来。在该类中定义了一个main方法,这个方法共有三个修饰语,其意义分别如下: (1)public:表示这个类的main方法可以被所有的对象使用。 (2)static:指明
5、该方法是一个类方法,它可以通过类名直接调用,表示main是属于这个类所使用的方法,我们将之称为“静态方法”。,(3)void:表示main方法执行后不会传回任何值。这一点是重要的,因为Java编程语言要进行谨慎的类型检查,包括检查调用的方法确实返回了这些方法所声明的类型。 对于一个应用程序来说,main方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main方法也只能有一个,作为程序的入口。main方法定义中,括号中的String args是传递
6、给main方法的参数,参数名为args,它是String类的一个实例。参数可以为0个或多个,每个参数用“类名 参数名”来指定,多个参数间用逗号分隔。,对于本程序,还有以下值得注意的地方: (1)在main方法中,只有一条语句: System.out.println(This is my first Java Application!); 它用来实现字符串的输出,这条语句实现与C语言中的printf语句相同的功能。这里实际上是利用Java应用编程接口(API)向控制台打印输出一行文字。API中已经有了可以使用的控制台打印功能,我们只需要提供要打印的文字。 这行程序所做的事是使用由System类的
7、out成员引用的PrintStream类的out对象的println方法,将字串“This is my first Java Application!”打印到标准输出上。,(2)语句 System.out.println(This is my first Java Application!); 的最后有一个分号(;),在Java编程语言中,一个“;”代表一个语句的结束。 例如语句 totals=a+b+c+d+e+f+g; 与语句 total=a+b+c+ d+e+f+g; 是等价的。,(3)在程序中出现了大括号(“”和“”),它们是成对出现的,以 为边界的语句集合称为一个块(block)。
8、语句块可被嵌套,在本例中,MyFirstApp类是一个语句块;MyFirstApp类由main方法构成,main这个方法也是一个语句块,它是一个独立单元,单元本身又作为类MyFirstApp块中一部分。 (4)为了增强程序的可读性,在程序中有多处空格,这不影响程序的执行。 Java程序中允许任意多的空白。,(5)在本程序中第一行“/”后的内容为注释,进行编译时,这一行的从“/”开始的所有内容会被忽略。 Java里有两种类型的注释。第一种是传统的、C语言风格的注释,是从C+继承而来的。这些注释用一个“/*”起头,随后是注释内容,并可跨越多行,最后用一个“*/”结束;第二种类型的注释也起源于C+,
9、这种注释叫作“单行注释”,以一个“/”起头,表示这一行的从“/”开始的所有内容都是注释,这种类型的注释更常用,因为它书写时更方便。,(6)程序名为MyFirstApp.java,和公共类的类名相同(包括大小写都一致,唯一不同的地方就是程序名有扩展名.java而类名没有扩展名),这是因为Java解释器要求公共类必须放在与其同名的文件中。,2.2.2 字节码的编译生成 程序必需转换为Java虚拟机能够理解的形式,这样,任何安装有Java虚拟机的计算机就可以解释并运行该程序。编译Java程序是指:提取程序文件中程序员可读的文本(亦称源代码)并把它转换成字节码,字节码是提供给Java虚拟机的与平台无关
10、的指令。Java编译器是通过外壳操作系统中的命令行进行调用的,下面对该程序进行编译,命令行调用命令为: C:javac MyFirstApp.java,其中,“javac”是JDK工具包中提供的Java语言编译器,输出结果为Java字节码。编译的结果是生成字节码文件MyFirstApp.class。 需要留意的是,使用javac这个指令并没有打开Java编译器里的侦错功能,所以你无法在它编译出来的字节码文件中找到与程序侦错有关的数据信息。除非你用另外一个指令javac-g,它的编译结果除了字节码文件外还会附带一些有用的除错资料,可提供程序侦错时用。事实上“javac”提供了一些指令参数供使用者
11、编译时选用,各个参数代表不同的功能,以下是常用的几个:,(1)-calsspath :告知编译器何处去引用其他的类型对象。这个设定会取代你原先在开机执行文件里已说明过的环境变量CLASSPATH。 (2)-d :指示编译器将编译后的执行码存放在特定的目录下,在这里要使用绝对路径。 (3)-g:启动侦错功能。,2.2.3 字节码的解释与运行 现在可以运行该程序了,用Java解释器来运行该字节码文件: C:java MyFirstApp 其中,java是JDK工具包中提供的java解释器。我们需留意的是,在这个指令行中文件名称不须附上扩展名“.class”,因为解释器本身会自行加入。,2.3 使用
12、集成开发环境,毫无疑问,使用集成开发环境有很多的优点,无论是在调试程序的过程中,还是编译运行程序都方便很多,所以一般的程序员都会选择一个集成开发环境来开发程序。 著名的Java集成开发环境有IBM公司的Visual Age For Java、Microsoft公司的VJ+、Borland公司Java Builder等。 对于初学者而言,集成开发环境的界面不能太复杂。适合于初学者学习的,应该是界面简单一些,最好是不需要对开发环境做很多的设置的软件。,本章小结,Java语言是一个广泛使用的面向对象的网络编程语言,正在为越来越多的人接受。Java语言最吸引人的地方就是它的可移植性。传统的软件往往都是与具体的实现环境有关,换了一个环境就需要作一番改动,耗时费力,而Java语言能在执行码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只要所用的机器能提供Java语言解释器即可。 另外,需要强调的是,Java提供了丰富的类库,我们只是讲解了最简单的Java程序的示例,就已经接触到了Java的类库。可以说离开类库,Java程序设计者将寸步难行。所以建议大家在清楚掌握了基本概念的基础上,尽量加深对Java类库的了解。,