java概述(简介、开发环境、程序结构)_第1页
java概述(简介、开发环境、程序结构)_第2页
java概述(简介、开发环境、程序结构)_第3页
java概述(简介、开发环境、程序结构)_第4页
java概述(简介、开发环境、程序结构)_第5页
已阅读5页,还剩54页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、 1姓名:柴胜教研室:计算机学院软件工程Email: jlu_Instructor2课程内容Java 概述以及开发环境(jdk/ eclipse )Java 面向对象技术(类、对象、包、接口、继承、多态)Java 异常处理Java 设计原则与设计模式Java 输入输出Java 图形用户界面组件Java 小程序(Applet)编程Java 多线程编程Java 网络编程(socket)Java 上机实习其中自学部分:Java基础(运算符、控制结构等)3参考书 Java程序设计教程(第5版),施平安译,清华大学出版社Thinking in Java , Bruce Eckel ,机械工业出版Java

2、开发实战经典,李兴华,清华大学出版社 4学时与考核32学时理论课16学时上机实践5Java语言的简介 Sun Microsystems 于1995年推出1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器1994年将Oak语言更名为JavaJava既安全、可移植,又可跨平台,而且人们发现它能够解决Internet上的大型应用问题6Java发展历程Java主设计者:James Gosling1995.5.23 Sun发布了Java 1.0Java Development Kit,JDK1.0Java 2,JDK

3、 1.2J2SE 5.0得到进一步改进现在的版本:JDK 1.6也称为:J2SE 6.07Java主要技术分支JAVA SEJava 2 Platform, Standard Edition前身:J2SE,2005年之后更名为JAVA SEJAVA EEJava 2 Platform, Enterprise Edition前身:J2EE,2005年之后更名为JAVA EEJAVA MEJava 2 Platform, Micro Edition前身:J2ME,2005年之后更名为JAVA ME8三种技术的关系JAVA EEJSP / ServletEJB服务JAVA MECLDC、MIDP游戏

4、通讯JAVA SE面向对象JVM底层支持基础核心9程序语言发展历程机器语言:二进制机器代码,不便理解,不好记忆,与硬件平台相关,不具有可移植性。汇编语言:用助记符号来描述,与机器代码一一对应,能够理解,但同样不可移植。高级语言:按自然语言的语法风格书写程序,方便理解,在源代码的层次上可以实现跨平台移植。10001001 11100101mov dptr,#2000 if(ab) max=a;else max=b;10高级语言开发过程编辑原代码 编译 执行源码机器码机器码机器码CPUCPUCPU跨平台010011011010001100110101不跨平台11Java 语言的方案Java引入了字

5、节码程序的概念Java 语言程序(.java) 字节码程序(.class)编译器的编译 12Java 语言程序解释执行环境硬件操作系统字节码程序用户 USERJVM (Java 虚拟机)Java引入了虚拟机的概念131415进一步解释:Java可移植性非洲翻译韩国翻译美国翻译非洲商人韩国商人美国商人中国商人问候的话语翻译成非洲话翻译成韩国话翻译成美国话1617 Java特点简单面向对象分布式Java的风格类似于C+,因而对C+程序员而言非常容易掌握Java编程技术; Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理;提供了丰富的类库 在 Java 中任何东西都是对象,因此,重点

6、集中在数据以及应用程序中的数据操作方法。 Java提供了包容广泛的例程库,可处理像HTTP和FTP这样的TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。 18 Java语言提供的安全编译器提供的安全字节码校验器类加载器健壮性安全可移植性 Java在编译和运行程序时都要对可能出现的问题进行检查它提供自动垃圾收集来进行内存管理 面向对象的异常处理机制 Java 程序被编译成一种与体系结构无关的字节代码只要安装了Java运行时系统Java程序可以在任意的处理器上运行19解释执行多线程编译器 javac 将处理.java源文件生成类文件 类文件可

