JAVA程序设计实验指导书.docx
- 文档编号:8333871
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:7
- 大小:25.13KB
JAVA程序设计实验指导书.docx
《JAVA程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计实验指导书.docx(7页珍藏版)》请在冰豆网上搜索。
JAVA程序设计实验指导书
JAVA程序设计实验指导书
《JAVA程序设计》实验指导书 实验指导书按章节展开,每章包含以下内容:
1.概念复习和巩固题。
每次课后和上机前,请完成本章的概念复习和巩固题。
2.每章的上机实验。
每次上机实验时间为2课时。
必须在规定上机时间内,独立完成所有上机实验题的程序源代码的设计和编写,调试通过后,通过运行程序检验结果的正确性,并经实验教师检查并记录成绩。
上机实验当时未能完成的,必须在课外完成,并在下一次上机实验时请实验教师补查并登记。
每次上机实验作业均需计算机打印输出或提交服务器保存,以备在课堂上或学期末检查和复习。
3.每章的拓展上机实验。
对学有余力的学生,完成每次上机实验必须的任务后,根据个人兴趣完成该部分上机实验题。
该部分练习有些是要求调试程序使之能正确运行;有些是根据程序中的注释完成程序的编写,使之能编译通过并能正确运行。
完成这些任务,通常需要查阅JavaAPI帮助文档。
程序中的注释都是英文,这是为了今后进一步学习的方便,熟悉与Java编程相关的英文描述将是非常有益的。
第1章Java语言基础 一.概念复习和巩固 1.下面说法正确的是(C)。
A)Java程序的源文件名称与主类的名称相同,后缀可以是java或txt等。
B)JDK的编译命令是java。
C)一个java源程序编译后可能产生几个字节码文件。
D)在命令行运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。
2.下面的说法正确的是(ABCD)。
A)Java语言是面向对象的、解释执行的网络编程语言。
B)Java语言具有可移植性,是与平台无关的编程语言。
C)Java语言可对内存垃圾自动收集。
D)Java语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。
3.下面main()方法的定义哪些是正确的(ACD)?
A)publicstaticvoidmain(Stringargs){}B)publicstaticvoidmain(String){}C)publicstaticvoidmain(Stringargs){}D)publicstaticvoidmain(Stringx){} 4.用于定义数据简单类型的一组关键字是(B)。
A)class,float,main,publicB)float,boolean,int,longC)char,extends,float,doubleD)int,long,float,import 5.以下的变量定义中,合法的语句是(B)。
A)float 1_variable=; B)intabc_=21;C)doublea=1+; D)shortdo=15;6.定义变量如下:
inti=18;longL=5;floatf=;doubled=; Strings=\以下赋值语句正确的是(ABD)。
A)s=s+i; B)f=L+i; C)L=f+i; D)s=s+i+f+d;7.以下语句输出的结果是(B)Stringstr=\intx=4,y=5;str=str+(x+y);(str); A)1239 B)12345 C)会产生编译错误 D)123+4+58.以下语句中没有编译错误或警告提示信息的是(B)?
A)byteb=256;B)doubled=89L; C)charc=\D)shorts=;9.下面的程序输出结果是:
1+2=3,请将程序补充完整。
publicclassApp2{ publicstaticvoidmain(Stringargs){ intx=1,y=2; (______________); } } 答案:
x+\ 10.阅读下面的程序,回答问题。
程序如下:
publicclassApp1{ publicstaticvoidmain(Stringargs){ charch=‘\\n’; (\ }}
(1)这是哪一类java程序?
(2)写出保存该文件的文件名及后缀名?
(3)在JDK下编译该文件的命令是什么?
编译后形成什么文件?
(4)在JDK下如何运行该程序?
程序运行后输出的结果如何?
10.答案:
(1)Java应用程序(JavaApplication);
(2); (3)在命令行用javac编译该程序。
编译后形成的字节码文件; (4)在命令行键入javaApp1即可运行该程序。
编程序运行后输出的结果为:
Thefirstsnowcame, Howbeautifulitwas!
11.阅读下面的程序,回答问题。
import;import; publicclassApplet1extendsApplet{ publicvoidpaint(Graphicsg){ (\ (\ (\ (\}}
(1)这是哪一类java程序?
(2)写出保存该文件的文件名及后缀名?
(3)在JDK下编译该文件的命令是什么?
编译后形成什么文件?
(4)该程序能直接运行吗?
写出嵌入该程序的字节码文件的html文件,该html文件可以任意命名吗?
(5)程序运行后输出几行?
写出输出结果。
11.答案:
(1)Java小程序(JavaApplet)。
(2) (3)在命令行用javac编译该程序。
编译后形成的字节码文件。
(4)不能,为了能使程序运行,还需编写html文件,用标记符将编译形成的字节码文件嵌入到html文件中,然后通过浏览器运行JavaApplet。
或在命令行通过命令appletviewer运行html文件。
嵌入该程序的字节码文件的html文件如下,该html文件可以任意命名文件如下:
我的网页 (5)程序运行后输出2行;输出结果如下:
二.本章上机实验 上机实验一 1.编写Java应用程序,定义byte、int、long、float、double、char和boolean等类型的数据并用一个输出语句输出,要求每行输出一个数据。
2.编写Java小应用程序,输出两行字符串:
“Java很有趣。
”和“努力学习Java编程。
”,输出的起点坐标是,行距是50像素。
3.使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
4.编写Java小应用程序,用三目条件运算符求程序中给定的4个double数的最大值和最小值并输出结果。
5.编写Java应用程序,分别利用while循环、do…while循环和for循环求100~200的自然数的和。
6.编写Java小应用程序,选择合适的数据类型,利用循环求2的40次方的结果并输出。
上机实验二 1.编写Java应用程序,把100~1000的自然数中能够被3整除的数输出到屏幕上。
2.编写Java小应用程序,程序中自定义一个方法:
doublefind2(intn) 方法的功能是求2的n次方。
程序中调用该方法,输出2的40次方的结果并输出。
3.编写Java应用程序,参照例自定义类Car,类中有3个变量:
字符串name,表示汽车的品牌;字符串color,表示汽车的颜色;double型变量weight,表示汽车的自重;int型变量passenger,表示汽车能搭乘的人数。
类中还定义一个构造方法,用来初始化上面的4个变量。
在应用程序中创建类Car的1个对象,并显示其信息。
4.编写Java小应用程序,其中定义一个int数组,求数组元素的和、数组元素的最大值和最小值并输出所求的结果。
5.编写Java应用程序,从命令行传入多个字符串到程序中,并将他们分行输出在屏幕上。
第2章使用Java解决简单的问题 一.概念复习和巩固 1.以下选项中变量均已正确定义,错误的赋值语句是(D)。
A)i--; B)i+=7; C)k+=x+2; D)y+x=z; 2.若以下变量均已正确定义并赋值,下面符合Java语言语法的表达式是(B)。
A)a=a≤7 B)a=7+b+cC)int%4 D)a=a+7=c+b 3.定义整型变量:
intn=456;,表达式的值为5的是(AB)。
A)n/10%10 B)(n-n/100*100)/10C)n%10 D)n/10 4.对下面的语句序列正确的说法是(B)。
intc=‘A’/3;c+=‘1’%5;(c); A)产生编译错误; B)输出结果25;C)输出结果21; D)输出结果2; 5.设a,f,x,y,z均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)。
A)x>y&&f 6.执行下列程序段后,b,x,y的值正确的是(C)。
intx=6,y=8; booleanb; b=x A)true,6,8 B)false,7,7C)true,7,7 D)false,6,8 7.下面的程序段输出的变量b的值是(B)。
inta=0xFFFFFFFE;intb=~a;(\ A)0xFFFFFFFEB)1 C)14D)-2 8.若a和b均是整型变量并已正确赋值,正确的switch语句是(D)。
A)switch(a+b); B)switch(a+b*){ …… } { ……}C)switcha D)switch(a%b){ …… } { ……} 9.以下do-while语句构成的循环执行的次数是(D)。
A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次 intk=0; do{++k;}while(k 10.执行完下面的程序段后,k的值是(B)。
intk=0;label:
for(inti=1;i A)3 B)9 C)12 D)6 11.下列方法x的定义中,正确的是(A)。
A)intx(){charch=‘a’;return(int)ch;} B)voidx{...} C)intx(inti){return(double)(i+10);} D)x(inta){returna;}12.下列方法定义中,方法头不正确的是(D)。
A)publicintx(){...} B)publicstaticintx(doubley){...}C)voidx(doubled) D)publicstaticx(doublea){...}13.为了区分重载多态中同名的不同方法,要求(A)。
A)采用不同的形式参数列表 B)返回值类型不同C)参数名不同 D)选项A、B、C都对 14.在某个类中定义一个方法:
voidGetSort(intx),以下能作为这个方法的重载的是(ABCD)。
A.voidGetSort(floatx){x*=x;} B.intGetSort(doubley){return(int)(2*y);}C.doubleGetSort(intx,inty){returnx+y;}D.voidGetSort(intx,inty){x=x+y;y=x-y}15.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9};则对a数组元素正确的引用是(B)。
A)a[-3] B)a[9] C)a[10] D)a(0) 16.下面是在命令行运行Java应用程序A,怎样才能在main(Stringargs)方法中访问单词\ javaAthefirstsnow,thefirstsnowcame. A)args[0] B)args[1] C)args[2] D)args[5] 二.本章上机实验 上机实验三 1.编写Java小程序,定义一个整数1255,把它的2进制、16进制的表示在屏幕输出。
2.编写应用程序,在main方法在中定义字符串“”、“”和“128”,将他们分别转化为对应的double数、float数和int数并输出,最后输出这三个数的和(要求结果保留到
4.定义类头时可以使用的访问控制符是(CD)。
A)private B)protected C)public D)缺省的,即没有访问控制修饰符5.有一个类A,对于其构造函数的声明正确的是(B)。
A)voidA(intx){...} B)A(intx){...}C)AA(intx){...} D)intA(intx){...} 6.设X为已定义的类名,下列声明对象x1的语句中正确的是(ABD)。
A)staticXx1; B)privateXx1=newX();C)abstractXx1; D)finalXx1=newX(); 7.设类B是类C的父类,下列声明对象x1的语句中不正确的是(D)。
A)Bx1=newB(); B)Bx1=newC(); C)Cx1=newC(); D)Cx1=newB();8.编译运行下面的程序,结果是(A)。
publicclassA{publicstaticvoidmain(Stringargs){ Bb=newB(); (); }publicvoidtest(){ (\}} classBextendsA{voidtest(){(); (\}} A)产生编译错误,因为类B覆盖类A的方法test()时,降低了其访问控制的级别。
B)代码可以编译运行,并输出结果:
AB。
C)代码可以编译运行,但没有输出。
D)代码可以编译运行,并输出结果:
A。
9.下面的程序编译运行的结果是(A)。
publicclassAimplementsB{publicstaticvoidmain(Stringargs){ intm,n;At=newA();m=;n=;(m+\}} interfaceB{intk=5;} A)5,5 B)0,5 C)0,0 D)编译程序产生编译错误10.为了使包abc中的所有类在当前程序中可见,可以使用的语句是(A)。
A)importabc.*; B)packageabc.*;C)importabc; D)packageabc; 二.本章上机实验 上机实验五 1.定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角 坐标和右下角坐标;类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。
类中还有以下方法:
getW()——计算矩形的宽度;getH()——计算矩形的高度;area()——计算矩形的面积;toString()——把矩形的宽、高和面积等信息作为为字符串返回。
编写应用程序使用MyRectangle类。
2.设计一个Dog类,它有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。
编写应用程序使用Dog类。
3.设计一个长方体类MyCube,该类包含第1题中的MyRectangle类对象作为类的域,表示长方体的底面;此外还包含一个整型变量d,表示长方体的高。
类中定义构造方法初始化类对象、定义求体积和表面积的方法。
编写应用程序测试MyCube类。
4.设计一个表示用户的User类,类中的变量有用户名、口令和记录用户个数的变量,定义类的3个构造方法、获取和设置口令的方法、返回字符串表示的类信息的方法。
编写应用程序测试User类。
上机实验六 1.定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。
编写编写应用程序使用Rectangle类和Circle类。
2.定义一个接口ClassName,接口中只有一个抽象方法getClassName()。
设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。
编写应用程序使用Horse类。
3.定义接口myItfc,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。
编写一个应用程序,并实现接口myItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。
4.编写小程序,在小程序窗口中显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动。
本章上机拓展练习 1.调式下面的程序,使之能编译通过并正确运行。
// import; publicclassTest{ publicstaticvoidmain(Stringargs) { StringfirstName=(\ StringlastName=(\ Stringcolor2=(\ Stringmiles=(\ \ doublemiles2=(miles); Milesmile=newMiles(); Colorcolor=newColor(); Personperson=newPerson(firstName,lastName); (miles2); (color2); Stringoutput=()+\ \\ \ (null,output,\ _MESSAGE); (0); }} //Person..java publicclassPersonextendsObject{ privateStringfirstName; privateStringlastName; publicPerson(StringfirstName,StringlastName) { lastName=getLastname(); firstName=getFirstName(); } publicStringgetFirstName() { returnfirstName; } publicStringgetLastName() { returnlastName; }} // import; publicclassMilesextendsObject{ privatefinaldoublemiles; publicMiles() { setMile(); } publicvoidsetMile(doublem) { miles=((m>=&&m publicStringtoMilesString() { DecimalFormatformatMile=newDecimalFormat(\ return(miles); }} // publicclassColorextendsObject{ privateStringcolor; publicColor() { returnsetColor(\ } publicvoidsetColor() { color=\ returncolor; } publicvoidsetColor(Stringm) { color=m; returncolor; } publicStringtoColorString() { returncolor; } } 2.下面的程序定义一个复数类,测试该复数类。
根据/**/中的注释将下面的程序补充完整,使之编译通过并能正确运行。
============================// //TesttheComplexnumberclass============================import*; publicclassComplexTest{ publicstaticvoidmain(Stringargs) { Complexa,b; a=newComplex(,); b=newComplex(,); Stringresult=\ result+=\ result+=\ result+=\ (null,result,\ _MESSAGE); (0); }} =========================// //DefinitionofclassComplex========================= publicclassComplex{ privatedoublereal; privatedoubleimaginary; //Initializebothpartsto0 /*Writeheaderforano-argumentconstructor.*/ { /*WritecodeherethatcallstheComplexconstructorthattakes2 argumentsandinitializesbothpartsto0*/ } //Initializerealparttorandimaginaryparttoi /*Writeheaderforconstructorthattakestwoarguments梤ealpartrand imaginaryparti.*/ { /*Writelineofcodethatsetsrealparttor.*/ /*Writelineofcodethatsetsimaginaryparttoi.*/ } //AddtwoComplexnumbers publicComplexadd(Complexrigh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序设计 实验 指导书