




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
15第1章 Java语言入门1章第Java语言入门Java是一种非常优秀的网络编程语言,具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件实现中极为健壮的编程语言。Java语言不仅可以用来开发大型的应用程序,而且还特别适合于分布式应用程序的开发。Java已成为网络时代最重要的语言之一。本章将对Java语言作一简单的介绍,读者可以初步了解Java程序的特点、运行环境、组成和开发步骤,以及Java程序的3种类型。1.1 Java的起源Java是1995年6月由Sun公司发布的一种革命性编程语言,曾被美国的著名杂志PC Magazine评为1995年十大优秀科技产品。之所以称其之为革命性编程语言,是因为用Java语言编写的软件能在任何安装了Java虚拟机的操作系统上执行。Java语言的出现是源于对独立平台语言的需要,希望这种语言能编写出嵌入各种家用电器等设备的芯片上且易于维护的程序。最初人们用C、C+语言开发家用电器设备,但是C、C+等语言有一个共同的缺点,那就是只能对特定CPU芯片进行编译。这样一旦电器设备更换了芯片,就不能保证程序正确运行,可能需要修改程序,并针对新的芯片重新进行编译。1990年Sun公司成立了由James Gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码。正是由于他们的精心钻研和不懈努力最终促成了Java语言的诞生。Java技术的快速发展得益于Internet的广泛应用,Internet上有各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,而Java的出现大大推动了分布式系统的快速开发和应用。提示:印度尼西亚有一座盛产咖啡的岛屿就叫Java,中文译为“爪哇”。开发人员为这种新的语言起名为Java,其寓意是为世人端上一杯热咖啡。1.2 Java的特点Java是目前使用最广泛的网络编程语言之一,具有简单、面向对象、与平台无关、解释型、多线程、安全、动态、稳定健壮及分布式等特点。l 简单:Java语言和C+语言已成为软件开发者应当掌握的语言。仅从语法角度上看,Java要比C+简单,如C+中的指针、运算符重载、联合数据类型、类的多重继承等难以理解和难以使用的概念和功能在Java中已弃之不用。l 面向对象:以类、对象和接口为基本编程单元来组织程序,实现软件系统的功能。l 与平台无关:与平台无关是Java语言最大的优势。用其他语言编写的程序,随着操作系统的变化、处理器升级以及核心系统资源的变化,将导致程序出现错误或无法运行。而用Java编写的程序可以在任何安装了Java虚拟机(JVM)的计算机上正确运行,Sun公司实现了自己的目标一次写成,处处运行。l 解释型:Java源程序通过编译器编译为字节码程序,字节码程序通过Java虚拟机(JVM)解释执行。和C+不同,Java不针对特定的CPU芯片进行编译,而是将源程序编译为称作字节码的一种“中间码”。字节码是很接近机器码的文件(二进制文件),可以在安装了Java虚拟机(JVM)的任何操作系统上被解释执行。l 多线程:Java的特点之一就是内置对多线程的支持。Java语言预定义了线程类,程序员通过对预定义的线程进行扩展,可以设计自己的线程类。C+没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。l 安全:首先,Java是强类型的语言,保证数据类型的合法性;其次,Java不支持指针,杜绝了内存的非法访问;再次,Java程序执行时对加载的类进行身份的合法性检查,防止非法类的加载执行;最后,Java提供了异常处理机制,可以对运行时出现的错误进行控制和处理。l 动态:Java程序的基本组成单元就是类。按照类的来源可将其分为3种:Java系统提供的类、第三方公司提供的类以及用户自己编写的类。一个Java程序由多个类组成,程序执行时才将需要的类动态装入内存,这就使得Java可以在分布式环境中动态地维护程序及类库,而不像C+那样,每当其类库升级之后,相应的程序都必须重新修改、编译。l 稳定健壮。l 分布式。1.3 Java的运行环境要开发Java程序,必须首先安装Java开发工具包(Java Development Kit,JDK),安装JDK后,系统便为Java应用程序和Applet程序提供了开发环境和运行环境(JRE)。1.3.1 SDK的下载与安装读者可以登录Sun公司的网站获取免费的JDK。本书使用的JDK版本为JDK1.4.2_16,操作系统平台为Windows XP。1下载JDK1.4.2登录Sun公司的网站(/j2se/1.4.2/download.html)获取版本为JDK1.4.2_16的开发工具包。下载的程序文件名为j2sdk-1_4_2_16-windows-i586-p.exe,文件约49.06MB。2安装JDK1.4.2安装JDK1.4.2的步骤如下:(1)双击开发工具包程序j2sdk-1_4_2_16-windows-i586-p.exe,弹出JDK安装对话框,如图1-1所示。图1-1 JDK安装对话框(2)选中单选按钮,即接受许可协议,然后单击按钮,进入Custom Setup界面,如图1-2所示。(3)选择安装路径。单击按钮,弹出InstallShield Wizard对话框,在其中将安装路径改为“D:j2sdk1.4.2”,然后单击按钮,回到Custom Setup界面。单击按钮,进入Browser Registration界面,如图1-3所示。(4)单击按钮,弹出Progress对话框,系统进入自动安装状态,最后进入Complete界面,如图1-4所示。图1-2 Custom Setup界面图1-3 Browser Registration界面图1-4 Complete界面(5)单击按钮,完成JDK工具包的安装。注意:在此将JDK开发包安装在D:j2sdk1.4.2目录下,这样Java编译器和解释器在D:j2sdk1.4.2bin目录下,而Java系统类库在D:j2sdk1.4.2lib目录下,便于区分、查找。1.3.2 配置Java运行环境程序员编写的Java程序要用到Java系统类库,需要知道Java系统类库所在的路径;对编写好的程序进行编译和执行,则需要知道编译器和解释器所在的路径,因此有必要为Java类库配置类路径(Classpath)、为编译器和解释器配置命令搜索路径(Path)。具体配置步骤如下:(1)在Windows桌面上右击“我的电脑”图标,在弹出的快捷菜单中选择“属性”命令,弹出“系统属性”对话框。在“系统属性”对话框中选择“高级”选项卡,如图1-5所示。(2)在“高级”选项卡中单击“环境变量”按钮,弹出“环境变量”对话框,如图1-6所示。 图1-5 “系统属性”对话框 图1-6 “环境变量”对话框(3)在“环境变量”对话框的“系统变量”栏中单击按钮,弹出“新建系统变量”对话框。在“变量名”文本框中输入“path”,在“变量值”文本框中输入“.;D:j2sdk1.4.2bin”,如图1-7所示。单击按钮,完成path的设置。返回到“环境变量”对话框。(4)在“环境变量”对话框的“系统变量”栏中再次单击按钮,弹出“新建系统变量”对话框。在“变量名”文本框中输入“classpath”,在“变量值”文本框中输入“.;D:j2sdk1.4.2lib”,如图1-8所示。单击按钮,完成classpath的设置。返回到“环境变量”对话框。 图1-7 “新建系统变量”对话框(1) 图1-8 “新建系统变量”对话框(2)(5)在“环境变量”对话框中单击按钮,返回到“系统属性”对话框。在“系统属性”对话框中单击按钮,完成环境变量的配置。注意:classpath环境变量设置中的“.;”表示Java应用程序执行时,加载当前目录中的Java类。如果只要运行Java程序,可以只安装Java运行环境JRE。JRE由Java虚拟机、Java的核心类以及一些支持文件组成。1.3.3 JDK1.4.2开发工具包的目录结构前面将JDK开发工具包安装在“D:j2sdk1.4.2”目录下,在编写Java程序前,有必要先来了解一下“D:j2sdk1.4.2”目录下5个子目录的作用。“D:j2sdk1.4.2”的目录结构如表1-1所示。表1-1 D:j2sdk1.4.2的目录结构子 目 录 名作 用D:j2sdk1.4.2bin存放编译器(javac.exe)和解释器(java.exe)D:j2sdk1.4.2lib存放Java应用程序执行时要引用的主要类库D:j2sdk1.4.2jre为构建Java运行环境提供相关系统程序和文件D:j2sdk1.4.2demo存放例子程序,为编程人员提供学习的实例D:j2sdk1.4.2include为C语言编写的程序提供头文件1.3.4 JDK、JRE和JVM之间的关系JDK、JRE和JVM之间的关系如图1-9所示。图1-9 JDK、JRE和JVM之间的关系1.4 Java程序组成从程序代码角度看,Java程序由多个独立的类及接口组成;从程序执行角度来看,Java程序是由多个动态创建的对象相互协作组成的集合。1.4.1 Java程序与Java源文件一个Java程序可以包含多个类和接口;类和接口可以保存在不同的Java源文件(*.java)中,即一个Java程序的多个类和多个接口可以分布在多个Java源文件(*.java)中。1.4.2 类、接口的基本结构1类的基本结构一个类由类头和类体组成,类体可以包含多个字段和多个方法。下面以圆类(Circle)为例,说明类的基本结构。public class Circle /本行是类的头 /类体起始行 private double radius; /字段radius 表示圆的半径 float x, y ; /字段x,y表示圆心坐标 /下面的方法用来构造一个圆对象 public Circle() this(1.0, white, 1.0); /下面的方法用来构造一个圆对象 public Circle(double radius, String color, double weight) super(color, weight); this.radius = radius; /下面的方法用来计算圆的面积 public double getArea() return radius*radius*Math.PI; /下面的方法用来计算圆的周长 public double getPerimeter() return 2*radius*Math.PI; /类体结束行2接口的基本结构一个接口由接口头和接口体组成,接口体可以由多个常量和多个方法头组成。下面以接口Trade为例,介绍接口的基本结构:interface Trade /接口头 /接口体起始行 final String bankName= ChinaBank;/声明bankName为常量 void saving(float monkey); /声明该方法具有存款的功能 float fetch(float monkey); /声明该方法具有取款的功能 /接口体结束行接口Trade表示交易行为,该行为是对“存款”和“取款”共同行为特征的抽象,因为“存款”和“取款”都具有“交易”的共同特征。1.5 Java程序的开发步骤Java程序的开发过程主要包括以下3个步骤,如图1-10所示。图1-10 Java程序的开发步骤(1)程序员使用编辑器(如UltraEdit、“记事本”或集成开发工具)编写源文件(*.java)。(2)用编译器(javac.exe)将源文件(*.java)编译为字节码文件(*.class)。(3)用解释器(java.exe)执行字节码文件。1.6 Java程序的分类不同的Java程序运行在不同的环境中,习惯上将运行环境相同的Java程序归为一类,按此分类方法,Java程序可以分以下3类。(1)Java应用程序:完整的程序,能独立在本地虚拟机上(JVM)执行。(2)Applet小程序:必须嵌入在HTML页面中的非独立程序,部署在Web服务器,在浏览器中的虚拟机上(JVM)执行。(3)Servlet程序:部署和运行在Web服务器中,由Web服务器中的虚拟机(JVM)执行。1.6.1 Java应用程序一个Java应用程序可以包含多个类,但是有且仅有一个类包含main()方法。main()方法是程序执行的起点。在编写源文件前,首先需要创建一个应用目录,用来保存程序员编写的Java源程序。本书创建的应用目录为D:user。下面介绍Java应用程序的开发步骤。1编写源文件下面程序的功能是在控制台上输出字符串“我们开始学习Java语言”。public class Hello public static void main (String args) /方法头 /方法体起始行 System.out.println(我们开始学习Java语言); /方法体结束行注意:开始学习Java时,最好采用“记事本”(Notepad)作为编写Java源文件的工具。(1)文件的保存现在将源文件保存到D:user目录中,并命名为Hello.java。注意:不可写成hello.java,因为Java语言是区分大小写的。(2)文件命名规则如果源文件中有多个类,那么只能有一个类是public类;如果源文件中有个public类,那么源文件的名称必须与这个类的名称完全相同,扩展名是.java;如果源文件没有public类,那么源文件的名称只要和某个类的名称相同,并且扩展名是.java即可。(3)分析Hello.java程序该程序只包含一个类,类名是Hello,是由程序员自己命名的。public、class都是关键字,都是修饰Hello的。其中,class表示Hello是一个类,public表示Hello是一个公有类。该类体中只包含一个方法,方法名是main。含有main方法的类称为主类,一个Java应用程序有且仅有一个主类。public、static和void分别是对main方法的声明。在一个Java应用程序中main方法必须被声明为public static void。注意:Java源程序中的括号和标点符号,都必须在英文状态下输入,例如,“我们开始学习Java语言”中的引号必须是英文状态下的引号,而字符串中的符号则不受中文字符或英文字符的限制。2编译源文件创建了Hello.java源文件后,还要使用Java编译器(javac.exe)对其进行编译。在DOS窗口中进入D:user目录,执行以下命令。D:userjavac Hello.java /按Enter键,编译Hello.java编译完成后将生成一个Hello.class文件,该文件称为字节码文件。这个字节码文件(Hello.class)将被存放在与源文件相同的目录中。如果Java源程序中包含了多个类,那么对源文件完成编译后将生成多个扩展名为.class的文件,每个类生成一个扩展名为.class的字节码文件,每个字节码文件名与该类的名称相同。这些字节码文件将被存放在与源文件相同的目录中。如果对源文件进行了修改,则必须重新编译,生成新的字节码文件。3运行程序下面使用Java解释器(java.exe)运行应用程序。D:userjava Hello /按Enter键,运行应用程序此时屏幕上将显示如下信息:我们开始学习Java语言注意:当Java应用程序中有多个类时,Java命令后的类名必须是包含了main方法的那个类的名称,即主类的名称。一个源文件若包含多个类,则只允许一个类是公有类(由public修饰的类称为公有类),并且源文件名与公有类名相同。1.6.2 Applet小程序一个Applet小程序也是由若干个类组成的,类中不需要main方法,但必须有且只有一个类扩展了Applet类(系统类),将扩展Applet类形成的子类称为主类,主类必须是public类。1编写源程序import java.applet.*;import java.awt.*;public class Display extends Applet public void paint(Graphics g) g.setColor(Color.red); g.drawString(我们在学习Apple小程序呢,6,30); g.setColor(Color.blue); g.drawString(我学得很认真,11,50); (1)文件的保存现在将源文件保存到D:user目录中,并命名为Display.java。注意:不可写成display.java,因为Java语言是区分大小写的。(2)import语句程序中用到了Applet类,因此在程序中要用import语句导入该类。Applet类在包java.applet(其中有很多类)中。在Java语言中,将一些类放在一起便称之为一个包(文件夹),如这里的java.applet便是一个包的名称。关于包的内容将在本书后面章节中介绍。2编译源文件D:userjavac Display.java /按Enter键,编译Display.java编译成功后,D:user目录下会生成一个Display.class文件。如果源文件有多个类,将生成多个.class文件,并且和源文件放在同一文件夹中。如果对源文件进行了修改,则必须重新编译源文件,重新生成新的字节码文件。3运行Applet小程序Java Applet必须在浏览器中运行,因此必须编写一个超文本文件(.html),将Java Applet小程序嵌入到超文本文件(.html)中。下面用“记事本”编写一个文件,命名为Display.html(也可以命名为其他名称,但文件后缀名必须是.html),将它保存在D:user目录下,即与Display.class文件在同一目录下。Display.html文件的内容如下: (1)在HTML文件中指定主类code属性用来指定Applet小程序主类的字节码文件名。(2)指定小程序的显示高度和宽度width、height指定了这个Java Applet的宽度和高度,单位是像素。要想让浏览器运行一个Java Applet,标记中的code、height、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教学公开课管理规定
- 网络商城运营合作协议
- 某中学学生课外活动组织流程
- 最难忘的一位邻居人物描写(9篇)
- 2025年保育员(二级)儿童教育研究考试试卷
- 我的老师与我的成长故事写人作文7篇范文
- 2025年统计学专业期末考试:抽样调查方法在历史学研究中的试题
- 2025年安徽省公务员录用考试人民警察职位体能测评试卷
- 小狐狸和小鹿童话作文(13篇)
- 2025年法语TCF考试试卷语法知识深度解析与实战案例分析试题
- LY/T 1704-2007白蛾周氏啮小蜂人工繁育及应用技术规程
- JJF 1078-2002光学测角比较仪校准规范
- 如何进行生产线编成
- 脑卒中筛查与干预流程
- 电气工程及其自动化毕业论文
- 马铃薯脱毒种薯繁育技术
- 洪涝灾害灾区血吸虫病防控应急工作方案(2020年版)
- 帕金森病患者的睡眠障碍课件
- 埋针治疗评分标准
- 病原学检测阴性肺结核诊断流程T∕CHATA 008-2020
- 公文格式及公文处理(讲稿)ppt课件
评论
0/150
提交评论