




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计实训指导书Java程序设计实训指导书西京学院前言Java程序设计适用专业包括软件技术、计算机应用技术、计算机网络技术、软件技术(软件测试)、电子商务专业等专业。通过实训使学生加深对JAVA基本理论知识的理解,巩固课堂教学内容。以培养学生的实际操作能力为基本目标,学生经过一学期的系统训练后,能基本掌握Java语言的编程思想,能独立编写Java程序,并为后续课程的学习打下良好的基础。目录实训一 简单Java程序调试1实训二 Java语言基础3实训三 分支语句8实训四 循环语句10实训五 数组12实训六 类与对象14实训一 简单Java程序调试一、实训目的1.掌握下载和安装JDK开发工具的方法。2.熟悉JDK开发工具的使用。3.学习编写简单的Java Application和Java Applet程序。4.了解Java程序的基本组成结构;5.了解Java 语言的概貌、了解Java源代码、字节码文件、掌握Java程序的编辑、编译和运行过程。6.为学习Java 语言和进行Java 程序的实验做好准备工作。二、实训内容编写简单的Java Application和Java Applet程序,编译并运行这两个程序。三、实训学时(4学时)四、实训步骤1.下载,安装JDK下载地址为JAVA官方站点:。在这里我们也提供了JDK1.4.2的下载。在Windows下,直接运行.exe文件,安装到一个目录,这里用C:j2sdk1.4.2作为例子。安装完毕后,打开系统属性窗口,点“高级”,然后点击“环境变量”按钮,显示如下窗口:在系统变量这一栏里选定Path,然后点“编辑”按钮,在弹出的对话框加入;C:j2sdk1.4.2bin,安确定退出,并重新启动计算机。2.测试环境(1)用文本编辑器写一个简单的java程序: public class HelloWorld public static void main(String args) System.out.println(Hello World!); 这个例子的功能就是显示“Hello World”。注意:该文件名称必须为“HelloWorld.java”,大小写也区分。(2)编译:在DOS命令提示符下执行:(注意大小写) javac HelloWorld.java 如果正常的话,将生成HelloWorld.class文件。(3)运行:在DOS命令提示符下执行:(注意大小写) java HelloWorld结果如下:一定要注意不要输入:java HelloWorld.class,否则会出现下面的错误:Exception in thread main java.lang.NoClassDefFoundError:HelloWorld/class好了,运行java HelloWorld应该会出现“Hello World”了。到这一步,你已经成功安装好了JDK。3.编写并运行一个Java Application程序a) 打开一个纯文本编辑器,键入如下程序:/简单的Java Application程序:SimpleJavaApplication.javaimport java.io.*; public class SimpleJavaApplication public static void main(String args) System.out.println(A Simple Java Application Program!); b) 检查输入无误后把文件保存起来,命名为SimpleJavaApplication.java,如保存到c:javaExperiment目录下。进入命令行方式,在保存上述文件的目录下运行Java编译器。c:javaExperiment javac SimpleJavaApplication.javac) 如果J2SE安装正确,程序输入无误,保存的文件名正确,则运行编译器无任何输出,否则会输出错误信息,一般都是由于拼写错误引起的,在DOS下用DIR查看是否在同目录下生成了一个名为SimpleJavaApplication.class的文件。d) 利用Java解释器运行这个程序,并查看运行结果。c:javaExperiment java SimpleJavaApplication.java4.编写并运行一个Java Applet程序 a) 打开一个纯文本编辑器,键入如下程序:/简单的Java Application程序:SimpleJavaApplet.javaimport java.awt.Graphics;import java.applet.Applet;public class SimpleJavaApplet extends Appletpublic void paint(Graphics g)g.drawString(A Simple Java Applet !, 15 , 20);b) 检查无误后保存为SimpleJavaApplet.java,可以保存到c:javaExperiment下。c) 进入命令行方式,在保存上述文件的目录下运行Java编译器。c:javaExperiment javac SimpleJavaApplet.javad) 如果J2SE安装正确,程序输入无误,保存的文件名正确,则运行编译器无任何输出,否则会输出错误信息,一般都是由于拼写错误引起的,在DOS下用DIR查看是否在同目录下生成了一个名为SimpleJavaApplet.class的文件。5.编写配合Applet 的HTML文件a) 打开一个纯文本编辑器,键入如下程序: SimpleJavaAppletb) 检查无误后命名为SimpleJavaApplet.html,与文件SimpleJavaApplet.class保存到用一个目录下。c) 直接双击HTML文件的图标,或打开WEB浏览器,在地址栏里输入全路径名(c:javaExperiment SimpleJavaApplet.html)察看运行结果。d) 利用模拟的Applet运行环境解释运行这个Java Applet 程序并观察运行结果。 C:Appletviewer SimpleJavaApplet.html五、实训考核方法正确配置开发环境占20%;顺利完成Java程序的编写、编译占70%;正确执行相应的程序占10%。实训二 Java语言基础一、实训目的1.掌握标识符的定义规则。2.掌握表达式的组成。3.掌握Java 基本数据类型及其使用方法。4.理解定义变量的作用,掌握定义变量的方法。5.掌握各种运算符的使用及其优先级控制。6.通过以上内容,掌握Java 语言的编程规则。二、实训内容1.声明不同数据类型的变量2.了解变量的使用范围3.使用关系运算符和逻辑运算符4.使用表达式语句与复合语句5.编写字符界面的Java Application接收用户输入的一个字符,并把该字符打印在屏幕上。6.编写图形界面的Java Applet,其中包括一个按扭、一个文本域和一个标签。当用户在文本域中输入若干字符并单击按扭时,将用户输入的字符显示在标签上。7.编写图形界面的Java Application,完成与第6项任务相同的功能。三、实训学时(12学时)四、实训步骤1.声明不同数据类型的变量,代码如下:public class LX2_1 public static void main(String args) byte b=0x55;short s=0x55ff;int i=1000000;long l=0xffffL;char c=a;float f=0.23F;double d=0.7E-3;boolean B=true;String S=这是字符串类数据类型;System.out.println(字节型变量 b = +b);System.out.println(短整型变量 s = +s);System.out.println( 整型变量 i = +i);System.out.println(长整型变量 l = +l);System.out.println(字符型变量 c = +c);System.out.println(浮点型变量 f = +f);System.out.println(双精度变量 d = +d);System.out.println(布尔型变量 B = +B);System.out.println(字符串类对象 S = +S);2.了解变量的使用范围,代码如下:public class LX2_2 static int i=10;public static void main(String args) int k=10;System.out.println(i=+i);System.out.println(k=+k);System.out.println(i=+i);System.out.println(k=+k);/编译时将出错,已出k 的使用范围3.使用关系运算符和逻辑运算符,代码如下:class LX2_3 public static void main(String args) int a=25, b=20, e=3, f=0;boolean d=ab;System.out.println(a=25,b=20,e=3,f=0);System.out.println(因为关系表达式 a5)System.out.println(因为e 非0 且a/e 为8 大于5,所以输出 a/e +a/e);if (f!=0 & a/f5)System.out.println(a/f = +a/f);elseSystem.out.println(因为f 值为0,所以输出 f = +f);4.使用表达式语句与复合语句,代码如下:(1)建立包含表达式语句程序,源代码如下。class LX2_4public static void main(String args) int k, i=3, j=4;k=20*8/4+i+j*i;System.out.println(表达式(20*8/4+i+j*i)+k);(2)建立包含复合语句程序,源代码如下。class LX2_5public static void main(String args) int k, i=3, j=4;k=i+j;System.out.println(在复合块外的输出 k=+k);float f;f=j+4.5F;i+;System.out.println(在复合块内的输出 f=+f);System.out.println(在复合块内的输出 k=+k);System.out.println(在复合块外的输出 i=+i);5.编写字符界面的Java Application接收用户输入的一个字符,并把该字符打印在屏幕上。代码如下:import java.io.*;pulic class SimpleCharInOutpublic static void main(String args)char ch = ;/定义字符型变量System.Out.print(Enter a character please:);/在屏幕上显示提示信息trych=(char)System.in.read();/接收用户键盘输入的字符并保存catch(IOException e); /在变量ch中System.Out.println(Youve entered character;+ch);/输出ch字符6.编写图形界面的Java Applet,其中包括一个按扭、一个文本域和一个标签。当用户在文本域中输入若干字符并单击按扭时,将用户输入的字符显示在标签上。代码如下:import java.applet.Applet;imprtt java.awt.event.*;public class SimpleGraphicsInOut extends Applet imlements ActionListenerLabel prompt; /定义显示提示信息的标签对象TextField input; /定义接受用户键盘输入的文本区域对象Label output; /定义回显用户输入的标签对象public void init();/定义浏览器打开Applet后的初始操作prompt=new Label(Enter a character please:);/创建提示标签input= new TextField(3); /创建输入区域output=new Label( ); /创建输入标签add(prompt); /将提示标签加入图形界面add(input); /将输入区域加入图形界面input.addActionListener(this);add(output); /将输出标签图形界面public void actionPerformed(ActionEvent e)/定义对用户输入的响应/在输出标签回显输入output.setText(Youve entered character:+input.getText();7.编写图形界面的Java Application,完成与第6项任务相同的功能。代码如下:import java.awt.*; /引入ava.awt包中的所有类import java.awt.event.*;public class GraphicsAppInOut /定义主类GraphicsAppInOut/创建对象MyFrame,形成图形界面public static void main(String args)/定义main()方法/创建对象MyFrame,形成图形界面ApplicFrame MyFrame=new ApplctFrame();class ApplctFrame extends Frame/定义Frame类的子类ApplctFrameimplements ActionListenerLabel prompt; /定义提示标签对象TextField input; /定义输入单行文本区域对象Label output; /定义输出标签对象ApplctFrame() /对ApplctFrame对象初始化super(Applicaton Graphics Frame);/调用父类方法指定图形界面窗口标题setLayout(new FlowLayout(); /指定图形界面窗口中各部件的排列方式input=new Label(Enter a character please:);创建提示标签对象input=new Label( );/创建输出标签对象add(prompt); /将提示标签加入窗口add(input); /将输入区域加入窗口add(output); /将输出标签加入窗口input.addActionListener(this);/响应输入的结束this.addWindowListener(new WindowAdapter()/响应关闭窗口的命令public void windowClosing(WindowEvent we)system.exit(0););setSize(500,100); /指定窗口大小setVisible(true); /使窗口可见public void actionPerformed(ActionEvent e)output.setText(character:+input.getText();五、实训考核方法正确配置开发环境占20%;顺利完成Java程序的编写、编译占70%;正确执行相应的程序占10%。实训三 分支语句一、实训目的1.掌握if语句,if-else-if结构的使用,掌握if语句的嵌套编程特点。2.掌握条件的表达技巧;3.掌握switch语句的使用。4.了解从键盘获取数据的方法二、实训内容1.编写使用不同选择结构的程序。2.理解Java 程序语法结构,掌握选择结构语法的程序设计方法。三、实训学时(2学时)四、实训步骤1.使用if.else 语句(1)程序功能:使用if.else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。(2)编写源程序文件,代码如下。public class LX3_1 public static void main(String args) boolean leap;int year=2005;if (year%4=0 & year%100!=0) | (year%400=0) / 方法1System.out.println(year+ 年是闰年);elseSystem.out.println(year+ 年不是闰年);year=2008; / 方法2if (year%4!=0)leap=false;else if (year%100!=0)leap=true;else if (year%400!=0)leap=false;elseleap=true;if (leap=true)System.out.println(year+ 年是闰年);elseSystem.out.println(year+ 年不是闰年);year=2050; / 方法3if (year%4=0) if (year%100=0) if (year%400=0)leap=true;elseleap=false;elseleap=false;elseleap=false;if (leap=true)System.out.println(year+ 年是闰年);elseSystem.out.println(year+ 年不是闰年);(3)编译运行程序,并写出结果。2.使用switch 语句(1)程序功能:在不同温度时显示不同的解释说明。(2)程序源代码如下。class LX3_2public static void main(String args) int c=38;switch (c10?1:c25?2:c35?3:4) case 1:System.out.println( +c+ 有点冷。要多穿衣服。);case 2:System.out.println( +c+ 正合适。出去玩吧。);case 3:System.out.println( +c+ 有点热。);default:System.out.println( +c+ 太热了!开空调。);(3)编译运行程序,并写出结果。3.编写图形界面的Java Applet,接受用户输入的正整数,若用户输入的不是正整数则利用一个标签提示错误并要求重新输入,直至得到符合要求的数据。4.编写字符界面的Java Application,将用户输入的小写字符转化成大写字符打印在屏幕上,若用户输入的不是小写字符则打印信息说明无法完成指定的操作。5.编写图形界面的Java Application,接受用户输入的一个0100之间的分数,将其转化成15的5分计方法。90100: 57589: 46074: 34059: 2其他: 1五、实训考核方法顺利完成Java程序的编写、编译占70%;正确执行相应的程序占30%。实训四 循环语句一、实训目的1. 掌握三种循环语句的使用,能分析循环的执行过程2. 掌握break和continue语句的使用;。3. 掌握累加、累乘的处理方法。4. 掌握计数问题的编写技巧,如何控制每行输出元素个数及了解如何利用求余和整除操作获取和删除一个整数的最低位二、实训内容1.编写使用不同循环结构的程序。2.理解Java 程序语法结构,掌握循环结构语法的程序设计方法。三、实训学时(4学时)四、实训步骤1.for 循环语句练习(1)程序功能:按5 度的增量打印出一个从摄氏温度到华氏温度的转换表。(2)程序源代码如下。class LX4_1public static void main (String args) int h,c;System.out.println(摄氏温度 华氏温度);for (c=0; c=40; c+=5) h=c*9/5+32;System.out.println( +c+ +h);(3)编译并运行程序,并写出结果。2.while 循环语句练习(1)程序功能:运行程序后从键盘输入数字1/2/3 后,可显示抽奖得到的奖品;如果输入其它数字或字符显示“没有奖品给你!”。(2)程序源代码如下。import java.io.*;class LX4_2 public static void main(String args) throws IOException char ch;System.out.println(按 1/2/3 数字键可得大奖!);System.out.println(按空格键后回车可退出循环操作.);while (ch=(char)System.in.read()!= ) System.in.skip(2); / 跳过回车键switch (ch) case 1:System.out.println(恭喜你得大奖,一辆汽车!);break;case 2:System.out.println(不错呀,你得到一台笔记本电脑!);break;case 3:System.out.println(没有白来,你得到一台冰箱!);break;default:System.out.println(真不幸,你没有奖品!下次再来吧。);(3)编译源程序。(4)在命令提示符窗口运行程序,然后分别按1、2、3、r 观察输出结果。3.dowhile 循环语句练习(1)程序功能:求12+100 之和,并将求和表达式与所求的和显示出来。(2)程序源代码如下。class LX4_3 public static void main(String args) int n=1, sum=0;do sum+=n+;while (n=100);System.out.println(1+2.+100 =+sum);(3)编译并运行程序,并观察结果。4.多重循环练习(1)输出九九乘法表的程序,源代码如下。public class LX4_4public static void main(String args)int i,j,n=9;System.out.print( * |);for (i=1;i=n;i+)System.out.print( +i);System.out.print(n-|);for (i=1;i=n;i+)System.out.print(-);System.out.println();for (i=1;i=n;i+)System.out.print( +i+ |);for (j=1;j=i;j+)System.out.print( +i*j);System.out.println();(2)编译并运行程序,并观察结果。3.编写程序,根据考试成绩的等级打印出百分制分数段。设A 为90 分以上、B 为80 分以上、C为70 分以上、D 为60 分以上、E 为59 分以下。要求在程序中使用开关语句。4.完整下面的程序,利用break 语句和带标号的break 语句分别退出一重循环和二重循环。for (i=0; i10; i+)int j=i*10while(j=3)提示:关键代码如下:f0=f1=1;for(i=2;i10;i+)fi=fi-1+fi-2;3.编程采用冒泡法实现对数组元素由小到大排序。提示:冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。关键代码如下:for(i=0;iintArray.length-1;i+)for(j=i+1;jintArrayj)t=intArrayi;intArrayi=intArrayj;intArrayj=t;4试用数组实现一个10到20的平方表,打印输出这个平方表。五、实训考核方法顺利完成Java程序的编写、编译占70%;正确执行相应的程序占30%。实训六 类与对象一、实训目的1.掌握类的定义和使用。2.掌握对象的声明和使用。3.掌握构造函数的概念和使用。4.掌握类极其成员的访问控制符。二、实训内容1.编写一个体现面向对象思想的程序。2.编写一个创建对象和使用对象的方法的程序。3.编写一个显示当前日期和时间的程序。4.编写不同成员变量修饰方法的程序。5.编写不同成员方法修饰方法的程序。三、实训学时(6学时)四、实训步骤1.创建对象并使用对象(1)程序功能:这个Applet 程序要在页面上输出两个矩形,并伴有文字输出,见上图。程序的源代码如下。import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet MyBox b1=new MyBox();/创建对象b1MyBox b2=new MyBox(170,20,60,60); /创建对象b2public void paint(Graphics g) b1.setPosition(20,20);b1.setSize(60,60);b1.draw(g);g.drawString(矩形 1 的 X 位置: +b1.getX(), 20, 100);g.drawString(矩形 1 的 Y 位置: +b1.getY(), 20, 120);b2.draw(g);g.drawString(矩形 2 的 X 位置: +b2.getX(), b2.getX(), b2.getY()+80);g.drawString(矩形 2 的 Y 位置: +b2.getY(), b2.getX(), b2.getY()+100);class MyBox private int x, y, width, height;MyBox() x=0;y=0;width=0;height=0;MyBox(int xPos, int yPos, int w, int h) x=xPos;y=yPos;width=w;height=h;public void setPosition (int xPos, int yPos) x=xPos;y=yPos;public void setSize (int w, int h) width=w;height=h;public int getX() return x;public int getY() return y;public void draw(Graphics g) g.drawRect(x, y, width, height);(2)编写一个浏览Applet 应用程序的页面文件LX6_1.HTML(3)将LX6_1.java 源程序编译为LX6_1.class 文件(4)使用浏览器或使用小程序查看器浏览LX6_1.HTML 文件(即在命令提示符下输入:appletviewer LX6_1.HTML),观察运行结果。(5)思考:程序的结构。类与对象的关系。对象创建、使用、销毁的过程。2.编写显示当前日期和时间的程序(1)程序功能:该程序通过使用一个自定义类Time,实现显示当前日期和时间的功能,程序运行结果应与图6.1 类似(2)LX6_2.java 程序源代码如下。import java.awt.Graphics;import java.applet.Applet;import java.util.Calendar;class Time private Calendar t;private int y, m, d, hh, mm, ss;Time ()t=Calendar.getInstance();y=t.get(t.YEAR);m=t.get(t.MONTH)+1;d=t.get(t.DATE);hh=t.get(t.HOUR_OF_DAY);mm=t.get(t.MINUTE);ss=t.get(t.SECOND);public String getDate() return y+ 年+m+月+d+日;public String getTime() String s=hh+ 时+mm+分+ss+秒;return s;public class LX3_3 extends Applet Time t=new Time();public void paint(Graphics g) g.drawString(当前日期:+t.getDate(),50,40);g.drawString(当前时间:+t.getTime(),50,80);(2)编写浏览LX6_2类的页面文件LX6_2.html(3)在浏览器中浏览程序运行结果。注意:本程序中传递了一个Graphics 类的对象g,并调用了g 的方法drawString。3.使用修饰符有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。常用的修饰符如下。public private protected package static final transient volatile不同修饰符的访问控制权限如表6.1 所示。(1)程序功能:通过两个类StaticDemo、LX6_3说明静态变量、方法与实例变量、方法的区别。(2)编写类文件LX6_3.java,程序源代码如下。class StaticDemo static int x;int y;public static int getX() return x;public static void setX(int newX) x = newX;public int getY() return y;public void setY(int newY) y = newY;public class LX6_3 public static void main(String args) System.out.println(静态变量x=+StaticDemo.getX();System.out.println(实例变量y=+StaticDemo.getY(); / 非法,编译时将出错StaticDemo a= new StaticDemo();StaticDemo b= new StaticDemo();a.setX(1);a.setY(2);b.setX(3);b.setY(4);System.out.println(静态变量a.x=+a.getX();System.out.println(实例变量a.y=+a.getY();System.out.println(静态变量b.x=+b.getX();System.out.println(实例变量b.y=+b.getY();(3)对上面的源程序进行编译,会出现出错提示,请改正错误得到正确的结果。4.方法中参数传递的练习在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。在Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。传值调用即传递的参数是基本数据类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聘用副总经理合同二零二五年
- 兼职外教合同
- 贷款中介服务合同二零二五年
- 工程管理读书报告
- 代理注销合同范例
- MW发电机转子掉块修理方案
- 2016-2024-学年度第一学期1、2年级航模课教案
- 产权房卖给个人合同样本
- 供农机合同样本
- 下门单间出租合同样本
- 检验科标本运送培训
- 初中作文指导-景物描写(课件)
- 秋 轻合金 铝合金相图及合金相课件
- 6.3.1 平面向量基本定理 课件(共15张PPT)
- 安全安全检查表分析(SCL)记录表(设备、设施)
- 城市湿地公园设计导则2017
- 小学巡课记录表
- 消防管道隐蔽工程验收报审表(表格记录)
- 地质灾害群测群防讲义
- 高频变压器标准工时对照表
- 232425黄昆固体物理教案
评论
0/150
提交评论