7、通过名称为 java 的加载实用程序解释执行,将Java 字节码转换为机器可执行代码。 Java语言内置支持多线程的功能Java 类库提供了 Thread 类 20 不再有全局变量 不再有#include 和#define 等预处理功能 不再有structure、union及typedef等 不再有函数、不再有指针、不再有多重继承 不再有goto语句 不再有操作符重载(Operatior Overloading) 自动进行内存管理Java语言特点与C及C+的区别21J2SE程序的类型Applet应用程序它是用 Java 编写的、在 Internet 上运行的程序,在任何客户端系统上均可下载 A

8、pplet。它是指在计算机的操作系统支持下运行的程序。应用程序既可以基于GUI,又可以基于命令行界面。22Java程序的开发与执行源文件:.java字节码文件:.classJava编译器:javac编译生成由Java解释器执行由浏览器执行Java应用程序Java小应用程序23Java程序由各种类(class)组成你自己编写的类(Java class librariesJava API)JDKJava Development Kit(1.11.6)独立软件供应商、免费软件/共享软件提示使用类库可以 提高软件重用/提高效率/提高移植性网络上有许多开放的Java源码资源Java类库24 Java提供

9、了丰富的标准类来帮助程序设计者更方便快捷地编写程序,这些标准类组成了类包,主要有:java.lang java.awtjava.applet java.awt.imagejava.awt.peer java.io java.util 除了java.lang之外,其余类包都不是java语言所必须的。Java开发类库组成J2SE的类包25Languagejava.lang构成Java语言核心的类Object, Math, String, Number, Exception, System, Runtime Utilitiesjava.util提供实用的数据结构 Vector, Stack, Has

10、htable / Colloection, List, Set, Map I/Ojava.io提供多种类型的输入/输出InputStream, OutputStream, Reader, Writer, RandomAccessFile, FileText java.text 文本/日期/数字/消息的本地化支持NumberFormat, DateFormat, and CollatorMathjava.math提供任意精度的整数和浮点数运算AWT java.awt用户接口设计和事件处理Swingjavax.swing提供全Java的,在任何平台上表现都相同的轻量级构件Java开发类库组成J2S

11、E的类包26Javaxjavax 对Java语言的扩展Appletjava.applet 用于创建Applet的类Beansjava.beans 用于开发JavaBeans的类Reflectionjava.lang.reflect 用于动态获取类信息的类SQLjava.sql 提供对数据库中数据的访问和处理Connection, ResultSet, StatementRMIjava.rmi 支持分布式编程Networking 支持开发网络应用的类Socket, URL, URLConnectionSecurityjava.security支持访问控制和信息安全的类用于访问控制,防止非信任代码

12、执行关键操作认证相关的类,实现了消息摘要和数字签名与数字认证等Java开发类库组成J2SE的类包27(1)java.lang 本类包中包含了各种定义java语言时必须的类,这些类能够以其他类不能使用的方式访问java的内部。任何java程序都将自动引入这个包。其中的类包括: Object类:java中最原始、最重要的类,每个java类都是它的子类,它实现了每个类都必须具有的基本方法。 基本类型包装器:Boolean, Character, Number, Double, Float, Integer, Long。 String类:字符串类。 Math类:数学函数的集合。 执行线程:类Threa

13、d, ThreadGroup, 接口Runable。 异常和错误:类Exception, Error, 接口Throwable。Java开发类库组成J2SE的类包28(1)java.lang 运行环境:可以通过类Runtime和System访问外部系统环境。System类的两个常用功能就是访问标准输入/输出流和错误流、退出程序。 其他类:接口Cloneable、运行时的类等。(2)java.applet Java Applet是Java编程的一个主要魅力,java.applet类包提供了Applet的运行机制以及一些编写Applet非常有用的方法。Java开发类库组成J2SE的类包29(3)

