首页 第一章 Java概述

第一章 Java概述

举报
开通vip

第一章 Java概述第一章 Java概述 Java程序设计入门与精通 教学提示:本章以实用为目的,主要介绍Java语言的基本特点、Java程序的开发过程,以及Java语言中两类程序的基本结构,使读者对Java程序的开发有一个初步的了解。 教学目标:了解Java的发展及特点;能独立搭建Java开发环境;掌握Java应用程序和小应用程序的基本结构。 1.1 Java语言简介 1.1.1 Java语言的发展 Java诞生于20世纪90年代,其前身是Sun公司开发的一种智能化家电语言Oak。到了1993年,万维网得到了迅速发展,...

第一章 Java概述
第一章 Java概述 Java程序设计入门与精通 教学提示:本章以实用为目的,主要介绍Java语言的基本特点、Java程序的开发过程,以及Java语言中两类程序的基本结构,使读者对Java程序的开发有一个初步的了解。 教学目标:了解Java的发展及特点;能独立搭建Java开发环境;掌握Java应用程序和小应用程序的基本结构。 1.1 Java语言简介 1.1.1 Java语言的发展 Java诞生于20世纪90年代,其前身是Sun公司开发的一种智能化家电语言Oak。到了1993年,万维网得到了迅速发展,但当时在浏览器中能够看到的页面都是静态的,内容是程序员事先写好的。Sun公司发现可以利用Oak创造动态页面,便开始对Oak进行改造,于1995年正式推出了Java语言,随后立即得到了各WWW厂商的大力支持,从此Java走上了快速发展的轨道。 1996年,Sun公司正式推出Java 开发工具包JDK 1.0(Java Development Kit)。1997年,Sun发布了JDK 1.1。1998年,Sun发布了Java 2平台及JDK 1.2。Java 2平台是Java技术发展新的里程碑,标志着Java技术发展的新阶段。 1999年,Sun重新定义了Java技术的架构,将Java 2平台分为三个版本: · J2SE——Java 2 Software Standard Edition · J2EE——Java 2 platform Enterprise Edition · J2ME——Java 2 Platform Micro Edition 1. Java 2 平台 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 版(J2SE) J2SE适用于一般计算机的Java程序开发。它主要包括Java 2 Software Development Kit(SDK)Standard Edition和Java 2 Runtime Environment(JRE)Standard Edition。J2SE是J2EE和Java Web Services技术的基础。本 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 将使用J2SE所对应的版本。 2. Java 2平台企业版(J2EE) J2EE适用于企业和高级服务器的Internet应用程序开发。它包含Java Server Pages(JSP)、Java API等技术,并为企业应用的开发提供了各种服务和工具。 3. Java 2平台微缩版(J2ME) J2ME是针对移动商务,如无线电通信、汽车导航等小型电子设备的开发工具及应用平台,目前正被广泛应用。 1.1.2 Java语言的特征 Java是一种适用于网络编程的语言,它几乎所有的特点也是围绕着这一中心展开的并为之服务的。另外,作为一种新兴的语言,Java也具备了当代软件技术的新成果,如:面向对象、多线程等。下面我们将一一介绍Java语言的主要特点: 1. 简单性 由于Java由C++发展而来,其语言风格与C++十分相似;另一方面,Java又比C++简单,它删除了C++中难理解、易引起安全隐患的内容,如最典型的指针操作等,降低了学习的难度;同时Java还有一个特点就是它的基本语法部分与C语言几乎一模一样,容易让人们接受。 2. 面向对象 Java是一种完全面向对象的程序设计语言,它去除了C++语言中为了兼容C语言而保留的非面向对象的内容,在编程过程中全部使用类和对象。同时,Java语言支持静态和动态风格代码的继承和重用,甚至一些基本数据类型,例如:整型、字符型等在Java语言中都是可以作为对象处理。 3. 安全性 由于Java是应用于网络的开发语言,因而安全性变得至关重要。Java在语言机制和运行环境中都引入了多级安全 措施 《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施 ,其主要措施如下: (1)内存分配及布局由Java运行系统规定: ① 取消了指针的操作,不允许直接对内存进行操作。 ② 实现内存管理自动化,内存布局由JVM决定。 (2)运行系统提供代码认证、字节码验证与代码访问权限控制的安全控制模型: ① 提供字节码检验器,以保证程序代码在编译和运行过程中接受一层层的安全检查,这样可以防止非法程序或病毒的入侵。 ② 提供了文件访问控制机制,严格控制程序代码的访问权限。 ③ 提供了多种网络软件 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 的用户接口,用户可以在网络传输中使用多种加密技术来保证网络传输的安全性和完整性。 4. 编译和解释的结合性 Java应用程序由编译器编译成字节码,这个字节码不是最终可执行的程序,不能在具体的平台上运行,还需要由运行系统上的字节码解释器将其解释成机器语言,从而达到边解释边执行的目的。 5. 与平台无关的 Java的最大特点“一次编程,处处使用”。任何机器只要配备Java虚拟机,便可以运行Java。这主要原因是Java语言不是针对某个具体平台结构设计的,Java源程序经编译后产生的字节码是一种与具体指令无关的指令集合,通过Java虚拟机就可以在任何的平台上运行,这样可以使开发人员大大降低了开发、维护和管理的开销。 6. 多线程 多线程技术是允许应用程序并行执行,即同时做多件事,满足了一些复杂软件的要求。Java不但内置多线程功能,而且提供语言级的多线程支持,即定义了一些用于建立、管理多线程的类和 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,使得开发具有多线程功能的程序变得简单、容易和有效。 7. 动态 Java的动态性是其面向对象设计方法的扩展,它允许程序动态的装入运行过程中所需要的类, 而在C++中程序设计过程中,每当在类中加增加一个实例变量或成员函数时,应用该类的所有子类都需要重新编译,否则将引起系统的崩溃。然而Java类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。 1.2 Java运行系统 1.2.1 Java运行系统的构成 Java运行系统包括五部分:类装配器、字节码检验器、解释器、代码生成器、运行支持库。如图1-1所示: 图1-1运行系统组成 Java运行系统对字节码的解释分为三部: 1.装入代码 Java程序的基本单位是类,类装配器是装入运行时所需的Java程序代码即程序所需的所有的类,包括代码中的类所继承的类和被其所调用的类,当装入运行程序所需的类后,运行系统便可以确定整个可执行程序的内存布局。 2.验证代码 Java代码通过字节码检验器对代码进行检验,防止Java运行环境运行有害的类文件,并且还能发现是否有操作数溢出、非法数据类型转换等逻辑性错误。 3.执行代码 对字节码的执行可以有以下两种方式: (1)即时编译方式:由代码生成器将字节码解释成机器码,然后再执行本机代码。 (2)解释执行方式:解释器每次把一小段代码解释成机器码并执行,如此反复完成Java字节码的解释操作。这种方法有足够的灵活性,通常采用这种方法。 1.2.2 Java虚拟机(JVM) Java的运行之所以与平台无关,其原因是Java虚拟机屏蔽了与具体平台相关的联系。一般高级语言的编译器编译生成的代码是为某一个特定硬件平台运行而产生的机器码,但Java语言的编译器是将代码编译成Java虚拟机的目标代码即字节码而不是针对特定平台的机器代码,所以用户只需在所使用的平台上安装Java虚拟机(JVM), java虚拟机中的java解释器负责将字节码文件解释成为特定的机器码进行运行。 JVM其实是在实际的计算机上通过软件模拟来实现的虚拟机器。Java虚拟机有自己想象的硬件,共包括以下5个抽象的逻辑组件。 · 指令集:用来执行基本的CPU运算。 · 寄存器:用来存放地址信息,比如执行指令的地址。 · 栈结构:栈用来保存操作参数、返回结果和为方法传递参数。 · 堆:Java运行时的数据区,程序初始化时所有对象都置于堆上。 · 存储区:用来存放字节码的方法代码、符号表。 JVM对这些组件进行了严格的规定,尤其是对字节码格式做了更加严密的规定,但它并没有对这些组件具体的实现技术加以规定,也就是它们可以用任何一种技术实现JVM的功能,用软件或是芯片均可。但是Java虚拟机的功能必须是统一的,只能执行JVM规范的统一的字节码。 1.2.3 Java API Java API是Java应用程序编程接口,它既能使应用系统访问底层平台服务,又能保证Java应用系统不依赖具体的底层平台,使程序具有可移植性。同时,Java API也是一个很大的Java类库集合,它给程序员提供了大量的可重用的类,如同C语言中的库函数,给编程人员提供了丰富的功能。 这些类以包的形式组织,所谓包,可以理解为一个文件夹,它把类库中各种功能相近或者相关的类组织在一起,下面我们介绍最常用的6个包。 1. java.lang: Java语言的核心类库.包含基本数据类型和出错处理方法。 2. java.io:Java语言的标准输入/输出类库,包含Java程序与操作系统、用户界面等进行交互时使用的类。 3. java.awt:Java语言用来构建图形图像的类库。包含创建用户界面和绘制图形图像的所有类。 4. java.applet:实现运行Internet浏览器中的Java Applet的工具类库。包含创建Applet以及实现Applet所需的所有类。 5. java.util:Java语言的一个集合包,如Map,Set、日期与时间相关的类等。 6. Java.sql:支持通过JDBC对数据库进行访问操作。 编写Java程序时,如能熟练自如的运用类库,将在很大程度上提高编程的效率和质量。 1.3 Java运行环境 1.3.1 JDK的下载与安装 Sun公司在网上免费提供了Java语言的软件开发工具包JDK(Java Development Kit)。JDK包含所有编写、运行Java所需的工具,如Java编辑器、Java解释器、Java API,以及用于开发Java应用程序的程序等。 Sun公司提供了多种平台的JDK,这里我们以Windows平台为例。通过Internet,我们可以在http://www.sun.com上下载J2SE的JDK1.5软件。 下载后双击软件压缩包即安装完成,但在安装后要注意JDK中两个相关环境变量的设置,即path和classpath。 path和classpath分别指JDK命令搜索路径和Java类路径。我们先假设将JDK安装在C:\j2sdk1.4.2_04目录下,JDK的所有命令在C:\j2sdk1.4.2_04\bin中。设置path的作用是DOS操作系统能找到JDK命令,设置classpath的作用是告诉类转载器到哪里去寻找第三方提供的类和用户定义的类。 对于Window98系统,需要修改系统根目录下的autoexec.bat,使用文本编辑器打开autoexec.bat,在该文件最后增加如下命令: set path=%path%;C:\j2sdk1.4.2_04\bin set classpath=,;C:\j2sdk1.4.2_04\lib 对于Windows2000/NT/XP系统设置如下: 进入“控制面板” “系统” “高级” “环境变量” “系统变量”后,双击path,在变量值上输入C:\j2sdk1.4.2_04\bin。如图1-2所示: 图1-2 Path路径设置 classpath设置的方法同path。如图1-3所示: 图1-3 classpath路径设置 1.3.2 JDK的基本操作命令 JDK的操作命令分为六类:基本命令、RMI命令、国际化命令、安全控制命令、Java IDL和RMI-IIOP命令、Java Plug-in命令。下面我们主要介绍一些常用的基本命令。 基本命令包括:javac、java、javadoc、appletviewer等。 1. javac:Java语言的编译器即Java源代码编译成字节码。 基本语法:javac [选项] 源文件名 这里的选项定义的是javac搜索类的路径,默认的是classpath环境变量的设置。 2. java:Java语言的解释器,解释运行的Java字节码。 基本语法:java [选项] 类名 类名是扩展名为.class的文件名,在这个类中必须有一个main()方法,并且该类名在此命令中不能加扩展名。 3. javadoc:Java API生成器。解释Java源程序中类的定义和文档注释,并生成相应的HTML格式的文挡。 4. appletviewer:Java applet浏览器。 基本语法:applet viewer [-debug] urls -debug:设置允许调用的Java调式器jdb。Urls:Internet上资源的名称和地址的表标识表。 1.3.3 Java开发工具 JDK不是集成的开发环境,它采用命令行的方式对程序进行编译和运行。所以除使用JDK外,我们还需要程序编辑软件。可以采用以下两种方式: 1. 文本编辑器。如Edit、Notepad等作为Java的编辑软件。 在编辑器中将程序编辑好并保存后,用命令行方式对Java程序进行编译、运行。 2. 用能够与JDK配合使用的具有能开发与调试Java程序的编辑软件。如JCreator。 JCreator提供了图形化的编辑环境,可以在该环境中直接编写程序,程序编译后的错误提示或运行结果将在该环境最底下的窗口显示(如图1-4)。所以程序员可以在JCreator中直接进行调试或查看结果。 图1-4 Jcreator编辑环境 1.4 两类Java程序 Java程序分为Java应用程序(Java Application)和Java小应用程序(Java Applet)两类。对于Application,它是一种独立的程序,通过解释器就可以即时运行,不依赖浏览器;对于Applet,它不是独立的程序,必须嵌入WWW页面中,在支持Java的WWW浏览器上才能执行。 1.4.1 Java Application程序 Java Application程序有编程开始,到最后看到结果,需要经过3个过程,即编写源代码、编译和运行。 1. 编写源代码 【例1-1】 一个简单的Java程序。 【代码】appfirst.java public class appfirst { public static void main(String args[]) { System.out.println("欢迎使用java"); } } 【程序说明】 Java程序的基本单位是类,类是由类头和类体两部分组成。在例1-1只定义了一个类,程序第1行中的关键字class说明一个类定义的开始,public用来修饰这个类是一个公共类,appfirst是类名。因此,public、class、appfirst构成了这个类的类头。类体部分的内容由一对大括号括起来(第2行至第7行),在类体中不能再定义其他类。一般类体主要包含两部分内容,一部分是变量和属性的定义,另一部分是若干方法的定义。在例1-1中,显然类体中是一个名为main的方法,第3行是方法头,第4行至第6行是方法体部分。 main()方法类似于C或C++中的主函数main(),系统应首先调用main()函数,然后再由main()函数调用其它函数。Application程序也是首先调用类中的main()方法,然后再由main()方法调用其它方法。因此,它是Java应用程序执行的入口,Application程序中有且只有一个main方法,包含main()方法的类我们称为主类。main的方法头必须按照下面的格式书写: public static void main (String args[]) 其中,public表示main()方法可以被任何对象调用,static表示main()是一个静态方法,void表示main()方法没有返回值,String args[]是形式参数,用来接收传递给main()方法String类型的数组。 上述例题中,main()方法体只有一条语句: System.out.println("欢迎使用java"); 这条语句是将字符串"欢迎使用java"输出到系统标准输出设备上,如系统屏幕。其中System是系统内部定义的系统对象;out是System对象中的一个对象;println是out对象的一个方法,其作用是输出其参数指定的字符串,并回车换行。 利用文本编辑器编辑上述例题,并保存到D\source路径上命名为appfirst.java的源文件。因为在Java程序里,Java程序名必须与主类名一致。 2. 编译 编译的作用就是经过编辑器将Java源程序编译成Java字节码文件。首先进入Windows系统的DOS环境中,再进入D:\source路径后,键入javac appfirst.java并回车,如果程序没有错误,屏幕上则不显示错误信息并将源文件appfirst.java生成了appfirst.class。 3. 运行 字节码文件并不是一个可执行程序,它必须通过字节码检验器和Java解释器解释后才能运行。在上述编译操作后,执行Java命令运行Java程序。命令行如:java appfirst 图1-5编译、运行例1-1结果 1.4.2 Java Applet 程序 Java Applet程序编写原理、编译过程与Java Application基本相同,但Java Applet程序不是独立的程序,它需要将字节码文件嵌入到HTML文档中,通过运行HTML文档来运行Applet程序。因此,Java Applet程序实现一个功能需要经过如下4个过程:编写Applet程序、编译Applet程序、编写HTML文件、运行带Applet程序的HTML文件。 1. 编写Applet程序 【例1-2】 一个简单的Applet程序 【代码】程序firstapplet.java import java.awt.Graphics;//将java.awt包中的系统类Graphics引入本程序 import java.applet.Applet;//将java.applet包中的系统类Applet引入本程序 public class firstapplet extends Applet { public void paint(Graphics g) { g.drawString("欢迎学习Java!",20,20); } } 【程序说明】 首先,在程序的第1、2行用关键字import关键字引入程序中所需要的两个系统类Graphics和Applet。这两个类分别位于不同的系统包中,所以引用时还要指明它们所在的包名。在Java程序中,常常会用到import,它与C语言中的include命令相似,作用是将已定义好的与本程序有关的类引入到程序中,尤其是系统类库中的类。程序中对系统类引用的格式是:import java.包名.类名。类名可以用通配符,如import java.io.*;其作用是将系统包java.io中的所有类都引入到当前程序中。 另外,在第1、2行语句后都有两道斜线(//),它表示注释的开始,注释后面的语句虽然不被Java的编译器和解释器进行处理即对程序的结果没有影响,但它可以提高程序的可读性。 例1-2的第3行用class声明了一个名为firstapplet的用户自定义类,并在这个程序中只定义了一个类,那么firstapplet显然是程序的主类。由此可见,Java Applet程序与Java Application程序在定义主类时是不同的。Java Application程序中把包含main()方法的类称为主类,Java Applet程序中把系统类Applet的子类称为主类。在第3行程序中extends是关键字,它代表新定义的firstapplet类是该关键字后面已经存在的父类即Applet的子类,所以firstapplet是主类。在Java Applet程序中可以包括多个类,但系统类Applet的子类有且只有一个,并且程序中的任何类中都不能包含main()方法。 例1-2的第4至第9行是类firstapplet的类体部分,其中只定义一个方法paint,paint方法是系统类Applet中已经定义好的方法,其作用一般是说明并画出Java Applet程序在浏览器上的外观,能被WWW浏览器识别并能在恰当的时候调用,所以用户定义的Applet的子类能够调用Applet的任何方法并能根据程序的需要更改其内容。 在例1-2中,paint方法只有执行一条语句: g.drawString("欢迎学习Java!",20,20); 这条语句的功能是在屏幕的特定位置输出字符串“欢迎学习Java!”。其中g是paint方法的形式参数,它是系统类Graphics的一个对象(类似于定义a是整型int的一个变量),也就是说g继承了Graphics类的成员。在例1-2中调用了g的drawString方法,这个方法的作用是在当前Applet程序界面区域的背景上显示字符串。 2. 编译Applet程序 Java Applet与Java Application都遵循Java语言的语法规则,因此具有相同的编译方式,即使用javac命令将Java源文件编译成字节码文件。编译例1-2格式如下: Javac firstapplet.java 3. 编写HTML文件 【例1-3】一个嵌入Applet程序的HTML文档。 【代码】AppletIn.html程序 A simple Applet 编辑完HTML文档将其保存,保存的路径通常与所嵌入的字节码文件所在的路径相同。 在HTML文档中嵌入Java Applet程序需要一组特殊的标记,其中包含三个参数。 (1) CODE:指明需要嵌入在HTML中字节码文件的名称。 (2) WIDTH:指明Java Applet程序在HTML文件所对应的Web页面中占用区域的宽度。(以像素为单位) (3) HEIGHT:指明Java Applet程序在HTML文件所对应的Web页面中占用区域的高度。 4. 运行 运行带Applet程序的HTML有两种方式: (1) 在浏览器中执运行HTML 完成AppletIn.html保存后,可以使用IE浏览器解释执行Applet程序。运行结果如图1-6所示: 图1-6 运行例1-3的结果 (2) 使用appletviewer运行HTML文件 在命令行上使用appletviewer运行AppletIn.html的命令如下: appletviewer AppletIn.html 运行结果如1-7所示: 图1-7 运行例1-3的结果 SHAPE \* MERGEFORMAT 1.4.3 Java程序的基本规则 通过本章例题1-1、1-2,可以看出Java程序的基本规则如下: 1. Java程序是由类构成的。Java程序类中有系统提供类库,也可以是根据需要自定义的类。 2. 每一个Java程序都有一个主类,且只有一个主类。无论主类的位置如何,程序都从主类开始执行。 3. 调用Java程序中的系统类库要在程序的开头用关键字import引入所需类库的成员。 4. Java程序中的每条语句都用一个分号结尾。 5. Java程序区分大小写,同一字母的大小写作为两个不同的字符。 6. Java程序的文件名必须与主类名取成一致,且大小写相同。 第一章 Java概述 运行 编译 类装配器 字节码检验器 系统平台 解释器 运行支持库 字节码程序 Java源程序 Java编译器 代码生成器 注意:用IE执行带Applet的HTML程序较慢,因此,不适合在这种环境下进行调试。但是appletviewer工具对HTML语言中的一些标志不能识别,所以两种方式对程序运行出的结果可能不同。请留意图1-6和图1-7的差别。 12 11
本文档为【第一章 Java概述】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_116620
暂无简介~
格式:doc
大小:206KB
软件:Word
页数:12
分类:互联网
上传时间:2018-09-10
浏览量:8