Java语言程序设计实验大纲.docx
- 文档编号:12368331
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:44
- 大小:33.77KB
Java语言程序设计实验大纲.docx
《Java语言程序设计实验大纲.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计实验大纲.docx(44页珍藏版)》请在冰豆网上搜索。
Java语言程序设计实验大纲
《Java语言程序设计》实验教学大纲
一、课程说明:
通过本课程的学习,使学生了解并掌握Java语言的基本概念、语法和面向对象的重要特性,培养学生使用Java语言进行编程序的基本技巧和方法,为今后进行网络程序设计打下良好的基础。
二、教学目的及要求:
教学目的:
本课程的任务是通过实验系统地向学生讲授Java语言程序设计方法,并通过实验上机验证和分析Java语言的特点及其功能,使学生熟练掌握面向对象程序设计的基本方法和技巧。
培养学生较强的动手实践能力,严密的逻辑思维能力和严格的工程素养。
教学要求:
要求学生能编写Java语言的源程序,学会编制流程框图,具备利用Java语言编制和调试一个结构合理、清晰易懂、层次分明、算法正确的实用程序的能力。
通过每一个实验,学习和养成良好的编辑程序的习惯,具备基本的程序员素养。
三、教学重点及难点:
重点:
Java编程,面向对象的编程,网络编程
难点:
面向对象的编程,网络编程
四、与其它课程的关系:
先修课程:
《计算机应用基础》,《C语言程序设计》
后续课程:
《JavaEE程序设计》、《Java企业级项目实训》
五、学时、学分:
18学时,0.5学分
1、实验一简单Java程序调试1学时
掌握Java程序设计编程环境Jcreator的参数设置与掌握运行一个Java程序设计的基本步骤,包括编辑、编译、连接和运行。
掌握Java语言程序设计的基本框架,能够编写简单的c程序。
2、实验二Java符号与表达式使用1学时
掌握Java语言的运算符和表达式的正确使用以及Java语言的基本数据类型和基本表达式的使用方法。
掌握Java转义字符、自动类型转换和强制类型转换,输出语句的使用,容易出错的运算符等。
3、实验三分支程序设计1学时
掌握Java语言if语句的使用和嵌套的特点,掌握条件的表达技巧,掌握switch语句的使用和从键盘上获取数据的方法。
4、实验四循环程序设计1学时
熟练掌握三种循环语句的使用,掌握break和continue语句的使用,了解如何利用求余和删除一个整除获取和删除一个整数的最低位,掌握累加和累乘的处理方法;掌握技术问题的编程技巧,如何控制每行输出元素个数。
5、实验五方法设计2学时
熟练方法的定义与调用关系,理解方法定义的优势,加深对方法的参数传递与返回类型的理解,了解递归的概念及实现特点。
6、实验六数组的使用2学时
熟练掌握一维和二维数组的定义存储分配方法,数组赋值的方法,熟悉利用循环实现数组的赋值、输出及处理的编程方法,了解命令行数组的使用,熟悉数组参数的传递方法。
7、实验七类与对象编程2学时
了解类的成员设计,掌握类与对象的关系,理解静态方法和实例方法的使用差异。
8、实验八继承与多态1学时
理解类的继承,掌握变量的隐藏、方法覆盖的概念,理解引用类型的变量的赋值转换原则,理解多态概念、掌握方法的匹配调用原则,理解抽象类与接口的使用,理解this和super的含义和使用,理解访问控制符的使用。
9、实验九常用系统类的使用1学时
掌握字符串处理方法,了解Math类的数学方法的使用,熟悉各种数据类型包装类的使用,了解Vector类的使用。
10、实验十Applet编程1学时
熟悉Applet的生命周期及其方法执行特点,掌握Applet图形绘制方法,如何控制图形输出的坐标位置变化,掌握Applet参数传递方式,熟悉字体和颜色的控制方法,了解Applet图像显示和声音传播方法,了解双缓冲区的应用,改进图像显示效果。
11、实验十一图形用户界面编程1学时
掌握图形用户界面的布局设置;掌握事件驱动编程的特点,如何区分事件源;掌握文本框、文本域、标签、按钮等部件的操作方法;掌握鼠标与键盘事件编程;了解菜单等其他图形部件的使用。
12、实验十二异常处理1学时
掌握异常处理的编程特点;了解Java异常类分类层次,常见系统异常;了解自定义异常的定义方法及方法异常抛出与处理。
13、实验十三流式输入输出与文件处理1学时
掌握字节流和字符流的特点和处理差异;掌握过滤流的使用;掌握File类的使用;掌握随机文件的使用;掌握对象系列化的概念以及访问文件时对象读写方法。
14、实验十四多线程编程1学时
掌握多线程编程的特点;了解多线程的调度和执行过程;掌握资源共享访问的实现方法。
15、实验十五数据库应用1学时
了解JDBC驱动程序、ODBC配置方法方法;掌握常见JDBCAPI的使用,Connection接口,Statement接口,ResultSet接口;掌握JDBC实现数据库基本操作,数据查询,select语句,记录集的遍历,数据库的更新;了解PreparedStatement类的使用。
六、教学内容:
实验一简单Java程序调试
实验目的:
1、掌握Java程序设计编程环境Jcreater的参数设置与掌握运行一个Java程序设计的基本步骤,包括编辑、编译、连接和运行。
2、掌握Java语言程序设计的基本框架,能够编写简单的Java程序。
实验内容:
1、设置环境变量。
以XP为例,在“我的电脑”上点鼠标右键,打开“属性”→“高级”→“环境变量”→“系统变量”,选中变量“Path”进行编辑,在后面加入“C:
\j2sdk1.4.2\bin”,注意:
这里的目录“C:
\j2sdk1.4.2”是安装Java的目录。
2、打开命令提示符窗口,输入“Javac”命令按回车键,如果出现命令的使用参数说明,则表示设置正确,如果出现非法命令的错误提示,则应该重新设置。
3、编程应用程序输出如下三角形。
并显示一个短句“thisismyfirstJavaprogram.”。
*
***
*****
*******
publicclassStar
publicstaticvoidmain(Stringa[])
{
System.out.println(“*”);
System.out.println(“***”);
System.out.println(“******”);
System.out.println(“*********”);
System.out.println(“thisismayfistJavaprogram.”);
4、编写Applet程序绘制一个红色三角形,三角形中央绘制蓝色文字“三角形”。
Applet程序
importjava.awt.*;
importjava.applet.Applet;
publicclasstriangeextendsApplst{
publicvoidpaint(Graphicsg){
g.setColor(Color.red);\\设置画笔颜色为红色
g.drawLine(80,20,20,100);
g.drawLine(20,100,140,100);
g.drawLine(140,100,80,20);
g.setColor(Color.blue);\\设置画笔颜色为蓝色
g.drawString(“三角形”,65,80);
}
}
HTML文件
实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
实验二Java符号与表达式使用
实验目的:
1、掌握Java语言的运算符和表达式的正确使用以及Java语言的基本数据类型和基本表达式的使用方法。
2、掌握Java转义字符、自动类型转换和强制类型转换,输出语句的使用,容易出错的运算符等。
实验内容:
1、调试分析以下程序的运行结果:
publicclasstest{
publicstaticvoidmain(Stringa[]){
intm=10;
System.out.println(“m++=”+m++);
System.out.println(”++m=”+(++m));
Booleanx;
x=(5>3)&&(4==6);
System.out.println(”x=”+x);
m=rn%2;
System.out.println(”result=”+m+1);
inty=m*m+2*m-1;
System.out.println(”m=”+m+",y=”+y);
}
}
2、已知梯形的上底为3,下底为5,高为2.4,求其面积。
publicclassArea{
publicstaticvoidmain(Stringa[]){
doublex=3;//上底
doubley=5;//下底
doublez=2.4;//高
doubles=(x+y)*z/2;//计算面积
system.out.println(“面积=”+s);
}
}
实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
实验三分支程序设计
实验目的
1、掌握Java语言if语句的使用和嵌套的特点;
2、掌握条件的表达技巧;
3、掌握switch语句的使用和从键盘上获取数据的方法。
实验内容
1、从键盘输入X,根据以下情形求y的值:
y=0;当x<=0时
y=2x+1;当0 y=x2-1;当x>=5时 程序1: importjava.io.*; publicclassFxy{ publicstaticvoidmain(Stringargs[]) { doublex=0,y; BufferedReaderbr=newBufferedReader(newInputStreamRcader(System,in)); try{ Strings=br.readLine(); x=Double.parseDouble(s); }catch(IOExcetione){} if(x<=0) y=0; e1se if(x<5) y=2*x+1; else y=x*x-1; system.out.println(“y=”+y); } } 程序2: publicclassFxy{ publicstaticvoidmain(Stringargs[]) { doublex,y; x=Double.parseDouble(args[0]); if(x<=0) y=0; if(x>0&&x<5) y=2*x+1; if(x>5) y=x*x-1; system.out.println(“y=”+y); } } 2、输人一个学生的成绩,给出相应的等级(分别用if和、witch语句实现)。 85分及以上为A级;70分及以上为B级;60分及以上为C级;60分以下为D级。 程序3: PublicclassScore{ publicstaticvoidmain(Stringargs[]){ ints=Integer.paresInt(args[]); if(s<60) System.out.println(“D”); elseif(s<70) System.out.println(“C”); elseif(s<85) System.out.println(“B”); else System.out.println(“A”); } } 程序4: PublicclassScore{ publicstaticvoidmain(Stringargs[]){ ints=Integer.paresInt(args[0]); intx=s/10; switch(x) case0: case1: case2: case3: case4: case5: System.out.println(“D”);break; case6: System.out.println(“C”);break; case7: case8: if(s<85){System.out.println(“B”);break;} case9: case10: System.out.println(“A”);break; } } } 实验报告要求 将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验四循环程序设计 实验目的 1、熟练掌握三种循环语句的使用; 2、掌握break和continue语句的使用; 3、了解如何利用求余和删除一个整除获取和删除一个整数的最低位; 4、掌握累加和累乘的处理方法; 5、掌握技术问题的编程技巧,如何控制每行输出元素个数。 实验内容 1、输入一批学生成绩,以-1作为结束标记: (1)统计这批学生中,不及格、及格、中等、良好、优秀的人数。 (2)求这批学生的平均分。 程序1: importJava.io.*; publicclassScore{ publicstaticvoidmain(Stringargs[])throwsIOException{ ints=0,b=0,c=0,d=0,e=0,f=0;//变量赋初值 BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in)); inta=Integer.parselnt(br.readLine());//读取一个整数 while(a! =-1){ s+=a;//累加 switch(a/10){ case0: casel: case2: case3: case4: case5: b++;break;//计数增1 case6: c++;break; case7: d++;break; case8: e++;break; case9: f++;break; } a=Integer.parseInt(br.readLine()); } system.out.println(“优秀人数: ”+f); system.out.println(“良好人数: ”+e); system.out.println(“中等人数: ”+d); system.out.println(“及格人数: "+c); system.out.println(“不及格人数: "+b); intaverage=s/(b+c+d+e+f);//求平均成绩 System.out.println(“平均分="+average); } } 2、找10~100之间能被3或5整除的数,每行输出5个数。 程序: publicclassA{ publicstaticvoidmain(Stringarge[]){ intk=10;//循环控制变量,从10变化到100 intm=0;//用于统计输出数的个数 while(k<=100){//循环的终值为100 if(k%3==0||k%5==0){//被3或5整除 m++; System.out.print(k+”\t”); if(m%5==0)//控制每隔5个输出数换一行 System.out.println(); } k++;//循环控制变量增值 } } } 3、计算算式: 1+21+22+23+…+2n。 (注: n由键盘输入) 程序1 publicclassTwoadd{ publicstaticvoidmain(Stringargs[]){ intn=Integer.parseInt(args[]); longsum=l; for(intk=1;k<=n;k++){ sum=sum+(long)Math.pow(2,k);//用Math类的pow方法求2k } System.out.println(“result=”+sum); } } 程序2 publicclassTwoadd{ publicstaticvoidmain(Stringargs[]){ intn=Integer.parselnt(args[0]);//从命令行输入n longsum=1;//保存累加和 longx=1;//被加项 for(intk=l;k<=n;k++){ x=x*2;//求下一个被加项时,只要在前一项的基础上乘2 sum=sum+x; } System.out.println(“result=”+sum); } 4、从键盘输入一个长整数,求其各位数字之和。 publicclassfang{ publicstaticvoidmain(Stringargs[]) inta,m=0; a=Integer.parselnt(args[0]);//从命令行输入a while(a>0){ m+=a%10;//累加计算各位数字 a=a/10; System.out.print(a+“的各位数字之和=”+m); } } 实验报告要求 将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验五方法设计 实验目的 1、熟练方法的定义与调用关系; 2、理解方法定义的优势,加深对方法的参数传递与返回类型的理解; 3、了解递归的概念及实现特点。 实验内容 1、编制一个按参数提示从键盘获取一个字符串的方法,利用该方法读取两个整数,求这两个整数之间具有最多因子的数。 注: 一个数的因子是指能除尽该数的数,包括1和自身。 程序 importjava.io.*; publicclassmanyfactor{ publicstaticvoidmain(Stringa[]){ intx=Integer.parselnt(inputString(“整数l: ”)); inty=Integer.parselnt(inputString(“整数2: ”)); if(x>y){//交换x,y的值 inttemp=x; x=y; y=temp;//让x中存放小者,y中存放大者 } /*以下找x到y之间拥有因子最多的数*/ intnumber=count(x);//记录因子的最多数量,先假设x的因子数最多 intn=x;//记录拥有最多因子的那个数 for(intk=x+1;k<=y;k++){//循环求各个数的因子,看谁因子数最多 intm=count(k);//求k的因子数 if(number n=k; number=m; } } System.out.println(“最多因子的数是: ”+n+”,有因子”+number+“个”); } /*统计n的因子数量*/ publicstaticintcount(intn){ intfactor=1;//1是n的因子,所以数量初值为1 for(intk=2;k<=n;k++) if(n%k==0) factor++;//找到一个因子,则因子个数增1 returnfactor; /*从键盘输入一个字符串的方法,在输入数据前先显示参数规定的提示信息*/ publicstaticStringinputString(Stringhint){ Stringx=null; BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in)); System.out.print(hint); try{ x=br.readLine(); }Catch(IOExceptione){} returnx; } } 2、编写一个程序找出100一1000之间的所有姐妹素数。 注: 姐妹素数是指相邻两个奇数均为素数。 程序 publicclassSisterPrime{ publicstaticvoidmain(Stringargs[]){ for(intn=101;n<=1000;n+=2) if(isPrime(n)&&isPrime(n+2))//相邻两个数均为素数 System.out.println(“\t”+n+”\t”+(n+2)); } /*判断一个数n是否为素数的方法 如果n为素数,则方法返回结果为true,否则返回false*/ staticbooleanisPrime(intn){ for(intk=2;k if(n%k==0) returnfalse;只要遇到一个数能够整除即判断不是素数 } returntrue;//循环结束,说明没有数能除尽n } } 实验报告要求 将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验六数组的使用 实验目的 1、熟练掌握一维和二维数组的定义存储分配方法,数组赋值的方法; 2、熟悉利用循环实现数组的赋值、输出及处理的编程方法; 3、了解命令行数组的使用,熟悉数组参数的传递方法。 实验内容 1、利用随机函数产生16个随机整数给一个4*4的二维数组赋值。 (l)按行列输出数组。 (2)求最外一圈元素之和。 (3)求主角线中最大元素的值及其位置。 程序 publicclasssum{ publicstaticvoidmain(Stringargs[]){ inta[][]=newint[4][4]; ints=O;//计算和 /*用随机函数给数组赋值,*/ for(inti=O;i for(intj=0;j a[i][j]=(int)(Math.random()*10); /*按行列输出数组*/ for(inti=O;i for(intj=O;j System.out.print(“\t”+a[i][j]); System.out.println(); } /*求最外一圈元素之和*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 实验 大纲
![提示](https://static.bdocx.com/images/bang_tan.gif)