《Java语言简介》PPT课件.ppt_第1页
《Java语言简介》PPT课件.ppt_第2页
《Java语言简介》PPT课件.ppt_第3页
《Java语言简介》PPT课件.ppt_第4页
《Java语言简介》PPT课件.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一节 Java语言简介,引言 Java Application程序 Java Applet程序 Java开发环境 Java执行过程 Java语言的特点 小结,1. 引言,编程语言: 计算机作为工具广泛地应用在各个领域中:使用计算机来代替人类的手工劳动,就需要把用人类解决问题的思维活动过程转换成计算机能够理解和执行的语言,这就是编程语言或程序设计语言。 例如:求f(n)= n!,1. 引言,机器语言 在计算机问世之初,首先想到的是用“0”和“1”两种符号来代表电路的通和断两种状态,即最早的编程语言机器语言。 机器语言是计算机能够理解并直接执行的唯一语言。整个语言只包含“0”和“1”两种符号。机器语言程序中无论是指令、数据还是存储地址,都是由二进制的“0”和“1”组成的,机器能够直接执行它。 缺点:晦涩难懂;虽然执行速度很快,但是编程效率低;编写程序时容易发生错误,10110000 00001111 00101100 00001010,1. 引言,汇编语言 为了克服机器语言的缺陷,用一些易于理解和记忆的符号来代替二进制码,即汇编语言。 汇编语言用符号构成程序,用符号表示指令、数据、寄存器、地址等物理概念,更符合人类的形象思维。 使用汇编语言写程序时,程序员依然需要考虑大量的机器细节,即汇编语言仍然是与具体机器硬件有关的语言,是面向机器的语言。,MOV A ,15 ADD A ,10,1. 引言,高级语言 为了从根本上摆脱语言对机器的依附,在1956年推出了与具体机器指令系统无关、表达方式接近自然语言的FORTRAN语言。 在FORTRAN语言中采用了具有一定含义的数据命名和易于理解的执行语句,屏蔽了机器细节,使得程序员在读写程序时可以联系到程序所描述的具体事物。所以,把这种“与具体机器指令系统无关,表达方式接近自然语言”的计算机语言称为高级语言。 高级语言的出现是编程语言发展史上的一大进步。,A15 AA10,1. 引言,1. 引言,汇编语言 源程序,目标程序 .OBJ,可执行程序 .EXE,高级语言 源程序,编译程序,连接程序,汇编程序,汇编,连接,编译,1. 引言,面向过程的语言: 用计算机所理解的逻辑来描述和表达问题的具体解决过程。 过程语言把数据和过程分离为相互独立的实体,过程之间的多种相互关系很难表述清楚。程序员在编写算法时,需要时刻考虑所处理问题的数据结构,一旦数据结构发生了轻微的变化,处理这些数据的算法也要做相应的修改,甚至完全重写。因此,用过程语言编写的软件,重用性较差。 面向对象的编程语言: 更直接地描述问题域中客观存在的事物(即对象)以及它们之间的关系。面向对象技术追求软件系统对现实世界的直接模拟,希望用户最大程度地利用软件系统,花费少量的编程时间来解决问题。,1. 引言,Java语言是流行的编程语言,它的面向对象、跨平台、分布应用等特点给程序员带来了一种崭新的计算概念,使WWW从单纯提供静态网页服务到现在的提供各种各样的动态服务,发生了巨大的变化。 Java不仅能够编写小应用程序实现嵌入网页的声音和动画功能,而且还能够开发独立的大中型应用程序,强大的网络功能把整个Internet作为一个统一的运行平台,拓展了传统C/S模式。 自从1995年正式问世以来,Java已经逐步从一种单纯的计算机高级编程语言发展为重要的Internet平台,成为重要的发展潮流与方向。,1. 引言,Java可以做什么? 基本:Objects, strings, threads, numbers, input and output, data structures, system properties, date and time等 Applet应用:小动画 网络应用:实现基于URL/TCP/UDP的网络应用 Java数据库连接(Java Database Connectivity, JDBC):提供统一的方式访问关系型数据库 软件构件:JavaBeans 安全应用:电子签名、公钥和私钥管理、访问控制和用户证书等 ,1. 引言,根据结构组成和运行环境的不同,Java程序可以分为两类: Java Application程序 完整的程序,需要独立的Java解释器来解释运行 Java Applet程序 嵌在HTML页面中的非独立程序,由浏览器内含的Java解释器来解释运行,引言 Java Application程序 Java Applet程序 Java开发环境 Java执行过程 Java语言的特点 小结,2. Java Application程序,第1行:利用import语句加载已定义好的类或包在本程序中使用; 第2行:关键字class说明一个类定义的开始。类定义由类头部分(第2行)和类体部分(第3行至第8行)组成。定义类必须使用关键字class作为标志,类名位于关键字class之后。任何一个Java程序都是由若干个类定义组成的。 第38行:类体部分,在类体内部一般不再定义其他的类。 例中只定义了一个类,其类名为MyJavaApplication。,1: import java.io.*; 2: public class MyJavaApplication 3: 4: public static void main(String args) 5: 6: System.out.println (“Hello, Java World!“); 7: /行注释:end of main method 8: /end of class,2. Java Application程序,在类体中有两种组成成分:一种是域/属性,包括变量、常量、对象数组等;一种是方法,是类似于函数的代码单元块。统称为类的成员。 例1中,类MyJavaApplication中只有一个类成员:方法main。 第4句:定义main方法的方法头,用一对小括号来标志。紧靠左括号的是方法名,如main,run,handleEvent等;小括号里面是该方法的形式参数;方法名前面是用来说明这个方法属性的修饰符。 第5至7句是main方法的方法体部分,由语句组成,并由一对大括号括起,在方法体内部不再定义其他的方法。,1: import java.io.*; 2: public class MyJavaApplication 3: 4: public static void main(String args) 5: 6: System.out.println(“Hello, Java World!”); 7: /行注释:end of main method 8: /end of class,2. Java Application程序,main方法是一个特殊的方法,是所有的Java Application程序执行的入口点,所以任何一个Java Application程序必须有且只能有一个main方法,而且这个main方法的方法头必须按照下面的格式书写: public static void main(String args) 执行整个程序时,将从main方法的方法体的第一个语句开始执行。,1: import java.io.*; 2: public class MyJavaApplication 3: 4: public static void main(String args) 5: 6: System.out.println(“Hello, Java World!”); 7: /行注释:end of main method 8: /end of class,2. Java Application程序,第6句:把字符串“Hello, Java World!”输出到系统的标准输出-系统屏幕上。 System是Java内部定义的一个系统对象;out是System对象中的一个域,也是一个对象;println()是out对象的一个方法,其作用是向系统的标准输出设备输出形参指定的字符串,并回车换行。,1: import java.io.*; 2: public class MyJavaApplication 3: 4: public static void main(String args) 5: 6: System.out.println(“Hello, Java World!”); 7: /行注释:end of main method 8: /end of class,2. Java Application程序,利用文本编辑器将例1中的所有语句输入计算机,保存为名为MyJavaApplication.java的源文件,经过编译、解释执行之后, 结果如图:,引言 Java Application程序 Java Applet程序 Java开发环境 Java执行过程 Java语言的特点 小结,3. Java Applet 程序,Java Applet:源代码编辑和字节码编译生成过程与Java Application相同,但Applet不能独立运行,编译之后的文件必须嵌入到HTML文件中并由负责解释HTML文件的WWW浏览器充当其解释器,来解释执行Java Applet的字节码程序。 HTML是Internet上最广泛应用的信息服务形式,将网络上不同地点的多媒体信息有组织地呈现在WWW浏览器中,Java Applet的作用是丰富HTML中的信息内容和表达方式,引入动态交互的内容,使HTML不仅能提供静态的信息,而且可以提供可靠的服务。,3. Java Applet 程序,例2:MyJavaApplet.java 第1、2行:用import语句引入两个系统类Applet和Graphics。这两个系统类分别位于不同的系统包中,所以引用时需要指明它们所在的包名。 包(package)是Java系统用来组织系统类的组织,功能作用和来源相关的系统类通常放在同一个包中。,1: import java.awt.Graphics; /将java.awt包中的系统类Graphics引入本程序 2: import java.applet.Applet; /将java.applet包中的系统类Applet引入本程序 3: public class MyJavaApplet extends Applet 4: 5: public void paint(Graphics g) 6: 7: g.drawString(“Hello, Java Applet World!“, 10 , 20); 8: /end of paint method 9: /end of class,3. Java Applet 程序,1: import java.awt.Graphics; /将java.awt包中的系统类Graphics引入本程序 2: import java.applet.Applet; /将java.applet包中的系统类Applet引入本程序 3: public class MyJavaApplet extends Applet 4: 5: public void paint(Graphics g) 6: 7: g.drawString(“Hello, Java Applet World!“, 10 , 20); 8: /end of paint method 9: /end of class,第3行声明了一个名为MyJavaApplet的类。Java Applet程序也是由若干个类定义组成的,这些类定义也是由class关键字标志的。 Java Applet中不需要有main方法,Applet程序中有且必须有一个类是系统类Applet的子类,即必须有一个类的类头部分以extends Applet结尾。extends是关键字,代表新定义的类是它后面跟着的类的子类,3. Java Applet 程序,当一个类被定义为另一个类(称为父类)的子类时,它可以从其父类中继承一些属性和方法,这样子类就可以利用父类已实现的功能而不必重复编写语句; 所有Java Applet程序中都必须有一个系统类Applet的子类,因为系统类Applet中已经定义了很多的成员域和成员方法,它们规定了Applet如何与执行它的WWW浏览器配合工作,所以当用户程序使用Applet的子类时,因为继承的功能,这个子类将自动拥有父类的有关成员,从而使WWW浏览器顺利地执行并实现用户程序定义的功能。,1: import java.awt.Graphics; /将java.awt包中的系统类Graphics引入本程序 2: import java.applet.Applet; /将java.applet包中的系统类Applet引入本程序 3: public class MyJavaApplet extends Applet 4: 5: public void paint(Graphics g) 6: 7: g.drawString(“Hello, Java Applet World!“, 10 , 20); 8: /end of paint method 9: /end of class,3. Java Applet 程序,第49行:类MyJavaApplet的类体部分,其中定义了一个方法paint。 paint方法是系统类Applet中已经定义好的成员方法,能够被WWW浏览器识别和在恰当的时刻自动调用,所以用户程序定义的Applet子类只需继承这些方法并按具体需要改写其内容(这个过程称为“重载”),就可以使WWW浏览器在解释Java Applet程序时通过自动执行用户改写过的成员方法(如paint方法),来实现用户程序预期的功能。,1: import java.awt.Graphics; /将java.awt包中的系统类Graphics引入本程序 2: import java.applet.Applet; /将java.applet包中的系统类Applet引入本程序 3: public class MyJavaApplet extends Applet 4: 5: public void paint(Graphics g) 6: 7: g.drawString(“Hello, Java Applet World!“, 10 , 20); 8: /end of paint method 9: /end of class,3. Java Applet 程序,paint方法:在HTML页面需要重画时(如浏览器窗口移动、放大、缩小等)被浏览器自动调用并执行,说明并画出Java Applet程序在浏览器中的外观。 当Java Applet程序嵌入HTML文件时,HTML文件会在其Web页面中划定一块区域作为该Applet程序的显示界面。如果Java Applet程序希望在这块区域中显示图形、文字等信息时,只需要把相关语句放在paint方法里即可。当浏览器浏览这个Applet程序所在的HTML文件时,会在合适的时刻自动执行paint方法,在屏幕上显示出上述信息。,5: public void paint(Graphics g) 6: 7: g.drawString(“Hello, Java Applet World!“, 10 , 20); 8: /end of paint method,3. Java Applet 程序,第7句:在屏幕的特定位置输出一个字符串“Hello, Java Applet World!”。 g.drawString(“Hello, Java Applet World!”, 10 , 20) 调用了paint方法的形式参数g的一个成员方法drawString来完成上述功能。g是系统类Graphics的一个对象,代表了Web页面上Applet程序的界面区域的背景;调用g的方法来显示字符串,就是在当前Applet程序的界面区域的背景上显示字符串。,5: public void paint(Graphics g) 6: 7: g.drawString(“Hello, Java Applet World!“, 10 , 20); 8: /end of paint method,3. Java Applet 程序,利用文本编辑器将例2中的所有语句输入计算机,保存为名为MyJavaApplet.java的源文件,经过编译,得到MyJavaApplet.class文件。 由于JavaApplet不能够独立运行,.class文件必须嵌入到HTML文件中,由负责解释HTML文件的WWW浏览器来解释执行Java Applet的字节码程序,因此需要把.class文件嵌入。 例2中的Java Applet程序可以嵌入在如下的AppletInclude.html中:,3. Java Applet 程序,在HTML中嵌入Java Applet使用和,标记必须包含三个参数: CODE:说明嵌入HTML文件中的Java Applet字节码文件的文件名; HEIGH:说明Applet在HTML文件对应的Web页面中占用区域的高度; WIDTH:说明Applet在HTML文件对应的Web页面中占用区域的宽度。 把Java Applet字节码嵌入HTML文件,实际上只是把字节码文件的文件名嵌入HTML文件,而字节码文件本身则通常独立地保存在与HTML文件相同的路径中,由WWW浏览器根据HTML文件中嵌入的名字自动去查找和执行这个字节码文件。,3. Java Applet 程序,用IE浏览器打开AppletInclude.html文件,Java Applet的运行结果如图所示。浏览器中一块300像素(宽)200像素(高)的区域被划定为Applet的界面,根据AppletInclude.html中所嵌入的MyJavaApplet程序的代码,在这个区域的指定位置显示了一行指定的字符串。,引言 Java Application程序 Java Applet程序 Java开发环境 Java程序执行过程 Java语言的特点 小结,4. Java开发环境,开发环境:编辑、编译、调试、运行程序所需要的一整套环境或工具。 Java核心开发工具: Sun公司发布的JDK(Java Development Kit),任何其他的开发工具都需要用到JDK。 Java集成环境: 不同的公司、组织推出的集成开发工具,如Borland的JBuilder,Micorsoft的Visual J+,Eclipse,4. Java开发环境JDK,什么是JDK(Java Development Kit) ? JDK是Sun公司发布的、构建Java程序的基础开发环境。 根据应用环境的不同,JDK可以分为三个不同的版本: J2SE(Java 2 Platform Stand Edition) Java平台的标准版本,包括JRE和JDK J2EE(Java 2 Platform Enterprise Edition ) 用于开发服务器端的Java应用程序 J2ME(Java 2 Platform Micro Edition ) 用于移动设备上嵌入式系统的应用程序,如PDA,4. Java开发环境JDK,Java SDK的发展 1.2.2 1.3.0 1.3.1 1.4.0 1.4.1 .0 1.6 1.7 JDK可以从Sun的网站上免费下载 本课程采用Windows下的J2SDK1.5.0版本(j2sdk-1_5_0_14-windows-i586-p.exe)及以上版本 ,在Eclipse环境下进行程序设计,4. Java开发环境JDK,安装JDK: 下载JDK安装文件后,按照提示安装; 设置环境变量: 右键点击“我的电脑” “属性” “高级” “环境变量” “系统变量” 编辑环境变量Path的值:JAVAHomebin; 新建环境变量CLASSPATH: CLASSPATH=. ; JAVAHomelibtools.jar; JAVAHomelibdt.jar; JDK安装、配置之后,即可开发和运行Java程序。,JAVAHome 指Java的安装路径,4. Java开发环境JDK,安装JDK后产生目录结构: bin:Java开发工具,包括 Java编译器、解释器等; jre:Java运行环境,包括 Java虚拟机、运行类库; lib: Java 开 发 类 库 ; demo: 一 些 实例程序,4. Java开发环境JDK,Java开发工具(bin): Javac:Java编译器,将.java程序编译成字节码文件(.class文件)。 Java:Java解释器,执行已经转换成Bytecode的java应用程序。 Jdb:Java调试器, 用来调试java程序。 Javap:反编译,将类文件还原回方法和变量。 javadoc:文档生成器,创建HTML文件。 appletviwer:Applet解释器,解释已经转换成Bytecode的java小应用程序,4. Java开发环境JDK,4. Java开发环境Eclipse,Eclipse:开源的、基于Java的可扩展开发平台 最初是IBM的一个软件产品,2001年11月,IBM宣布将其捐给开放源码组织E。目前Eclipse的市场占有率已经超过了Borland公司的JBuilder,成为Java开发平台中的主流。 在Eclipse环境下开发Java程序: 安装JDK; 在Eclipse中编辑、编译、执行java程序,4. Java开发环境,引言 Java Application程序 Java Applet程序 Java开发环境 Java程序执行过程 Java语言的特点 小结,5. Java程序执行过程,一般高级语言编程分三个步骤:源程序编辑、目标程序编译生成、可执行程序运行 Java编程一般可以分为编辑源程序、编译生成字节码和解释运行字节码,5. Java程序执行过程,源程序编辑: Java源程序是以.java为后缀的文本文件,可以用各种Java集成开发环境中的源代码编辑器来编写,也可以用其他文本编辑工具(如Windows 自带的记事本、写字板等)来编写。,5. Java程序执行过程-编译,编译:高级语言程序从源代码到目标代码的生成过程 编译*.java源代码需要使用Java编译器,在命令行窗口调用专用的Java编译器生成字节码。如“ javac MyJavaApplication.java” 如果*.java源程序中有错误,编译器停止编译,并在屏幕上输出这些错误所在的源代码行号和错误的主要信息; 编译成功则生成相应的*.class字节码文件。 注:Java语言区分大小写,源程序文件名写错也会引发编译错误。 *.java进行编译后,生成*.class字节码文件。字节码是二进制的文件,由Java语言的解释器来解释执行。 在Eclipse环境下,保存源程序时Eclipse会自动调用javac命令进行编译,如有错误,在控制台窗口中会有相应提示。,5. Java程序执行过程-编译,Java程序编译的结果:*.java *.class 对源程序文件中的每个类,生成一个同名的、以.class为后缀的字节码文件; 源程序中定义了几个类,编译结果就生成几个字节码文件。,1: import java.io.*; 2: public class MyApplication2 3: 4: public static void main(String args ) 5: 6: System.out.println(UserClass.msMessage); 7: 8: 9: 10: class UserClass 11: 12: static String msMessage = “Message from User Defined Class”; 13: ,5. Java程序执行过程-编译,执行“javac MyApplcation2.java”,可以得到MyApplication2.class和UserClass.class两个字节码文件 注:Java源代码文件中可以定义多个类,但是其中只能有一个类含有main方法,因为main方法是程序执行的入口点,一个Java Application程序只能有一个入口点。这个含有main方法的类就称为主类,这个类名就是Java源文件名。,5. Java程序执行过程-运行,高级编程语言按照执行方式可以分为编译型和解释型: 编译型语言,生成的目标语言代码经链接后就成为可以直接执行的可执行代码,如C,Pascal等。 解释型语言,其目标语言代码不能直接在操作系统上运行,需要有专门的解释器程序来解释执行,如BASIC,Java等。,5. Java程序执行过程-运行,编译型语言直接运行于OS的,所以对运行它的软硬件平台有着较强的依赖性,在平台A上可以正常运行的编译语言程序在平台B上可能完全不能工作,而必须在平台B上将源代码重新编译,生成适合平台B的可执行代码。 这种不可移植性上对于Web应用程序是很大的问题,网络是由不同软硬件平台的计算机组成的,为了使这些计算机都能够顺利运行编译型应用程序,就必须专门为各种不同的平台开发出不同版本的应用程序,同时版本升级和维护的工作量也将非常大。,5. Java程序执行过程-运行,通常,解释型语言比较简单,执行速度也较慢,但是在网络应用平台中,解释型语言却有着重要的优势可移植性。 以Java语言为例:由Java源代码编译生成的.class字节码不是直接运行在通常的操作系统上,而是运行在 “Java虚拟机”(JVM) 上。在运行Java程序时,由Java虚拟机来解释执行Java的字节码。,5. Java程序执行过程-运行,JVM把Java字节码程序跟具体的软硬件平台分隔开来,只要在不同的计算机上安装其特定平台的Java虚拟机,就可以把不同软硬件平台的具体差别隐藏起来,使得同一个Java字节码程序在不同的计算机上都能够解释执行,不必考虑具体的平台差别,实现真正的跨平台可移植性。,5. Java程序执行过程-运行,Java程序可以分为Java Application和Java Applet两类,运行方式不同: Java Application是由独立的解释器程序来运行的,JDK中用来解释执行Java Application字节码的解释器程序是bin目录中的java.exe。 在JDK核心开发环境中,运行字节码文件的命令为: java MyJavaApplication java MyApplication2 注意: java MyJavaApplication.class 错! 在Eclipse环境下可以直接点击,5. Java程序执行过程-运行,Java程序可以分为Java Application和Java Applet两类,运行方式不同: 在Eclipse环境中可以直接运行Applet程序,直接调用AppletViewer.exe来解释执行该Applet; 通常Java Applet程序不能独立运行,其字节码文件必须嵌入到HTML文件中,由负责解释HTML文件的WWW浏览器充当其解释器,来解释执行Java Applet的字节码程序。 代码嵌入语法: 通常把字节码文件独立地保存在与HTML文件相同的路径中,由WWW浏览器根据HTML文件中嵌入的名字自动去查找和执行这个字节码文件。,5. Java程序执行过程-运行,Applet的运行过程:将编译好的字节码文件和嵌入*.class的HTML文件保存在Web服务器的合适路径下;当浏览器下载该HTML文件并显示时,会自动下载其中指定的Java Applet字节码,然后调用内置在浏览器中的Java解释器来解释执行下载到本机的字节码程序。 当Applet程序需要修改或维护

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论