第一篇:《Java程序设计》课程教学资源索引
《Java程序设计》课程教学资源索引
说明:
本课程针对零Java编程基础的计算机专业学生,前提是学过C语言。课程主要讲授J2SE,教学目的是带领学生迈入Java开发的大门,初步理解和把握面向对象的思想与理论,为进一步学习J2EE,或者Android开发扫清障碍。所提供之示例均使用Eclipse Indigo,在JDK 1.6下调试通过。
=========================
第一部分 Java开发基础
第一讲:Java导论与开发环境。包括两个PDF文档,主要介绍Java的基础知识、Java开发环境的搭建,以及Java开发工具的选择和使用,是Java学习的第一步。Java导论与Java开发环境 2 Eclipse初步
第二讲 Java应用程序与Applet。包容一个pdf文档及相关示例源码。本讲主要介绍两种最基本的Java程序类型,并介绍Java编程的一些基础知识。第三讲 Java语法基础。包容两个pdf文档及相关示例源码。1 Java语法基础 2 程序控制结构
这一讲基本上介绍完了Java最基本的语法,学生已经可以使用Java编写简单的”结构化“程序。另外,为方便学习,资源包中还添加了从Oracle网站上下载的Java语言规范3.0(pdf版本)。第四讲 数组。
与C不一样,Java中的数组是一个对象,并且拥有一些独特的性质(比如可以定义“不整齐”的多维数组,本质上是以“数组”为“元素类型”的一维数组),另外,数组在实际开发中用得很广泛,本讲介绍了数组排序与查找的示例,并布置了一个作业:将数字转换为”汉字表达“。此作业的参考答案在下次课程中给出。第五讲 方法
本讲介绍Java编程中与”方法“相关的特性,其中的重点是”方法重载(overload)“的概念。另外,本讲还介绍了JDK中用于处理日期Calenda类的使用方法,同学们将会发现这个类拥有一些比较特殊的行为特性,这些特性可能有点违背“常识”。Calenda类的设计是好是坏,就由同学们自己感悟吧。第六讲 字符串
Java中字符串是一个对象,它的最大特点是“只读”。同学们需要理解为什么Java要将字符串设置为只读的,字符串赋值的真正含义,如果的确需要一个能修改内容的字符串,应该选用哪个类。除此之外,还简要介绍了另几个与字符串处理相关的类。
到此为止,Java编程基础介绍完毕。后继的课程将系统介绍Java的面向对象特性,这些是重点内容,对同学们参与实际项目开发非常重要,必须扎实掌握。
第二部分 Java面向对象特性
第七讲 面向对象理论基础
本讲以一个小学数学题为例,讲解结构化方法与面向对象方法差异,并介绍了OOA、OOD和OOP的概念,对“愚公移山”这一传统故事从“软件开发”的视角进行重新解释,帮助同学们直观地了解面向对象软件的开发过程。第八讲 创建与使用类
类和对象是面向对象编程的两个核心概念,本讲介绍了Java面向对象编程中至关重要的内容:类的“模板”,原始数据类型与对象类型变量的内存模式,类的静态成员,类初始化块,包装类,特别地,在本讲的最后介绍了JDK所提供的一个字节码反汇编器javap,向同学们展示了使用javap分析代码的基本技巧。第九讲 包
主要介绍如何使用包中的类,如何自定义包,下载的资源中除了本讲相关资料外,还包括第五讲布置的作业参考答案。第十讲 继承、接口与多态
本讲介绍面向对象的核心特性,以一个“动物园”示例直观展示了多态应用于开发所带来的好处,并通过javap反汇编展示编译器是如何为多态代码生成字节码指令,而这些指令又是如何在运行时实现多态特性的。第十一讲 内部类
本讲内容比较简单,主要是Java的内部类特性。内部类在实际开发中用得较多,关键点在于了解清楚内部类如何访问外部类中的成员。第十二讲 异常处理
本讲介绍Java异常处理机制的基础知识,这部分内容比较重要,在实际开发中有广泛的应用。
第十三讲 对象组合与数据结构
本讲集中介绍Java面向对象编程的基本技巧,特别是如何使用Java实现常见的链表、队列、树等数据结构。用面向对象的思想编程实现各种数据结构,是每一名Java软件工程师所必须具备的基本技能。另外,本资源包中还包容了两个课程设计题目: 设计一个支持多级括号及运算符优先级的“四则运算计算器” 2 设计一个能求解线性方程组的程序
通过完成这两个程序设计题目,能充分锻炼同学们的开发能力,促进对数据结构与算法的学习。有关数据结构与算法的问题经常会成为大公司的面试题。第十四讲 对象集合
JDK中提供了数十个大大小小的对象集合类型,基本上能满足开发中的实际需求。但由于历史原因,JDK中的这些集合类在设计上存在着一些不合理的地方,包容了一些陷阱。本讲会涉及一些这方面的内容,同时展示如何通过阅读JDK源码理解Java集合类的特性,并帮助同学们“绕开”这些隐藏的陷阱。第十五讲 泛型程序设计
依稀记得在Java刚出来没多久时,记者采访Java之父——James Gosling,他说Java不打算引入泛型,但形势比人强,当一种语言被广泛使用时,原先觉得并不重要的功能反而突显出来,Java最终还是引入了泛型。但由于最初并未考虑泛型,所以JVM基本上对泛型是“无视”的,这导致javac不得不将泛型代码“翻译”为传统的代码。本讲介绍了Java泛型编程的特点,其中有关编译器翻译泛型代码的“擦除”原理是重点,理解它是把握Java泛型编程特性的关键。
到此为止,有关Java面向对象基本特性介绍完毕,后面将介绍JDK中另外一些比较深入的技术领域。
第三部分 深入Java技术领域
第十六讲 Java GUI界面设计与事件处理
本讲包容4个PDF文档以及数十个代码示例,系统地介绍了Java AWT与Swing开发GUI应用程序的基础知识。虽然由于性能问题,直接使用Java开发桌面应用相当罕见,但本部分所涉及到的知识却相当有用,特别是AWT事件处理模型,在实际开发中有广泛的应用,需仔细理解并把握。另外,有关容器的概念,有关布局管理器的功用,都能自然地延伸到Android应用开发领域。
JDk中有关Java 2D API部分的内容并未介绍,JavaFX和SWT也仅是提了一下,需要用到它们的同学请自学。第十七讲 文件与流操作
Java中存取文件内容是通过流对象实现的,而在J2EE开发中,很多技术都要应用流来传输与存储信息,因此掌握本讲的内容是进一步学习J2EE技术的前提。JDK中与流相关的类型有数十个,相当地繁杂,本讲选择了一些进行详细介绍,其余的只是提供一些实例供大家自行阅读。第十八讲 序列化
序列化是一个很重要的技术,它的主要用途是把内存中的对象保存到一个流中。其他领域的技术有很多都应用了序列化,因此,它也是必须掌握的内容。
第十九讲 反射
本讲包容3个内容:1 反射技术基础 2 JavaBean 3 注解。这三个技术在许多Java框架中用得很多。默认情况下,本讲用到的组件Eclipse中都已默认安装,为了方便起见,在资源包中也提供了独立的组件包,可以在Eclipse中添加到项目的Build Path中。
第二十讲 Ant
Ant是Java平台上一个非常优秀的自动化构建工具,简单易用同时又功能强大。本讲介绍Ant的相关知识。为了便于学习,我从Apache网站上下载了Ant 1.8.2的组件包、文档与源码,一并加入到了教学资源包中。
第二十一讲 多线程
在多核时代,多线程是所有Java开发者必须掌握的技能。本讲介绍了Java多线程开发的基础知识,并从JDK中选取典型的常用的组件(比如各种锁和线程安全的数据结构)进行了介绍。我从互联网上搜集到了一些公司面试的真实Java多线程试题,将它们作为教学实例一并加入到了教学资源包中,相信会对同学们顺利通过技术面试有所帮助。
到此为止,本学期有关J2SE部分的基础教学内容讲授完毕。作为Java平台技术的自然延伸,下一讲将介绍Android平发平台的基础知识。
第二十二讲 Android开发技术基础
包容4个PDF文档及若干个示例项目,主要介绍Android开发环境的搭建、Android应用的开发过程及Android编程中的核心概念,其目的主要是帮助学生初步了解Android平台,为其顺利进行Android开发打开大门。
至此,《Java技术及应用》课程全部更新完毕,这套教学资源汇集了我所读过的多本Java技术书籍以及多个在互联网上公开发布的其他网友奉献的技术资源,难于一一列举,特在此对奉献这些免费优质技术资源的人表示感谢。我个人主要完成的工作是,对这些庞杂的技术资源进行了整理与重构,便于教师教学和学生自学,希望我所发布的这些资料能给Java教师提供更丰富的教学资源,也能帮助广大初学者更有效率地学习和掌握软件技术。
谢谢大家!
第二篇:Java程序设计课程教案
Java使用教材:
程序设计课程教案(普通版)
Java程序设计教程,雍俊海主编,清华大学出版社,2007,国家十一五规划教材 主要参考书:
《Java语言程序设计》,郎波,清华大学出版社,2005年5月。《Java程序设计教程》,施霞萍等.机械工业出版社,2006 《Java编程思想第3版》,[美]埃克尔(Eckel,B.)著,陈昊鹏等译.机械工业出版社,2005J 《JAVA软件开发(第二版)》,Russel Winder&Graham Roberts著,窦巍 译,人民邮电出版社,2004.2 课程总体目标
本课程是软件工程专业开设的学科基础课。本课程的教学任务是通过Java程序设计的课堂讲授、课内实验,课外自主试验等教学环节,培养学生程序设计使用Java语言进行程序设计的基本能力,并且养成学生良好的编程习惯和规范的编程风格。使学生掌握较扎实的 Java 语言基础,理解面向对象程序设计的思想,为Java后续课程的学习打下坚实的基础。
课程的主要内容如下:
1、绪论
2、Java程序设计基础
3、Java面向对象程序设计
4、数组、字符串、向量和哈希表
5、泛型、枚举与for语句的简化写法
6、Java异常处理与递归
7、文件与数据流
8、Java图形用户界面程序设计
9、多线程程序设计
10、网络程序设计
第1章 绪论
一、教学目的和要求
了解Java语言的发展历史,Java语言的特点,学会安装配置Java开发环境,能够编译和运行Java程序。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
Java语言的发展历史 Java语言的特点
Java开发环境的安装与配置
Java程序开发过程以及命令行状态下编译与运行过程介绍
2、教学重点
Java语言的特点,开发环境配置,编译运行方法
3、教学难点
理解Java程序为什么能够一次编译到处运行;为什么要配置Path环境变量;编译与运行的注意事项。
4、解决办法
原理讲解,操作演示
5、学时分配
发展历史:0.5课时 Java语言的特点:0.5课时
Java开发环境的安装与配置:0.5课时
Java程序开发过程以及命令行状态下编译与运行过程介绍:0.5课时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,运行环境配置,编译运行Java程序则现场操作演示。
四、课外学习要求和作业要求
课外作业:要求下载JDK,自行安装配置并编译运行HelloWorld.java程序
第2章 Java程序设计基础
一、教学目的和要求
了解Java中数据的类型,表示方法,变量的声明,掌握使用标识符命名Java中各种成分的规定和规范;正确掌握表达式的书写方法;能够使用各种控制结构实现程序的逻辑;掌握结构化程序设计的思想和算法描述工具的使用。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
标识符和关键字 基本数据类型 常量和变量 数据类型转换 运算符:算术运算符、关系运算符、布尔逻辑运算符、位运算符、赋值类运算符、条件运算符等 表达式
程序流程控制语句:if和switch语句;for、while、do~while循环语句;break、Continue和return语句 结构化程序设计
2、教学重点
基本数据类型和类型转换,常量和变量,运算符与表达式,程序流程控制语句。
3、教学难点
数据类型转换;前缀自增、自减运算符与后缀自增、自减运算符的区别;程序流程控制语句。分支语句的嵌套;循环语句的嵌套;标号的概念与使用。
4、解决办法
原理讲解,操作演示
5、学时分配
标识符和关键字,基本数据类型,常量和变量:2学时 数据类型转换,运算符,表达式:1学时
程序流程控制语句,break、Continue和return语句:2学时 结构化程序设计:1学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求 课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。要求学会使用算法描述工具表示和设计程序的算法。
第3章 面向对象程序设计
一、教学目的和要求
了解面向对象程序设计基本思想,掌握类的设计方法、实例对象的创建与使用。了解变量作用域范围与参数传递方式。了解并能运用Java中面向对象的封装性、继承性、多态性;
掌握访问权限的控制方法,修饰词abstract、static和final的使用;掌握包、抽象类、接口、内部类的概念和使用方法。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
类和对象的基本概念。面向对象程序设计基本思想。
类的设计、构造方法、类的成员变量和成员方法。实例对象的创建与使用。
变量作用域范围与参数传递方式。继承性。
多态性:静态多态性和动态多态性。封装性和访问权限控制。
修饰词abstract、static和final。包的概念和使用 抽象类和接口。内部类。
2、教学重点
类的定义,对象的创建,构造方法的定义与使用,方法的重载与覆盖,类的继承,包,抽象类和接口。
3、教学难点
类与对象的概念、创建和使用;方法重载的规则;类的继承与运行时多态,类继承时对构造方法的处理问题,访问控制权限的使用;方法覆盖的规则;抽象类的应用,接口的应用;抽象类与接口的异同。
4、解决办法
原理讲解,操作演示
5、学时分配
类和对象的基本概念,面向对象程序设计基本思想:2学时
类的设计、构造方法、类的成员变量和成员方法,实例对象的创建与使用,变量作用域范围与参数传递方式:2学时
继承性,方法覆盖,多态性:静态多态性和动态多态性:2学时 封装性和访问权限控制,修饰词abstract、static和final,包的概念和使用:2学时
抽象类和接口,内部类:2学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排4个学时的课内上机实验。
第4章 数组、字符串、向量与哈希表
一、教学目的和要求
了解一维数据和多维数组的声明与使用,掌握遍历数组的方法,了解并能够使用字符串String的常用方法,掌握StringBuffer的用法,了解并掌握向量Vector,哈希表Hashtable、HashMap和WeakHashMap的用法。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
数组:一维数据和多维数组。字符串:String和StringBuffer。向量:Vector。
哈希表:Hashtable、HashMap和WeakHashMap。
2、教学重点
一维数组的使用,String和StringBuffer的构造方法和常见方法的使用,Vector类的使用,哈希表类的创建和使用。
3、教学难点
多维数组的声明和使用,数组的初始化方法,String和StringBuffer的使用方法的区别,哈希表类的使用。
4、解决办法
原理讲解,操作演示
5、学时分配
数组:一维数据和多维数组:1.5学时 字符串:String和StringBuffer:1学时 向量:Vector,哈希表:1.5学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。要求作业必须进行上机调试。
第5章 异常处理
一、教学目的和要求
了解异常的概念,异常类的层次结构;掌握异常的抛出、捕获和处理方法;能够自定义异常类并且使用自定义异常类。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
异常的概念。异常类的层次结构。异常的抛出、捕获和处理。自定义异常类
2、教学重点
异常的基本概念,异常的抛出捕获和处理,自定义异常类。
3、教学难点
异常的处理机制;Try-catch-finallly异常处理结构的执行流程特点;自定义异常类。
4、解决办法
原理讲解,操作演示
5、学时分配
异常的概念,异常类的层次结构:0.5学时 异常的抛出、捕获和处理:1学时 自定义异常类:0.5学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排一次课内上机实验。
第6章 文件与数据流
一、教学目的和要求
了解输入流与输出流的基本概念,掌握常见输入和输出流类的使用,掌握文件和随机存取文件的操作,了解读写器的使用方法,掌握对象序列化的概念。能够编写从键盘输入数据以及对磁盘文件进行读写的程序
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
输入流与输出流的基本概念。
常见输入和输出流类:InputStream和OutputStream,DataInputStream和DataOutputStream,FileInputStream和FileOutputStream,PrintStream, 带缓存的输入流和输出流。文件和随机存取文件。
读写器:Reader和Writer,FileReader和FileWriter,带缓存的读写器,PrintWriter。
对象序列化。
2、教学重点
输入输出流的基本概念,文件输入流和文件输出流,文件与目录管理,随机存取文件。
3、教学难点
字节流与字符流的选用,节点流与过滤流的配合使用,随机读写文件,对象序列化。
4、解决办法
原理讲解,操作演示
5、学时分配
输入流与输出流的基本概念,常见输入和输出流类的使用,过滤流的使用:2学时
文件和随机存取文件,读写器:Reader和Writer,FileReader和FileWriter,带缓存的读写器,PrintWriter,对象序列化:2学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排一次课内上机实验。
第7章 图形用户界面程序设计
一、教学目的和要求
了解基本组件和容器组件,掌握主要布局管理器的概念和使用方法,掌握事件处理机制及其实现方法,了解Swing的特点和类的层次结构,Swing常见组件和容器;掌握键盘和鼠标事件处理方法,了解高级图形用户界面:菜单、树、表格和多文档界面的编程方法;掌握Java的图形程序设计。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
AWT功能和类的层次结构。(选讲)AWT的基本组件和容器组件。(选讲)布局管理器。事件处理机制。
Swing的特点和类的层次结构。Swing常见组件和容器。键盘和鼠标事件处理。
高级图形用户界面:菜单、树、表格和多文档界面。
小应用程序:Applet的基本工作原理, Applet生命周期, Applet类中的重要方法, Applet编写方法和Applet与浏览器的参数传递。(选讲)Java的图形程序设计。
2、教学重点
常用的GUI组件和容器,布局管理器,事件处理机制,菜单和表格。
3、教学难点:
布局管理器的灵活应用,事件处理机制,表格处理。
4、解决办法 原理讲解,操作演示
5、学时分配
常用图形控件,基本组件和容器组件,布局管理器:2学时 事件处理机制:2学时
Swing的特点和类的层次结构,Swing常见组件和容器:2学时 键盘和鼠标事件处理:2学时
高级图形用户界面:菜单、树、表格和多文档界面:2学时
小应用程序:Applet的基本工作原理, Applet生命周期, Applet类中的重要方法, Applet编写方法和Applet与浏览器的参数传递。:2学时
Java的图形程序设计:2学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排4学时课内上机实验。
第8章 多线程程序设计
一、教学目的和要求
了解基本组件和容器组件,掌握主要布局管理器的概念和使用方法,掌握事件处理机制及其实现方法,了解Swing的特点和类的层次结构,Swing常见组件和容器;掌握键盘和鼠标事件处理方法,了解高级图形用户界面:菜单、树、表格和多文档界面的编程方法;掌握Java的图形程序设计。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
程序、进程、线程的概念。线程的创建。
线程的状态与线程的控制。线程优先级与线程调度。多线程的同步问题和处理方法。
2、教学重点
线程的创建、线程的控制与调度,多线程同步问题。
3、教学难点
两种创建线程的方法的区别,启动线程的start()方法与直接调用run()方法的区别,多线程同步问题和处理方法。
4、解决办法
原理讲解,操作演示
5、学时分配
程序、进程、线程的概念,线程的创建,线程的状态与线程的控制:2学时 线程优先级与线程调度,多线程的同步问题和处理方法:2学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排2学时课内上机实验。第9章 网络程序设计
一、教学目的和要求
了解基本组件和容器组件,掌握主要布局管理器的概念和使用方法,掌握事件处理机制及其实现方法,了解Swing的特点和类的层次结构,Swing常见组件和容器;掌握键盘和鼠标事件处理方法,了解高级图形用户界面:菜单、树、表格和多文档界面的编程方法;掌握Java的图形程序设计。
二、讲授的内容提要和重点、难点及其解决方法,学时分配
1、教学内容
基于URL获取网络资源 基于TCP的网络程序设计 基于UDP的网络程序设计
2、教学重点
基于URL获取网络资源,基于TCP的网络程序设计。
3、教学难点
支持多客户端/服务器端程序的设计与开发。
4、解决办法
原理讲解,操作演示
5、学时分配
基于URL获取网络资源:1学时 基于TCP的网络程序设计:1.5学时 基于UDP的网络程序设计:1.5学时
三、教学过程(教学方法、实施步骤)使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。
四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。
第三篇:《Java程序设计》课程简介
《Java程序设计》选修课简介
一、课程基本信息
课程名称:Java程序设计
英文名称:Java programming
课程类别:专业选修课
考核方式:考查
先修课程:离散数学、C语言、数据结构
学时:24
二、课程简介
Java语言是面向对象技术成功应用的著名范例,是目前最为流行的程序设计语言之一(长期占据编程语言使用排名的前2位),其集良好的跨平台性、安全性和OO特征,使之得到了广泛的支持和应用。本课程旨在介绍Java语言的基本知识,训练Java标准版本(J2SE)的编程基本功,建立面向对象的编程思维框架。通过本课程的学习,使同学掌握面向对象程序设计的基本概念与方法,掌握以Java 语言为基础的面向对象编程技术,初步掌握以Java为核心的应用软件开发。教学内容包括:Java语言绪论、Java语言的基本要素、Java语言结构化程序设计、Java 面向对象技术、Java输入输出、Java常用基础类、Java界面设计与多媒体技术、Java多线程、Java数据库编程和Java网络编程等。教材:1.李卫华编著.Java技术及其应用.清华大学出版社,2009,ISBN :
9787302198796.Java程序设计课程简介
本课程是计算机相关专业的主要程序设计课程。Java语言是目前广为流行的面向对象程序设计语言之一,适用于网络上编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专业课程。通过学习本课程,应能准确完整地理解Java语言的语法、语义规则;掌握Java语言的数据类型、表达式及控制流程;运用面向对象程序设计思想,正确的阅读、分析程序和设计程序,掌握面向对象程序设计方法,提高程序设计能力,以适应计算机软件开发不断发展的需要。
本课程分别介绍了Java的语言基础、面向对象结构、基本输入输出、增强性能类、收集与数据结构应用、图形用户界面及桌面应用、小程序及多媒体应用、JDBC与数据库应用、JavaBeans及组件应用、网络与Web服务应用等方面的内容,而且与各种应用结合起来介绍,使学生了解新技术后很快可以用到实际程序开发中。
第四篇:【Java程序设计】课程教学大纲
【Java程序设计】课程教学大纲
第一部分 课程基本信息
【课程代码】 【学分】
【参考学时】 108学时 【讲授学时】 72学时 【实验学时】 36学时 【课程性质】 任选课 【课程基础】 计算机基础
【适应对象】 计算机、信息管理信息系统、电子商务、自动化 【教学目的】
了解国际上最新的计算机编程设计思想,并能初步运用Java技术和基本开发工具进行计算机软件代码设计。培养学生用面向对象程序设计思想和逻辑思维方式进行计算机编程研究,启发学生的创新意识,提高学生在软件设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。【内容提要】
本课程从面向对象的基本概念入手,介绍Java语言的主要特征和编程方法,包括:面向对象的程序设计思想;简单Java程序的开发过程;数据运算、流控制和数组、Java的类、包和接口、深入理解Java(涉及Java的变量传递、多态和虚方法调用,以及对象的构造和销毁);异常处理;Java的工具类和常用算法;Java的多线程;输入/输出流及基于文本的应用;图形用户界面等内容。
第二部分 主要教学内容和基本要求
第1章 引论
第一节 面向对象的程序设计 第二节 Java语言的发展历史 第三节 Java目前的主要应用 第四节 Java语言的特点 第五节 Java与C++的比较 第六节 Java程序工作机制 第七节 JDK的安装 第八节 Java应用程序举例 【基本要求】
一、熟练掌握每种程序的基本结构。
二、掌握Java程序的工作机制;Java程序包含应用程序和小应用程序两种不同类型。
三、了解J2SDK开发环境,及开发Java程序的过程;了解Java程序设计语言的特性;了解Java与C++两种语言的不同。
四、实践教学要求:掌握Java环境的基本参数配置和运行简单Java程序。【参考学时】4学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第2章 Java语言基础
第一节 标识符、保留字、分隔符、注释
一、Java标识符、二、Java保留字、分隔符 第二节 变量和数据类型
一、常量和变量
二、数据类型
三、表达式和运算符
四、简单的输入输出 【基本要求】
一、熟练掌握各种简单数据类型的使用;运算符和表达式的使用;Java程序简单的输入输出方法。
二、掌握标识符的定义规则。
三、了解常用的保留字和分隔符。
四、实践教学要求:掌握Java各种数据类型、运算符和表达式在程序中的应用。【参考学时】4学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第3章 控制结构
第一节 流程控制分类 第二节 选择语句
一、if语句
二、switch语句 第三节 循环结构
一、for 语句
二、while语句
三、do-while 语句 第四节 跳转控制语句
一、break语句
二、continue语句
三、return语句 【基本要求】
一、熟练掌握选择和循环语句的使用。
二、掌握跳转语句的使用。
三、实践教学要求:在程序中使用选择、循环和跳转语句来解决不同的问题。【参考学时】4学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第4章 类和对象
第一节 面向对象的基本概念
一、抽象
二、封装
三、对象 第二节 类
一、类的定义
二、构造函数 第三节 方法
一、方法定义
二、方法的调用
三、Java API中的方法 第四节 访问控制符
一、公共访问控制符public
二、缺省访问控制符
三、私有访问控制符private
四、保护访问控制符protected
五、私有保护访问控制符private protected 第五节 静态修饰符、静态字段和方法
一、静态修饰符、静态字段、静态常量
二、静态方法、main方法 第六节 抽象类与抽象方法
一、抽象类
二、抽象方法
第七节 最终类、最终属性、最终方法与终结器
一、最终类
二、最终属性、最终方法 【基本要求】
一、熟练掌握Java程序的结构;类的定义;方法的定义、调用;构造函数的使用。
二、掌握什么是抽象、封装和对象;Java中访问控制符的作用;Java中的静态修饰符、静态字段、静态方法。
三、了解Java中的抽象类、抽象方法和Final修饰符。
四、实践教学要求:学会使用面向对象的程序设计方法来设计程序。【参考学时】12学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第5章 深入面向对象程序设计 第一节 继承的概念 第二节 扩展类
一、继承关系定义
二、类的继承;属性继承与隐藏;方法继承、覆盖与重载 第三节 多态与动态绑定
一、多态、动态绑定
二、父类对象与子类对象的使用与转化 第四节 构造函数的继承与重载
一、构造函数的继承和重载
二、构造函数的使用 第五节 包
一、包用途、创建包
二、包引用
三、Java API包 第六节 接口
一、接口概念
二、接口声明、接口的实现 【基本要求】
一、熟练掌握类、方法的继承;多态和重载。
二、掌握包的创建和引用;接口的定义和实现。
三、了解继承的思想;包的用途。
四、实践教学要求:在程序中使用继承的思想来模块化程序、简化程序,学会包的使用
【参考学时】12学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第6章 异常处理
第一节 异常处理基础
一、异常的类型
二、Java的内置异常、未被捕获的异常 第二节 try和catch语句
一、try和catch的使用
二、使用多重catch语句、嵌套try语句 第三节 异常抛出
一、throw语句
二、throws语句 第四节 finally语句 第五节 自定义异常类 【基本要求】
一、熟练掌握try和catch语句的使用;自定义异常类的方法。
二、掌握异常处理的一般结构和异常的抛出方法。
三、了解Java的异常机制;Finally语句的作用。
四、实践教学要求: 掌握在程序中添加异常的方法 【参考学时】8学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第7章 字符、字符串、数组
第一节 字符
一、Character类的构造函数
二、Character类提供的常用方法 第二节 字符串
一、字符串常量与String类
二、字符串变量与StringBuffer类 第三节 数组
一、数组的创建和初始化
二、数组的数组、复制数组、数组类Arrays 【基本要求】
一、熟练掌握String和StringBuffer类的对象创建以及常用的方法;数组的具体用 法。
二、掌握Character类的构造函数和方法。
三、了解数组的数组、复制数组、数组类Arrays。
四、实践教学要求:掌握字符串变量与StringBuffer类在程序中的应用;掌握不同类型数组的应用
【参考学时】8学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第8章 Applet 第一节 Applet概述
一、Applet的类层次及框架结构
二、Applet的生命周期、主要方法
三、Applet和HTML、第二节 Applet的应用
一、Applet的执行
二、AWT绘制基础、在Applet中输出文字、在Applet中使用颜色、在Applet中绘制图形
第三节 Applet的通信 【基本要求】
一、熟练掌握Applet中各种方法的使用。
二、掌握Applet的一些具体应用。
三、了解了解Applet的运行机制。
四、实践教学要求:能够使用Applet小程序在网页中实现各种功能。【参考学时】8学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第9章 图形用户界面设计 第一节 GUI包 第二节 布局管理器
一、FlowLayout布局管理器、BorderLayout布局管理器、GridLayout布局管理器、CardLayout布局管理器、GridBagLayout布局管理器、swing布局管理器、Null布局管理器
第三节 事件处理
一、事件处理模型
二、事件处理方法
三、事件适配器 第四节 常用组件
一、常用容器组件:标签(JLabel)、按钮(JButton)、文本框、复选框-JCheckBox、单选按钮-JRadioButton、列表框-JList、组合框-JComboBox、滑块-JSlider菜单、对话框 【基本要求】
一、熟练掌握Java中事务处理的方法。
二、掌握布局管理器的使用常用组件的使用方法。
三、了解java.awt包和javax.swing包所包含的内容。
四、实践教学要求:能够熟练根据要求设计相应的图形用户界面。【参考学时】12学时 【参考资料】
1、印旻编著.Java与面向对象程序设计教程.北京:高等教育出版社
2、Ivor Horton编著.Java2编程指南.北京:电子工业出版社
3、邓子云编著.JSP网络编程从基础到实践(第2版).北京电子工业出版社
第五篇:JAVA程序设计课程总结
JAVA程序设计课程总结
专业:计算机科学与技术 学号: 姓名:
JAVA程序设计课程总结
经过一学期的java学习,我在老师的上课讲解以及自己的课下学习中对java编程有了一定的了解,我深深喜欢上了这种语言。培养了我正确应用面向对象的思维方法分析问题和解决问题的能力。
学习的内容主要分为以下几个部分:(1)java程序的编辑,编译,运行环境
(2)java语言程序设计中最基本的问题,即标识符,关键字,数据类型,常量,变量,表达式,声明语句,赋值语句,数据的输入与输出等。(3)流程控制语句,即分支语句,循环语句,转移语句。
(4)控制研究对象复杂性的原则,即分类,抽象,封装和继承,多态等。(5)数组的定义。(6)高级GUI组件的应用。
其中我对类与继承了解较多。一.类
在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,泽类文件的名称可以为任意的名称,但不能是数字开头的名称。在类内部对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则java会保证类的每个成员变量都得到恰当的初始化:
1)对于char、short、byte、int、long、float、double等基本数据类型的变量来说会默认初始化为0,bolean变量默认会被初始化为false; 2)对于引用类型的变量,会默认初始化为null。
3)如果没有显示地定义构造器,则编译器会自动创建一个无参构造器,注意:如果显示地定义了构造器,编译器就不会自动添加构造器,所有的构造器默认为static的。
初始化顺序为:当程序执行时,需要生成某个类的对象,Java执行引擎会先检查是否加载了这个类,如果没有加载,则先执行类的加载再生成对象,如果已经加载,则直接生成对象。在类的加载过程中,类的static成员变量会被初始化,另外,如果类中有static语句块,则会执行static语句块。static成员变量和static语句块的执行顺序同代码中的顺序一致。在Java中,类是按需加载,只有当需要用到这个类的时候,才会加载这个类,并且只会加载一次。例如:
运行这段代码就会发现“欧阳”只会被打印一次。在生成对象的过程中,会先初始化对象的成员变量,然后再执行构造器。也就是说类中的变量会在任何方法调用之前得到初始化,即使变量散步于方法定义之间。
二.继承
在java中使用extends关键字来表示继承关系,当创建一个类时,总是在继承,如果没有明确指出要继承的类,就总是隐式的从根类Object进行继承。例如:
类Number继承于Student类,Student类称为父类(基类),Number类称为子类(导出类)。如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量。在java中,只允许单继承,也就是说 一个类最多只能显示地继承于一个父类。但是一个类却可以被多个类继承,也就是说一个类可以拥有多个子类。1.子类继承父类的成员变量
当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下: 1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量; 2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承; 3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用。
2.子类继承父类的方法
子类也并不是完全继承父类的所有方法。1)能够继承父类的public和protected成员方法;不能够继承父类的private成员方法; 2)对于父类的包访问权限成员方法,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;
3)对于子类可以继承的父类成员方法,如果在子类中出现了同名称的成员方法,则称为覆盖,即子类的成员方法会覆盖掉父类的同名成员方法。如果要在子类中访问父类中同名成员方法,需要使用super关键字来进行引用。
注意:隐藏是针对成员变量和静态方法的,而覆盖是针对普通方法的。
3.构造器
子类是不能够继承父类的构造器,如果父类的构造器都是带有参数的,则必须在子类的构造器中显示地通过super关键字调用父类的构造器并配以适当的参数列表。如果父类有无参构造器,则在子类的构造器中用super关键字调用父类构造器不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。例如:
这样的代码是没有问题的,如果把父类的无参构造器去掉,则下面的代码必然会出错:
改成下面这样就行了:
4.Super super主要有两种用法: 1)2)super.成员变量/super.成员方法;super(parameter1,parameter2....)第一种用法主要用来在子类中调用父类的同名成员变量或者方法;第二种主要用在子类的构造器中显示地调用父类的构造器,要注意的是,如果是用在子类构造器中,则必须是子类构造器的第一个语句。
以上就是我掌握较好的点,但是其中也有很多我没有考虑到的地方。很感谢老师陪我度过了一个愉快的学期,老师的教学方法(即实例与理论结合)也是我所认可的,能接受的,相信我在以后的工作生活中会越来越好。