Java程序设计实验教案-.pdf
攀枝花学院 Panzhihua University 教案20112012 学年度第二学期课 程 名 称 Java 程序设计课程实验学 时(学 分)14(1)适 用 班 级计本、网本、信本专业授 课 教 师范胜波教 师 职 务助教教 学 单 位计算机学院教务处制实验教案编写说明1、实验教案的编写要求参照攀枝花学院教案编写规范(攀院教200704 号)执行。2、实验教案格式可按附后“实验教案”格式采用手写或打印。3、实验教案的基本内容可包括:教学目的与要求、教学重点与难点、仪器设备及用具、教学过程(含实验预习检查实验原理及方法仪器设备介绍实验内容及注意事项实验指导要点检查实验结果)、实验预做记录(含原始实验数据记录数据处理及结果分析)、实验预习要求、实验报告要求、参考书目、后记等相关内容。4、实验教案编写应在坚持教案编写基本要求的基础上,充分考虑教师自身条件和学科的差异,针对教师、学科、学生以及教学情景的不同,编写出形式多样,能体现教学风格、具有特色的教案,促进教案的创新。5、教案编写水平的高低,很大程度上取决于教师钻研教材与实验方法,研究学生实际状况和设计教学方法的水平,取决于教师对本学科知识掌握的深度和广度以及教师教育思想的端正更新。因此,教师应努力提高自身素质,提高教师教案编写水平。实验教案(首页)实验课程名称Java 程序设计课程实验实验学时16 独立设课非独立设课实验课类别1.基础2.专业基础3.专业4.其它任课教师范胜波职称助教授课对象年级:专业:班级:本科专科教材和主要参考资料1 雍俊海.Java 程序设计.清华大学出版社.2004 2 美H.M.Deitel/P.J.Deitel.Java 程序设计教程.清华大学出版社.2004 3 美Bruce Eckel 著陈昊鹏等译.Java 编程思想.机械工业出版社.2005 4 王胜捷编著.JAVA 程序设计.中国铁道出版社.2002 5 美Cay S.Horstmann 著 叶乃文等译.Java 2 核心技术卷I:基础知识.机械工业出版社.2006 6 美Mary Campione 著 马朝晖等译.Java 语言导学.机械工业出版社.2003 教学目的和教学要求JAVA 程序设计是计算机科学与技术专业的专业基础课,它是网络时代广泛使用的面向对象的编程语言,它具有可移植性、稳定性、安全性、多线程机制等众多优点,具有非常高的技术性能。上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节正确理解和熟练掌握JAVA 语言的基本知识和基本技能,培养面向对象的程序设计思想和程序设计方法及能力。教学重点和教学难点Java面向对象编程、集合的应用教学进程安排课次实验项目(实验内容)学时备 注1 Java 程序的开发环境搭建及基本使用2 2 Java 语言基本元素2 3 面向对象编程基础4 4 集合的使用4 5 JDBC 编程2 第页实 验 教 案课题(项目)名称:Java 程序的开发环境搭建及基本使用计划学时:2 实验类型:1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期:年月日第周星期第节实验目的1.学习 JDK的开安装和配置2.学习 eclipse的安装和基本使用3.练习编写基本的Java 程序实验要求1.掌握 JDK的安装和配置2.掌握 JCreator 的安装和基本使用3.掌握 Java 程序编写的基本方法4.理解 Java 程序编译和运行的基本过程实验内容与步骤1.JDK的安装及基本使用(1)下载 JDK的安装文件(http:/)(2)按照安装软件提示进行安装(3)配置 path 和 classpath(4)测试(A)javac 命令 (B)java命令(5)编写 HelloWorld.java程序,编译并运行2.Eclipse安装(1)下载 Eclipse(2)解压安装3.Eclipse使用(1)设置工程区(选择自己的目录哦!)(2)建立项目 Project*(*代表学号后 4 位)(3)创建 cn.pzhu.java.s*.exp1.HelloWorld类,并运行4.简单程序编写在包 cn.pzhu.java.s*.exp1下创建 (1)编写程序输出如下字符(StarDemo.java)*(2)创建一个类(包括至少一个属性和方法),并使用此类创建对象,尝试使用此对象的属性第页和方法。思考与练习:(1)了解,总结 eclipse中的快捷第页实 验 教 案课题(项目)名称:Java 语言基本元素计划学时:2 实验类型:1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期:年月日第周星期第节实验目的1.验证 8 种原始数据类型数据的赋值操作2.流程控制语句的使用实验要求1.掌握原始数据类型的初值以及基本的赋值操作2.掌握流程控制语句的使用实验内容与步骤1.完成如下程序,并尝试取消注释片的代码,编译测试在包 cn.pzhu.java.s*.exp2下创建如下程序/Assign.java/public class Assign public static void main(String args)/1.Declare and Assign int a;a=100;System.out.println(a=+a);int b=100;System.out.println(b=+b);int c=a;System.out.println(c=+c);/2.boolean boolean flag=true;/boolean flag=1;/erro System.out.println(flag=+flag);/3.text type/char cA=A;/char cA=A;char cA=65;System.out.println(cA=+cA);String s1=Hello world;String s2=Hello n world;第页System.out.println(s1=+s1);System.out.println(s2=+s2);/4.integer type byte iA=100;/byte iB=200;short iC=1000;int iD=10000;long iE=1000;/int iF=10000L;System.out.println(iA=+iA+n+iC=+iC+n+iD=+iD+n+iE=+iE+n);/5.floating-point type float fA=3.14F;/float fB=3.14;double fC=3.14;double fD=3.14D;double fE=2E2;double fF=123.4E+306D;System.out.println(fA=+fA+n+fC=+fC+n+fD=+fD+n+fE=+fE+n+fF=+fF+n);/2、使用 for、while、do,while 分别实现在 n!,并在 n=10的情况下测试建议编写三个独立的方法3、编写测试代码测试“|”和“&”短路现象4.编写如下代码并运行/MainArgs.java/public class MainArgs public static void main(String args)for(int i=0;imoney)this.balance-=money;System.out.println(withdraw:+money+ok,Operator:+operator);System.out.println(Current Account Balance:+this.balance);System.out.println(Save Account change to database);else System.out.println(withdraw:+money+erro.Because of not enough balance);else 第页System.out.println(Password Erro);(2)编写测试类,完成如下(1)中类方法的测试2.继承的实现(1)按如下类图编写代码 参考代码 class Person String id;String name;String age;public void sleep()System.out.println(I am Person,I am sleeping);public void eat()System.out.println(I am Person,I am eating);class Student extends Person String sno;public void study()System.out.println(I am Student,I am studying);第页 class Teacher extends Person String tid;public void tech()System.out.println(I am Student,I am taching);(2)编写测试类并创建main()方法,完成如下操作A分别创建 Person、Student、Teacher 对象,完成属性和每个方法的调用测试B在 Student和 Teacher中完成 eat()方法的重写C编写类型转化示例(向上类型转化、向下类型转化)3.多态现象在完成(2)中 Student、Teacher 类 eat()方法重载后,在测试类中编写如下代码并在main()方法中调用static void askAllToEat(Person ps)for(int i=0;i24记录显示出来(9)编写修改记录操作的代码(10)编写删除一条记录的代码参考代码:import java.sql.*;public class DBSample private static Connection getConnection()throws SQLException Connection conn=null;conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=UTF-8,root,123456);return conn;public static void queryDemo1()String sql=select*from customers;Connection conn=null;Statement st=null;第页ResultSet rs=null;try conn=getConnection();st=conn.createStatement();rs=st.executeQuery(sql);while(rs.next()System.out.println(ID:+rs.getInt(ID);System.out.println(Name:+rs.getString(Name);System.out.println(Age:+rs.getInt(age);System.out.println(Phone:+rs.getString(Phone);System.out.println(=n);catch(SQLException e)System.out.println(Exception:+e.getMessage();finally try if(rs!=null)rs.close();if(st!=null)st.close();if(conn!=null)conn.close();catch(Exception e)public static void queryDemo2()String sql=select*from customers where Age?;Connection conn=null;第页PreparedStatement pst=null;ResultSet rs=null;try conn=getConnection();pst=conn.prepareStatement(sql);pst.setInt(1,20);rs=pst.executeQuery();while(rs.next()System.out.println(ID:+rs.getInt(ID);System.out.println(Name:+rs.getString(Name);System.out.println(Age:+rs.getInt(age);System.out.println(Phone:+rs.getString(Phone);System.out.println(=n);catch(SQLException e)System.out.println(Exception:+e.getMessage();finally try if(rs!=null)rs.close();if(pst!=null)pst.close();if(conn!=null)conn.close();catch(Exception e)public static void modifyDemo()第页String insertSQL=insert into Customers(Name,Age,Phone)values(Test01,34,111199999);String updateSQL=update Customers set Name=Test02 where ID=4;String deleteSQL=delete from Customers where ID=4;Connection conn=null;Statement st=null;try conn=getConnection();st=conn.createStatement();/int effectRec=st.executeUpdate(insertSQL);/int effectRec=st.executeUpdate(updateSQL);int effectRec=st.executeUpdate(deleteSQL);if(effectRec0)System.out.println(effectRec+Record modifed.);catch(SQLException e)System.out.println(Exception:+e.getMessage();finally try if(st!=null)st.close();if(conn!=null)conn.close();catch(Exception e)public static void main(String args)System.out.println(DataBase Operation Demo);try 第页Class.forName(com.mysql.jdbc.Driver);catch(ClassNotFoundException e)System.out.println(Driver Class:com.mysql.jdbc.Driver not found.);modifyDemo();queryDemo1();/queryDemo2();思考与练习:编写如下界面的数据库应用程序,并实现界面上所列菜单项的操作