




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计,主讲教师:刘国清 授课时间:2010年9月,一、课程性质和任务 本课程是计算机专业的一门专业必修课程。 本课程的任务是使学生掌握Java程序设计语言,理解面向对象的程序设计的思路和方法,培养学生的编程能力。 本课程的主要知识点群包括面向对象技术、异常处理、多线程、输入输出流、图形用户界面(GUI)设计、Applet开发、网络通信以及数据库编程等。,二、课程教学目标: 通过理论和实践教学,使学生掌握面向对象的程序设计语言JAVA,并培养良好的编程规范意识。 1. 知识教学目标: 理解和掌握JAVA语言的基本语法和语义,掌握标准程序和小应用程序的开发方法。 2. 能力教学目标: 熟练使用JBuilder来开发Java程序 3. 思想教育目标: 学会良好的编程习惯.,课程教学的具体目标,、熟练掌握Java语言的基本数据类型,运算符及表达式,控制结构,字符串的应用。 、学会运用面向对象编程特点,使用抽象、封装、继承、多态编写简单的类和使用类对象编程。 、掌握Java语言基础类、字符串类的应用。 、掌握异常的应用方法,进行异常处理设计 、掌握线程的使用方法。,课程教学的具体目标,、掌握Java语言的I/O编程及应用方法。 、掌握Java图形用户界面设计方法及其编程。 、掌握Applet小应用程序的设计方法,设计小型网络应用程序。 、掌握Application应用程序的设计方法,设计小型网络应用程序。,课程教学的重点和难点,1. 面向对象的编程思路 2. java编程规范 3. java类库帮助文档的浏览和生成 4. 多维数组的初始化 5. 方法覆盖和方法重载 6. 类变量和类方法的使用 7. 正确地使用捕获例外和声明抛弃例外的两种 例外处理的方法。 8. 正确使用各种输入输出流。 9. 正确使用对象串行化的方法。,课程教学的重点和难点,10. 内部类匿名类在AWT中的应用。 11. AWT事件处理模型。 12. 多线程的调度和控制。 13. 多线程的互斥和同步。 14. Swing新的容器模型及众多的组件的使用。 15. Swing的新增特性。 16. 基于URL的网络编程(主要针对WWW资源) 17. 基于TCP的C/S网络编程(单客户,多客户) 18. 基于UDP的C/S网络编程,第1章 Java概述,【教学目标】 了解java语言产生的历史和工作原理,掌握java语言作为一门面向对象编程语言的基本编程思路,初步接触java程序的两种方式:java application和java applet,掌握java程序的结构、编程规范,学习阅读java帮助文档,并安装java开发环境和帮助文档,最后要学会编写小的java程序并生成相应的帮助文档,【难 重 点】 java虚拟机 无用内存自动回收器 java语言的特点 面向对象的编程思路 java编程规范 java类库帮助文档的浏览和生成,【讲授知识点】 1、Java语言的特点 2 、Java虚拟机 3 、垃圾收集 4、一个基本的Java应用程序的结构 5 、程序的编译和运行 6、常见错误 7 、使用Java核心API文档,主要讲授内容,程序设计语言经历:,1.1 程序设计语言,高级语言:,1.2 Java语言,Java是一种编程语言,像其他语言一样,我们可以使用它开发出各种应用程序。例如开发各种字处理软件、浏览器、E-mail客户软件、各种服务器程序、管理程序、数据库系统等。 Java又是一种应用和开发环境,它提供了一整套工具和类库,以它为基础,我们可以开发和部署各种应用系统,如电子商务系统等。,Java语言的基本概念,Java语言=,面向对象的程序设计语言,Java的诞生 Java语言是由Sun公司于1995年5月23日正式推出的面向对象的程序设计语言,集安全性、简单性、易用性和平台无关性于一身,适合网络环境下编程使用。,Java语言的特点,简单性 面向对象 安全性 平台无关 多线程 网络功能 执行效率,Windows 操作环境,Unix 操作环境,Mac 操作环境,垃圾收集,在Java中,程序员不必亲自释放内存,它提供了后台系统级线程,记录每次内存分配的情况,并统计每个内存指针的引用次数。 在Java虚拟机运行时环境闲置时,垃圾收集线程将检查是否存在引用次数为0的内存指针;如果有的话,则垃圾收集线程把该内存“标记”为“清除”(释放)。,Java与C/C+的主要区别,跨平台: C/C+语言编译为机器码;Java语言编译为字节码,通过JVM编译为机器码 废除指针: C/C+语言有指针类型;Java语言没有指针类型 继承: C+允许多继承;Java语言仅允许单继承 速度: C/C+运行速度快;Java运行速度慢,Java虚拟机,Java虚拟机(Java virtual machine,JVM)是运行Java 程序必不可少的机制。JVM是编译后的Java 程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。它不仅解释执行编译后的Java指令,而且还进行安全检查。它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java 程序的安全检验引擎。,Java虚拟机,Java 虚拟机规范中给出了JVM的定义: JVM是在一台真正的机器上用软件方式实现的一台假想机。 Java虚拟机规范提供了编译所有Java代码的硬件平台。 JVM不但可以用软件实现,而且可以用硬件实现。,Java虚拟机,JVM的具体实现包括: 指令集(等价于CPU的指令集) 寄存器组 类文件格式 栈 垃圾收集堆 内存区,Java虚拟机,JVM的代码格式为压缩的字节码,因而效率较高。 JVM的实现叫做Java运行时系统,简称为运行时。,Java平台由Java应用编程接口(Application Programming Interface,简称API)和Java虚拟机(Java virtual machine ,简称JVM)构成。 Java应用编程接口是已编译的可在我们的程序中使用的代码库。它们使我们能够添加现成的可定制的功能,以节约编程时间。 般认为,Java虚拟机是建立在实际的处理器基础上的假想的计算机。Java虚拟机规范为Java虚拟机(JVM)作了如下定义:在真实机器中用软件模拟实现的一种想象机器。Java虚拟机代码被存储在.class文件中;每个文件都包含最多一个public类。,Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台,因为编译是针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟并运行于各种现存的计算机系统,也可用硬件来实现。 Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统。,1.2 最简单的Java程序,1.2.1 环境设置 1.2.2 编写源程序 1.2.3 编译 1.2.4 运行 1.2.5 程序分析,1.2.1 环境设置,只要一台普通的PC机,安装完毕Windows 95/98/Me/NT/2000中的一种操作系统,再安装好Java开发工具集JDK( (Java Developers Kits )即可开发Java程序了。除了Windows系列的操作系统外,针对其他常用的操作系统也可下载到合适的JDK。JDK在很多光盘上都可以得到,也可从/j2se/下载。,以Windows系统为例,JDK的安装过程如下: Windows下,直接运行exe文件,安装到一个目录,例如将其安装到C:jdk1.5目录下面。安装完毕后查看该目录内容应具有: C:jdk1.5dir 其中lib目录下面保存的是库文件,classes目录下面保存的是Java类库,bin目录是一些执行文件和动态连接库文件,demo目录下是一些Applet的实例。,JDK的安装,过程如下:从桌面上选择“控制面板” 系统高级环境变量,在其中选择path选项;点击编辑,在变量值中输入C:JDK1.5BIN, 然后选择确定。 或者直接修改自动批处理文件Autoexec.bat,利用任何编辑器编辑该文件,然后在其中加入如下的设置语句: set path= C:JDK1.5BIN;%path% set classpath= C:JDK1.5libtools.jar;.; C:JDK1.5libdt.jar;%classpath% 在配置完成后,要重新启动计算机,环境变量才能生效。,配置环境变量,1.2.2 编写源程序,例 1-1 / 简单的应用程序First public class First public static void main(String args ) System.out.println(“This is my first program!”); 将这段程序以普通文本格式保存到文件名为First.java的文件中(文件名必须和程序首行public class后的名称相同,若名称有大小写,文件名也必须和其一致)。,1.2.3 字节码的编译生成,程序必需转换为Java虚拟机能够理解的形式,这样,任何安装有Java虚拟机的计算机就可以解释并运行该程序。编译Java程序是指:提取程序文件中程序员可读的文本(亦称源代码)并把它转换成字节码,字节码是提供给Java虚拟机的与平台无关的指令。Java编译器是通过外壳操作系统中的命令行进行调用的,,下面对该程序进行编译: 在Windows下打开一个DOS窗口,进入保存First.java的目录。执行命令行调用命令: javac First.java 该命令的功能是编译源程序。执行完毕后,可以看到当前目录下已经有了一个编译后的文件:First.class。 编译时常见错误有: 显示“Bad command or file name”。 如果程序本身有语法错误,编译将失败,并指出错误位置。,1.2.4 字节码的解释与运行,利用JDK工具包中提供的java解释器java.exe程序可以运行编译后生成的.class后缀的文件,在Windows下打开一个DOS窗口,进入保存First.java的目录。执行: java First 此命令行中文件名称不须附上扩展名“.class”,因为解释器本身会自行加入。 屏幕上将显示: This is my first program 运行时常见错误有: Exception in thread “main“ java.lang.NoClassDefFoundError: First,文件没有找到。检查当前目录下确实有出错提示最后显示的文件名: First.class。并检查大小写是否完全一致。,1.2.5 程序分析,public class First 这是固定用法,它给程序起了一个名字“First”, “public class”是Java中关键字,不能改变,但public可省略。 public static void main(String args ) 这是固定用法,程序在执行时总是找到这一句,由此开始向下执行。其中可以变化的部分是“args”,我们可以按照自己的习惯给它起名称。 System.out.println(“This is my first program“); 这是Java中的打印语句,可以在屏幕上显示一串信息,可以变化的部分是其中引号内的内容,可以换成想显示的任何内容。,在一个Java Application应用程序中,一定要有一个类包含main方法。而在本范例中,首先用保留字class来声明一个新的类,其类名为First ,它是一个公共类public。整个类定义由大括号括起来。在该类中定义了一个main方法,这个方法共有三个修饰语,其意义分别如下: (1)public:表示这个类的main方法可以被所有的对象使用。 (2)static:指明该方法是一个类方法,它可以通过类名直接调用,表示main是属于这个类所使用的方法,我们将之称为“静态方法”。 (3)void:表示main方法执行后不会传回任何值。这一点是重要的,因为Java编程语言要进行谨慎的类型检查,包括检查调用的方法确实返回了这些方法所声明的类型。,对于一个应用程序来说,main方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main方法也只能有一个,作为程序的入口。main方法定义中,括号中的String args是传递给main方法的参数,参数名为args,它是String类的一个实例。参数可以为0个或多个,每个参数用“类名 参数名”来指定,多个参数间用逗号分隔。,对于本程序,还有以下值得注意的地方: (1)在main方法中,只有一条语句: System.out.println(“ This is my first program “); 它用来实现字符串的输出,这条语句实现与C语言中的printf语句相同的功能。这里实际上是利用Java应用编程接口(API)向控制台打印输出一行文字。API中已经有了可以使用的控制台打印功能,我们只需要提供要打印的文字。 这行程序所做的事是使用由System类的out成员引用的PrintStream类的out对象的println方法,将字串“ This is my first program “打印到标准输出上。,(2)语句 System.out.println(“ This is my first program“); 的最后有一个分号;,在Java编程语言中,一个“;”代表一个语句的结束。 例如语句 totals=a+b+c+d+e+f+g; 与语句 total=a+b+c+ d+e+f+g; 是等价的。,(3)在程序中出现了大括号(“”和“”),它们是成对出现的,以 为边界的语句集合称为一个块(block)。 语句块可被嵌套,在本例中,First类是一个语句块; First类由main方法构成,main这个方法也是一个语句块,它是一个独立单元,单元本身又作为类First块中一部分。 (4)为了增强程序的可读性,在程序中有多处空格,这不影响程序的执行。Java程序中允许任意多的空白。,(5)在本程序中第一行“/”后的内容为注释,进行编译时,这一行的从“/”开始的所有内容会被忽略。 Java里有三种类型的注释。第一种是传统的、C语言风格的注释,是从C+继承而来的。这些注释用一个“/*”起头,随后是注释内容,并可跨越多行,最后用一个“*/”结束;第二种类型的注释也起源于C+,这种注释叫作“单行注释”,以一个“/”起头,表示这一行的从“/”开始的所有内容都是注释,这种类型的注释更常用,因为它书写时更方便。,(6)程序名为First.java,和公共类的类名相同(包括大小写都一致,唯一不同的地方就是程序名有扩展名.java而类名没有扩展名),这是因为Java解释器要求公共类必须放在与其同名的文件中。,使用集成开发环境,毫无疑问,使用集成开发环境有很多的优点,无论是在调试程序的过程中,还是编译运行程序都方便很多,所以一般的程序员都会选择一个集成开发环境来开发程序。 著名的Java集成开发环境有IBM公司的Visual Age For Java、Microsoft公司的VJ+、Borland公司JBuilder等。 对于初学者而言,集成开发环境的界面不能太复杂。适合于初学者学习的,应该是界面简单一些,最好是不需要对开发环境做很多的设置的软件。,常见错误,编译时错误,1. 错误提示内容:javac: Command not found 解释:包含javac编译器的路径变量设置不正确。,常见错误,2. 错误提示内容:First.java:3: Method printl(java.lang.String) not found in class java.io.PrintStream.System.out.printl(“my fisrt java program”); 解释: 键入的方法名printl不正确,方法println()的名字被写成printl。,编译时错误,常见错误,编译时错误,3. 错误提示内容:First.java:1: Public class First must be defined in a file called “First.java”.public
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CACE 0147-2024二氧化碳矿化碱基固废制备建材工艺规程
- T/CI 583-2024临氢环境中聚乙烯管道寿命预测评价方法
- 高中化学反应热课件
- 高中信息人工智能课件
- 高三锂电池课件
- 煤矿器增压泵技术许可及市场推广合作合同
- 高端商务写字楼租赁合同样本(含物业服务)
- 商业地产租赁合同租赁面积及租金调整补充协议
- 离婚协议子女生活费支付确认书及欠款还款协议
- 髌骨骨折护理
- 索菲亚全屋定制合同协议
- 证件借用免责协议书范本
- 2025年人教版小学数学二年级上册学期教学计划
- 广东陆丰皮影戏在融合背景下的传承与创新发展研究
- 2025年高级粮油保管员技能鉴定理论考试题库-含答案
- 高一年级数学上册(人教版)《教材全解全析》1
- 2025年机场集团工作人员招聘考试笔试试题(含答案)
- 2025年时事政治考试116题及参考答案
- 特种设备安全风险管控清单
- 电子版全国普通高等学校毕业生就业协议书模板
- 酒店从业人员禁毒知识宣讲
评论
0/150
提交评论