资源描述
-教案首页课程名称JAVA程序设计课程类型专业课程使用教材教材名称:Java程序设计主编:陈占伟*旭:*大学出版日期:2014年 4 月学时分配共学时,其中理论学时,实践学时。课程教学目的与要求Java 不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的编程语言之一。目前,Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门根底语言,因为很多新的技术领域都涉及到了Java语言,国内外许多大学已将Java语言列入了本科教学方案,掌握Java已经成为共识。Java程序设计是软件工程专业、计算机科学与技术等相关专业的一门重要的程序设计语言课程。教学目的:通过本课程的学习,要求学生到达:1、理解Java的平台无关、面向对象、多线程等特性。2、掌握Java语言的面向对象的程序设计方法。3、掌握Java中的网络编程、多线程程序设计、GUI设计等编程技巧。4、培养学生应用Java解决和处理实际问题的思维方法与根本能力。课程教学的根本要求1要求掌握的根本知识Java语言的语法知识,Java中的网络编程、多线程程序设计、图形用户界面设计等编程技巧。2要求掌握的根本理论和方法Java语言的面向对象的程序设计方法,使用Java语言完成应用程序的开发。主要参考书目ruce Echkel,Java编程思想第4版,机械工业,2007耿祥义,Java 2实用教程第4版,清华大学 2012备注课程教案: 1 授课内容Java语言概述及开发环境搭建课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求使学生了解Java语言的开展历史使学生掌握环境变量的设置、使用及Java程序的运行方式教学重点与难点环境变量的设置与使用Java程序的运行教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.Java语言简介1.1起源于开展1.2特点:1简单性2面向对象3平安性与可靠性4分布式5强健性6构造中立7多线程8半编译半解释9高性能10动态11与平台无关性1.3Java语言的应用2.Java运行环境的安装2.1安装JDK 2.2开发工具简介2.3环境变量的设置3.程序开发过程3.1Application程序public class hello public static void main(String args) System.out.println(“Hello world!); 编译:javac hello.java java 运行:java hello 3.2Applet程序 import java.awt.*; import java.applet.*; public class hello e*tends Applet public void paint(Graphics g) g.drawString(“Hello world!,20,100); 作业/思考题:搭建JAVA开发环境及运行第一个JAVA程序。教学后记:课程教案: 2 授课内容Java语言根底课型理论实践授课学时2教学方法与手段讲授+演练教学目的与要求了解Java语言的数据类型,运算符及表达式教学重点与难点数据类型的转换教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.Java语言根本元素1.1标识符 Java语言中用于定义常量、变量、方法及类对象名称的字符串集合。 1.2关键字关键字是Java编译程序本身所规定使用的专用词,有特定的语法含义。1.3分隔符用来使编译器确认代码在何处分隔,有注释符、空白符和普通分隔符3种。2.数据类型2.1根本数据类型boolean(1)、byte(8)、char(16)、short(16)、int(32)、long(64)、float(32)、double(64)2.2直接量与常量2.3变量类型 =,=3.运算符与表达式3.1赋值运算符与表达式3.2算术运算符与表达式3.3关系运算符与表达式3.4逻辑运算符与表达式3.5条件运算符与表达式3.6位运算符与表达式3.7运算符的优先级与结合性单目优于双目优于三目算术优于关系优于逻辑优于条件优于赋值除单目、条件与赋值运算符为右结合外,其余运算符均为左结合。作业/思考题: JAVA与C在使用上的区别教学后记:课程教案: 3 授课内容Java语言的程序构造及数组课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求了解并掌握Java流程控制教学重点与难点循环构造与跳转语句教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.Java程序构成Java由包的声明、包的引入和类的定义三局部构成。2.顺序构造语句按照出现的先后顺序依次执行。3.选择构造3.1if语句if(表达式) 语句块 3.2if-else语句if(表达式) 语句块1 else 语句块2 3.3if-else if语句if(表达式1) 语句块1 else if(表达式2) 语句块2 else if(表达式n) 语句块n else 语句块n+1 3.4switch多分支语句 switch(表达式) case 数值1:语句块1 break; case 数值2:语句块2 break; case 数值n:语句块n break; defaul:语句块n+1 4.循环构造 4.1while循环while(条件表达式) 语句块循环体;循环控制变量增减值;4.2dowhile循环do 语句块循环体循环控制变量增减值; while(条件表达式);4.3for循环 for(赋初值;判断条件;循环控制变量增/减) 循环体; 4.4循环嵌套5.跳转语句5.1break语句用途:1用于退出switch语句。2强行突出循环,继续执行循环外下一条语句。3退出带有语句标号的语句块。5.2continue语句Continue语句只能用于循环构造中,用于完毕本次循环,继续下一次循环。5.3return语句用于使程序从方法中返回到调用处。作业/思考题:练习跳转语句的使用与嵌套循环。教学后记:课程教案: 4 授课内容面向对象的概念与类的定义课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求了解面向对象的概念并掌握类的定义教学重点与难点类的成员变量与成员方法教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.面向对象的根本概念1.1对象状态和行为的结合体信息世界中的对象是现实世界中对象的抽象模型,它被定义为相关数据和方法的集合,使用数据和方法描述其在现实世界中的状态和行为,一般通过变量描述其状态,通过方法实现其行为。 1.2类一个独立的程序单位,有一个类名并包括属性说明和方法说明两个主要局部。 1.3消息构成消息的三个要素:承受消息的对象、承受消息后进展处理的方法及方法所需要的参数。1.4面向对象的根本特征1继承性2封装性3多态性2.类的描述 2.1类的定义修饰符 class 类名 e*tends 父类名 implements 接口名 类体 2.2类的构造方法及应用构造方法特殊性:1构造方法名与类名一样。2构造方法不返回任何值,也没有返回类型。3每一个类可以有零个或多个构造方法。4构造方法在创立对象时自动执行,一般不能显式地直接调用。3.成员变量3.1成员变量的声明 =,= 3.2成员变量的访问权限 public、protected、默认的、private 3.3static变量用static关键字声明的成员变量时静态变量,也称为类的成员变量,而非静态变量称为实例变量。3.4final变量关键字final修饰的成员变量在程序运行中将不能被改变,及final修饰的成员变量是常量。4.成员方法4.1方法的定义 public|protected|privatestaticfinal|abstract nativesynchroniczed 返回值类型方法名称类型参数1,类型参数2.4.2方法调用与参数传递方式实参传给形参有值传递与地址传递两种方式。4.3方法的重载多个方法享有一样的名字4.4成员方法的修饰1final方法最终方法,该方法不允许被继承。2abstract方法抽象方法,该方法不能产生类对象。3static方法静态方法,该方法可通过类名直接调用作业/思考题:编写一个“管状灯实例对象,该灯瓦数为32,长度为50;白色灯光,状态为开。教学后记:课程教案: 5授课内容对象的创立与类的继承和多态课型理论实践授课学时2教学方法与手段讲授+演练教学目的与要求学会创立和使用类对象,并学会使用类的继承了解多态的概念教学重点与难点类的继承、多态的理解教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.对象1.1对象的创立类名对象变量名=new 类名(参数列表) 1.2对象的使用对象名.成员变量对象名.成员方法1.3释放对象Java有垃圾收集器,可自动扫描对象的动态内存区,把没有引用的对象作为垃圾收起起来并释放也可以使用System.gc()手动请求Java的垃圾回收。1.4匿名对象匿名对象没有对象名,对它的使用是一次性的,使用完马上就变成垃圾。2.类的继承2.1继承的概念继承表示存在于面向对象程序中的两个类之间的一种关系,当一个类自动拥有另一个类的所有属性和行为时,两个类之间具有继承关系。被继承的泪称为父类/超类/基类,继承了父类的类称为子类。2.2创立子类类修饰符 class 子类名 e*tends 父类名 成员变量定义;成员方法定义; super关键字代表父类对象,this关键字代表当前类对象,可用super( )来调用父类构造方法。2.3成员变量的隐藏和成员方法的覆盖子类重新定义一个与父类哪里继承来的成员变量完全一样的变量,称为成员变量的隐藏。方法的覆盖是指子类重新定义从父类中继承来的同名方法。2.4类与类之间的数据类型转换1子类父类自动类型转换2父类子类强制类型转换2.5抽象类抽象方法:abstract 返回类型方法名( );含有抽吸行方法的类为抽象类: abstract class类名作业/思考题:完成指导书上的实战题目。教学后记:课程教案: 6 授课内容接口、包和异常课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求掌握并学会使用接口、包和异常掌握方法的重写教学重点与难点接口、异常、方法重写教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.接口1.1接口概述接口是一种完全没有实现的类,在接口中只包含抽象方法和常量定义。1.2接口的定义修饰符 interface e*tends publicstaticfinal =; publicabstract ; 1.3接口的实现class implements 接口名1,接口名2,1.4接口和抽象类的区别1抽象类中可定义成员变量和成员方法,其中可含有非抽象的成员方法。接口中只能定义常量和没有实现的方法。2一个类只能继承一个抽象类,但一个子类可以实现多个接口。 2.包2.1Java系统包 java.lang java.io java.awt java*.swing java.util java.applet 2.2自定义包 ;2.3类的保外引用import .;import .*3.异常处理3.1根本概念异常是程序运行过程中发生的异常事件,而不是编译时的语法错误。 3.2异常分类3.3异常处理子类try /被监视代码块 catch( ) /异常类1处理代码块 catch( ) /异常类n处理代码块 finally /try完毕前被执行的代码块 3.4throw语句 3.5throws语句 3.6自定义异常类 作业/思考题:自定义完成接口的定义、实现。教学后记:课程教案: 7 授课内容多线程程序设计课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求了解线程概念理解线程的状态学会多线程程序的设计教学重点与难点线程的创立教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.线程的概念1.1程序、进程及多任务1.2线程比进程跟小的运行单位,是程序中单个顺序的流控制,一个进程可以被划分成多个线程。1.3Java对多线程的支持2.线程的创立 2.1通过继承Thread类创立线程public Thread( ) public Thread(String name)public Thread(Runnable target) public Thread(Runnable target,String name) public Thread(ThreadGroup group,Runnable target) public Thread(ThreadGroup group , String name) public Thread(ThreadGroup group , Runnable target,String name) class 线程的类名 e*tends Thread pulbilc void run() 程序语句 2.2通过实现Runnable接口创立线程3.线程的状态与控制3.1线程的状态1创立状态2可运行状态3运行中状态4阻塞状态5死亡状态 3.2线程状态的控制1sleep( )方法2yield( )方法3join( )方法4wait( )和notify( )/notifyAll( )方法5与中断有关的方法4.线程的优先级和调度线程的优先级用整数110表示,最低为1,最高为10,默认为5。public static final int NORM_PRIORITY=5 public static final int MIN_PRIORITY=1 public static final int MA*_PRIORITY=10 5.线程的同步机制与共享资源synchronized 作业/思考题:用Thread类和Runnable接口实现一个自定义线程教学后记:课程教案: 8 授课内容常用集合接口课型理论实践授课学时2教学方法与手段讲授+演练教学目的与要求掌握各种字符串的处理方式教学重点与难点掌握集合类(List、Map)的使用。能够熟练使用Collection接口及其实现类(ArrayList类、LinkedList类、Vector类)。String与StringBuffer类的使用教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.集合a) 集合是将多个元素组成一个单元的对象;b) 类似于数组,但数组最大的缺点是:长度受到限制一经创立,就不可再改变,并且只能存放一样数据类型的元素;c) 集合的长度没有限制,可以存放任意多的元素,而且元素的数据类型也可以不同;d) 集合还提供一系列操纵数据的方法,如存储、检索等等。2.字符串根底知识字符串就是一个或多个文本字符在内存中的连续排列。创立字符串对象:3.1创立String对象public String() public String(String value) public String(char value ,int offset,int count) public String(StringBuffer buffer) public String(byte bytes ,Charset charset) 3.2StringBuffer对象的创立1默认构造函数 public StringBuffer( ) 2设置容量大小 public StringBuffer(int length) 3初始化字符串 public StringBuffer(String str) 4.使用String类4.1求字符串长度可使用String类中的length( )方法。4.2连接字符串用“+运算符连接两个String类型对象。4.3比拟字符串“=比拟对象引用是否一样。“equals比拟对象内容是否一样。4.4搜索和截取字符串inde*Of(String str)inde*Of(String str,int inde*)lastInde*Of(String str) lastInde*Of(String str,int fromInde*) substring(int beginInde*) substring(int beginInde*,int endInde*) 4.5搜索和截取字符charSt(int inde*) inde*Of(int ch) inde*Of(int ch,int fromInde*) 4.6修改字符串replace(char oldChar,char newChar)3.7toString()方法及其他String方法5.使用StringBuffer类5.1把字符串添加到缓冲区。5.2把字符串插入到缓冲区。5.3从缓冲区中获取。5.4修改缓冲区中字符串。5.5求缓冲区容量和字符串。作业/思考题:编写一个程序,建立一个String类型对象,其中包括给定的一段英文,从英文中提取每个单词并按字母顺序将其进展排序,显示排序后的单词列表.教学后记:课程教案: 9 授课内容Java输入输出流和文件的读写课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求掌握根本的输入输出流学会使用常见的文件输入输出流教学重点与难点Java的标准输入输出教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.流的根本概念在Java中,流是用类来描述的。java.io包为数据读取和写入提供了不同的输入和输出流,还包含了许多流过滤器。 2.Java的标准输入输出为了支持标准输入和输出设备,Java定义了两个流对象:System.in对象和System.out对象。3.字节流和顺序文件的读写3.1InputStream类和OutputStream类3.2字节文件流FileInputStream类和FileOutputStream类4.字符流4.1Reader类和Writer类4.2字符文件流FileReader和FileWriter类4.3字符缓冲流BufferedReader和BufferedWriter类5.文件类5.1文件File类5.2RandomAccessFile类作业/思考题:编写一个java类,其构造函数可以接收文件路径,并能够产生该路径下的所有文件的名称排序列表。教学后记:课程教案: 10 授课内容数据库编程课型理论实践授课学时2教学方法与手段讲授+演练教学目的与要求理解JDBC 及其工作原理掌握使用JDBC进展数据库编程的步骤教学重点与难点理解JDBC工作原理掌握使用JDBC进展数据库编程的方法与步骤教学过程设计包括导入语、主要内容、时间安排、提问或举例等1JDBC根底及工作原理介绍2JDBC 数据库编程根底。l 建立数据源l 数据库记录的查询l 数据库记录的插入3管理程序的设计与实现演示程序,讲解程序要点,并带着学生进展程序设计。创立源文件StudentInfo.java,按下面步骤完成程序。第1步:导入相关包第2步:创立类StudentInfo,完成程序主界面和主框架.第3步:连接数据库第4步:实现浏览实战演练1:完成课本上的实战演练,让程序运行起来。第5步:完成编辑对话框第6步:实现增加、删除和修改功能实战演练2:完成课本上的实战演练,测试增加记录功能。第7步:完成查询对话框第8步:实现查询功能作业/思考题:教学后记:课程教案: 11 授课内容网络编程课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求掌握网络编程根本知识掌握TCP效劳器端与客户端的通信掌握UDP效劳器端与客户端的通信教学重点与难点TCP和UDP的概念TCP和UDP的通讯原理教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.网络通讯过程a) 在网络通讯中,第一次主动发起通讯的程序就是客户端Client程序,而在第一次通讯中等待连接的程序就是效劳器端(Server)程序。b) 一旦通讯建立,则客户端和效劳器端完全一样,没有区别2.C/S构造和B/S构造a) C/S:客户端/效劳器端必须要有专用的客户端才能正常使用,如QQ软件等b) B/S:浏览器/效劳器端不需要专用的客户端软件就可以正常使用,只需要有一款浏览器即可,如各种、各种网页游戏等.3.TCP与UDP1) TCP协议a) 传输控制协议,提供可靠无过失的数据传输2) UDP协议a) 用户数据报协议,不可靠的数据传输3) Socket简介a) Socket套接字是网络驱动层提供应应用程序的接口和机制b) Socket是TCP网络编程的核心,发送接收消息都需要使用Socket4.根底网络类InetAddress a) InetAddress类用于表示计算机IP地址,包含IP地址和域名相关的操作方法 b) 在编程中经常使用InetAddress类的对象构造IP地址。也可以直接使用字符串来代表IP地址。c) 主要方法getByName(String host) 通过主机名或IP地址得到一个InetAddress对象getHostName() 获取IP地址对应的主机名getHostAddress() 返回IP地址字符串5.TCP网络编程步骤a) 效劳器程序创立一个ServerSocket,然后再用accept方法等待客户来连接;b) 客户端程序创立一个Socket并请求与效劳器建立连接;c) 效劳器接收客户的连接请求,并创立一个新的Socket与该客户建立虚拟连接;d) 刚刚建立了连接的两个Socket在一个线程上对话;e) 效劳器开场等待新的连接请求。6.Socket类a) TCP协议网络程序中,需提供效劳器端程序和客户端程序b) 效劳器端调用ServerSocket类的accept()方法监听客户端的请求c) 连接一旦建立,就可以进展数据传输。此功能由JAVA IO实现,只需要从连接中获得输入流和输出流即可:将需要发送的数据写入连接对象的输出流中,在发送完成后从输入流中读取数据即可。作业/思考题:编写一个Socket案例,需要实现效劳端和客户端。教学后记:课程教案: 12 授课内容GUI课型理论实践授课学时4教学方法与手段讲授+演练教学目的与要求了解GUI。了解AWT与Swing。教学重点与难点Swing常用的控件GUI布局教学过程设计包括导入语、主要内容、时间安排、提问或举例等1、 GUI的概念(1) 到目前为止,我们在C和Java中编写的都是基于控制台的程序;(2) GUIGraphical User Interface即图形用户界面,它能够使应用程序看上去更加友好;(3) GUI是施乐公司提出,由苹果与微软公司将其发扬光大。 (4) Java的GUI包括AWTSwing、SWTJFace 2、 AWT简介 (1) 实现GUI编程是由一系列图形化组件来完成的即一系列定义好的类,这些组件也被称为控件; (2) 在Java的早期版本中,GUI组件由名为AWTAbstract Window Toolkit,抽象窗口工具包的标准库来提供;(3) AWT发布过程过于匆忙,据称开发过程仅三个月,bug太多,依赖底层操作系统,是重量级的3、常用的根本Swing组件 (1) 在Swing编程中,有一些经常要使用到的组件,其中包括:(2) JFrame窗体,框架 (3) utton按钮 (4) JLabel标签(5) JTe*tField文本框4、 java*.swing.JFrame (1) JFrame组件用于在Swing程序中创立窗体;(2) JFrame类的构造方法有4种重载方式,以下是常用的几种:JFrame();JFrame(String title);5、 JPanel容器(1) JPanel是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内。(2) JPanel只能存在于其他的容器(Window或其子类)中,一般被放入Frame中(3) JFrame可以被划分为假设干个JPanel,然后在JPanel上进一步进展组件的布局;(4) 面板的默认布局管理器是FlowLayout布局管理器;(5) 不能为JPanel设置标题。作业/思考题:编写一个窗体实现类,大小400*300,点关闭的可以完毕程序。教学后记:课程教案: 13 授课内容常用类课型理论实践授课学时2教学方法与手段讲授+演练教学目的与要求了解java.util包。能够熟练运用如下类进展Java编程教学重点与难点Date类、Calendar类、Random类的使用教学过程设计包括导入语、主要内容、时间安排、提问或举例等1、 java.util包简介。a) java.util包是Java内置的一个工具包,其中包含一系列常用的工具类;b) 如处理日期和日历的类以及一些集合类;c) java.util包不会默认导入,如果要使用到该包中的类,则必须在程序的开场局部显式地声明如下语句: import java.util.*;2、Date类a) Date类对象用来表示时间和日期;b) 该类提供一系列操纵日期和时间各组成局部的方法;c) Date类最多的用途是获取系统当前的日期和时间。(3) Calendar类a) Calendar类也是用来操作日期和时间的类,但它可以以整数形式检索类似于年、月、日之类的信息;b) Calendar类是抽象类,无法实例化,要得到该类对象只能通过调用getInstance方法来获得;c) Calendar对象提供为特定语言或日历样式实现日期格式化所需的所有时间字段。(4) Random类a) Random类专门用来生成随机数b) 该类的构造方法有2种重载方式。作业/思考题:编写一个日期使用类,使用Date的Date(int year, int month, int date) 构造方法,构造当前日期,并打印输出.求出当前日期自1970年1月1日起的已经有多少天了。教学后记:课程教案: 14 授课内容记事本软件课型理论实践授课学时4教学方法与手段教授+小组讨论教学目的与要求了解软件开发流程。培养团队协作能力。培养学生的软件文档的撰写能力。教学重点与难点指导学生进展课程的小组讨论,帮助他们理顺思路和工程的业务逻辑。GUI技术的运用。教学过程设计包括导入语、主要内容、时间安排、提问或举例等2个学时讲述记事本软件的实现思路以及展示程序实现;2个学时完成报告的检查,过程中由教师补充和总结。分组讨论安排:1. 应用GUI技术,编写一个记事本软件,具备如下功能(1) 文件操作:新建、翻开、保存、另存为、退出(2) 编辑:撤消、剪切、复制、粘贴、删除(3) 格式:自动换行(4) 帮助:关于完成需求文档、设计文档。2.学生自由组队,每组3-5人,并指派一名组长。3.完成软件的详细设计报告。4.由小组长汇报软件的设计报告。作业/思考题:教学后记:课程教案: 15 授课内容复习课型理论实践授课学时4教学方法与手段讲授教学目的与要求复习本课程学习的知识并进展总结教学重点与难点学生提问答疑教学过程设计包括导入语、主要内容、时间安排、提问或举例等1.Java语言概述2.Java语言根底3.Java程序语句和流程控制4.Java面向对象程序设计5.Java接口、包和异常6.字符串处理7.Java的输入输出8.Java多线程设计9.创立用户界面10.数据库编程作业/思考题:教学后记:. z.
展开阅读全文