14、java.awt 本类包是各种窗口环境的统一界面(AWT代表Abstract Windows Toolkit,即抽象窗口工具包),其中的类使得创建诸如窗口、菜单、滚动条、文本区、按钮以及复选框等图形用户界面(GUI)的元素变得非常容易。(4) java.awt.image 类包能够以独立于设备的方式加载并过滤位图图象。(5) java.awt.peer java.awt.peer是全部awt组件的对等对象接口的集合,每个接口都提供了机器相关基本的方法,awt使用这些方法来实现GUI,而不必关心是何种机器或操作系统。Java开发类库组成J2SE的类包30(6) java.io Java的输入/输

15、出模式是完全建立在流的基础之上的。流是一种字节从一个地方到另一个地方的单向流动,可以把流附加于文件、管道和通信链路等。 java.io类包中定义的许多种流类通过继承的方式进行组织,其中也包括一些用来访问本地文件系统上的文件的流类。(7) 类包用来完成与网络相关的功能:URL、WWW连接以及更为通用的Socket网络通信。(8) java.util java.util类包包含了一些实用类和有用的数据结构,如字典(Dictionary)、散列表(Hashtable)、堆栈(Stack)、向量(Vectro)以及枚举类(Enumeration)等。Java开发类库组成J2SE的类包31Java AP

16、I文档选择包选择包中的接口或类可查看相应帮助32java开发工具入门级开发工具:JDK + UtraEditJDK + Jcreator 高级开发工具:JBuilder BorlandEclipse IBM33Java开发基本术语JDK JREJVMJDK:(Java Development kit) 包含Java运行的基本类库和开发命令,安装JDK可以进行完整的Java开发。JRE:(Java Runtime Environment) 包含Java运行的基本类库和一些运行命令,安装JRE可以运行编译好的Java程序。JVM:(Java Virtual Machine) Java语言内部运行的

17、核心。34 Java程序开发环境(JDK)1 JDK的安装1 下载文件2 安装JDK环境3 JDK 文件结构2 Path和Classpath路径的设置1 path设置JDK工具的路径2 classpath设置类路径3 JDK工具的使用4 第一个Java Application程序5 第一个Java Applet程序35JDK(Java Development Kit)JRE(Java Runtime Enviroment)DOC(Java Document) j2sdk-1_3_1_01-win.exe -java2开发工具包j2re-1_3_1_01-win-i.exe -java2运行环境

18、包j2sdk-1_3_1-doc.zip -java2帮助文档Win32平台:1 下载文件2 安装JDK环境在Win32平台下运行 j2sdk-1_3_1_01-win.exe安装到 C:jdk1.3 目录下 JDK的安装到下载36373 JDK 文件结构关键目录附加目录383 JDK 文件结构 (见JDK 文件结构.htm)C:jdk1.3bin 目录下有一些开发环境要求的可执行文件Javac.exe :Java编译器,把xxx.javaxxx.class文件。Java.exe :Java解释器,执行应用程序(xxx.class)Appletviewer.exe :Java解释器,执行app

19、let程序(xxx.class) .C:jdk1.3lib 目录下有一些基本类包(函数库) 如 dt.jar; tools.jarC:jdk1.3jre 目录下有Java2运行环境 C:jdk1.3include 目录下有与C连接的头文件境 C:jdk1.3demo 目录下有Java2范例文件,可执行。 C:jdk1.3COPYRIGHT JDK版权声明文件C:jdk1.3readme.html JDK介绍、内容及功能文件C:jdk1.3src.jar JDK源代码 PATH 环境变量应该包含一个指示此目录的项39当你在命令行下运行应用程序时,要发生下面几件事:你要敲入你所运行的程序名字操作系

20、统就要在环境变量path里面寻找,看看你要运行的程序是否在那些目录里面。(注:path的设置可能会像下面这样%SystemRoot%system32; C:Program FilesRationalcommon;C:j2sdk14bin;.子目录间的分割符是;)注意:设置完环境变量后需要关闭命令行窗口,然后再打开一个新的命令行窗口,这样环境变量才能生效。环境变量path40当你在命令行下运行java应用程序时,要发生下面几件事:你要敲入,java 你所运行的程序名字 Java虚拟机就要在环境变量classpath里面寻找,看看你要运行的程序是否在那些目录里面。(注:classpath的设置可能

21、会像下面这样 .;F:java1old例子;子目录间的分割符是;)注意:设置完环境变量后需要关闭命令行窗口,然后再打开一个新的命令行窗口,这样环境变量才能生效。环境变量classpath41建立java开发环境(包括软件的安装和环境变量path的设置);编写java源程序;编译java源程序;运行java程序即.class文件(注:3和4步骤可能需要环境变量classpath的设置)运行java程序的步骤421 path设置JDK工具的路径设置方法:(Path 指向 C:jdk1.3bin目录 )Windows98 : autoexec.bat 中加入 path c:jdk1.3bin;xxx

22、;xxxWindows NT :系统高级环境变量用户变量中的path中加入c:jdk1.3bin目的:使系统到path指向的目录中找Java的可执行文件(javac.exe,java.exe)2 path和classpath设置432 classpath设置类路径目的:使系统运行Java程序时可以用此类设置方法:(Classpath指向其类路径 )系统高级环境变量用户变量 中的CLASSPATH中加入path1;path2Windows NT中设置443 JDK工具的使用Jdk工具包括:C:jdk1.3bin目录下的.exe文件。javac.exejava.exeappletviewer.ex

23、ejdb.exejavah.exejavap.exejavadoc.exejar.exe 看JDK中的doc 上网找文章453 JDK工具的使用javac.exe javac name.java javac -d target_directory name.javaname.class文件存到target_directory目录中463 JDK工具的使用D:worksrcHelloWorldApp.java /HelloWorldApp.java public class HelloWorldApp public void main(String args) System.out.printl

24、n(“Hello World!”); D:worksrcjavac d . HelloWorldApp.java D:javac d D:worksrc D:worksrcHelloWorldApp.java保存D:worksrcHelloWorldApp.class D:worksrcjava HelloWorldApp D:java cp d:worksrc HelloWorldApp47/这是名称为“HelloWorld.java”的简单程序public class HelloWorld public static void main(String args) System.out.pr

25、intln(“Hello, world! ”); 单行注释定义类main函数在控制台上输出写源程序4 第一个Java Application程序48注:源文件的命名规则是: 如果源文件中有多个类,那么只有一个类是public类; 有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java; 如果源文件没有public类, 那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。存为文件名HelloWorldApp.java49 javac HelloWorldApp.java java HelloWorldApp Hello, world! 编译解

26、释执行执行结果编译、执行HelloWorldApp.class50 注: 1.编译后生成.class文件,如果java源程序中包含多个类,那么编译后将生成多个.class文件,每个文件中只存放一个类的字节码,其文件名与类的名字相同。 2.当java应用程序中有多个类时,运行的必须是包含main方法的那个类(即主类)的字节码文件,且运行时一定不要写扩展名.class。515 第一个Java Applet程序/HelloWorldApplet.javaimport java.awt.Graphics;import java.applet.Applet;public class HelloWorld

27、Applet extends Applet public void init() resize(150,25); public void paint(Graphics g) g.drawString (“Hello, world!”,50,25) ; 写源程序存为文件名HelloWorldApplet.java文件名要与类同名52 javac HelloWorldApplet.java java HelloWorldApplet 编译HelloWorldApplet.class编译 /anyname.html Hello World Applet 保存anyname.html写html文件 53执行 appletviewer anyname.html 解释执行执行结果用appletviewer来执行anyname.html用网页浏览器来执行applet用IE打开anyname.htm54Java程序结构: package语句:零个或一个,必须放在文件开始 i

温馨提示

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

评论

0/150

提交评论