JAVA期末复习资料 含答案.docx
- 文档编号:8101396
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:21
- 大小:46.37KB
JAVA期末复习资料 含答案.docx
《JAVA期末复习资料 含答案.docx》由会员分享,可在线阅读,更多相关《JAVA期末复习资料 含答案.docx(21页珍藏版)》请在冰豆网上搜索。
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(String[]args){}
D)publicstaticvoidmain(String[]x){}
4.用于定义数据简单类型的一组关键字是(B)。
A)class,float,main,public
B)float,boolean,int,long
C)char,extends,float,double
D)int,long,float,import
5.以下的变量定义中,合法的语句是(B)。
A)float1_variable=3.4;B)intabc_=21;
C)doublea=1+4e2.5;D)shortdo=15;
6.定义变量如下:
inti=18;
longL=5;
floatf=9.8f;
doubled=1.2;
Strings="123";
以下赋值语句正确的是(ABD)。
A)s=s+i;B)f=L+i;C)L=f+i;D)s=s+i+f+d;
7.以下语句输出的结果是(A)
Stringstr="123";
intx=4,y=5;
str=str+(x+y);
System.out.println(str);
A)1239B)12345C)会产生编译错误D)123+4+5
8.以下语句中没有编译错误或警告提示信息的是(B)?
A)byteb=256;B)doubled=89L;C)charc="a";D)shorts=8.6f;
9.下面的程序输出结果是:
1+2=3,请将程序补充完整。
publicclassApp2{
publicstaticvoidmain(Stringargs[]){
intx=1,y=2;
System.out.println(______________);
}
}
答案:
x+"+"+y+"="+(x+y)
10.阅读下面的程序,回答问题。
程序如下:
publicclassApp1{
publicstaticvoidmain(Stringargs[]){
charch='\n';
System.out.print("Thefirstsnowcame,"+ch+"Howbeautifulitwas!
");
}
}
(1)这是哪一类java程序?
(2)写出保存该文件的文件名及后缀名?
(3)在JDK下编译该文件的命令是什么?
编译后形成什么文件?
(4)在JDK下如何运行该程序?
程序运行后输出的结果如何?
10.答案:
(1)Java应用程序(JavaApplication);
(2)App1.java;
(3)在命令行用javacApp1.java编译该程序。
编译后形成App1.class的字节码文件;
(4)在命令行键入javaApp1即可运行该程序。
编程序运行后输出的结果为:
Thefirstsnowcame,
Howbeautifulitwas!
编写Java应用程序,定义类Car,类中有3个变量:
字符串name,表示汽车的品牌;字符串color,表示汽车的颜色;double型变量weight,表示汽车的自重;int型变量passenger,表示汽车能搭乘的人数。
类中还定义一个构造方法,用来初始化上面的4个变量。
在应用程序中创建类Car的1个对象(品牌:
“大众”;颜色:
“黑色”;自重:
1500公斤;搭乘的人数:
5人),并显示其信息。
1.以下选项中变量均已正确定义,错误的赋值语句是(D)。
A)i--;B)i+=7;
C)k+=x+2;D)y+x=z;
2.若以下变量均已正确定义并赋值,下面符合Java语言语法的表达式是(B)。
A)a=a≤7B)a=7+b+c
C)int12.3%4D)a=a+7=c+b
3.定义整型变量:
intn=456;,表达式的值为5的是(AB)。
A)n/10%10B)(n-n/100*100)/10
C)n%10D)n/10
4.对下面的语句序列正确的说法是(B)。
intc='A'/3;
c+='1'%5;
System.out.println(c);
A)产生编译错误;B)输出结果25;
C)输出结果21;D)输出结果2;
5.设a,f,x,y,z均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)。
A)x>y&&f C)y! =++xD)y+x*x++ 6.执行下列程序段后,b,x,y的值正确的是(C)。 intx=6,y=8; booleanb; b=x A)true,6,8B)false,7,7 C)true,7,7D)false,6,8 7.下面的程序段输出的变量b的值是(B)。 inta=0xFFFFFFFE; intb=~a; System.out.println("b="+b); A)0xFFFFFFFEB)1C)14D)-2 8.若a和b均是整型变量并已正确赋值,正确的switch语句是(AD)。 A)switch(a+b);B)switch(a+b*3.0) {……}{……} C)switchaD)switch(a%b) {……}{……} 9.以下由do-while语句构成的循环执行的次数是(D)。 A)无限次B)有语法错,不能执行 C)一次也不执行D)执行1次 intk=0; do{++k;}while(k<1); 10.执行完下面的程序段后,k的值是(B)。 intk=0; label: for(inti=1;i<10;i++) { for(intj=1;j<5;j++) { k+=i+j; if(j==3) breaklabel; } } A)3B)9C)12D)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[])方法中访问单词"first"(BD)? javaAthefirstsnow,thefirstsnowcame. A)args[0]B)args[1]C)args[2]D)args[5] 6.编写Java应用程序求1! +2! +...+20! 的和并显示,要求用方法实现求阶乘。 3.应用程序中定义方法头如下所示的方法: staticint[]add(int[]x,int[]y) staticint[]multi(int[]x,int[]y) add方法的功能是: 把参数数组x和y(其元素个数相同)的每个元素相加,并作为返回数组的元素;multi方法的功能是: 把参数数组x和y(其元素个数相同)的每个元素相乘,并作为返回数组的元素。 在Java应用程序中使用这两个方法。 6.编写应用程序,定义一个5行3列的二维数组,给数组的每个元素赋10~100之间的随机值,显示二维数组每行的元素,并输出所有元素的和。 1.面向对象程序设计的基本特征是(ABCD)。 A)抽象B)封装C)继承D)多态 2.下面关于类的说法正确的是(ABCD)。 A)类是Java语言中的一种复合数据类型。 B)类中包含数据变量和方法。 C)类是对所有具有一定共性的对象的抽象。 D)Java语言的类只支持单继承。 3.下列选项中,用于在定义类头时声明父类名的关键字是(D)。 A)packageB)interfaceC)classD)extends 4.定义类头时可以使用的访问控制符是(CD)。 A)privateB)protected C)publicD)缺省的,即没有访问控制修饰符 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(String[]args){ Bb=newB(); this.test(); } publicvoidtest(){ System.out.print("A"); } } classBextendsA{ voidtest(){ super.test(); System.out.println("B"); } } A)产生编译错误,因为类B覆盖类A的方法test()时,降低了其访问控制的级别。 B)代码可以编译运行,并输出结果: AB。 C)代码可以编译运行,但没有输出。 D)代码可以编译运行,并输出结果: A。 9.下面的程序编译运行的结果是(A)。 publicclassAimplementsB{ publicstaticvoidmain(String[]args){ intm,n; At=newA(); m=t.k; n=B.k; System.out.println(m+","+n); } } interfaceB{intk=5;} A)5,5B)0,5C)0,0D)编译程序产生编译错误 10.为了使包abc中的所有类在当前程序中可见,可以使用的语句是(A)。 A)importabc.*;B)packageabc.*; C)importabc;D)packageabc; 1.定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有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方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。 1.定义字符串s: Strings=”Micrsoft公司”;执行下面的语句,c的值为(B)。 charc=s.charAt(9); A)产生数组下标越界异常。 B)司C)nullD)公 2.以下语句执行后输出的结果是(B)。 Strings0=newString("hello,Java! "); System.out.println(s0.length()); A)10B)11C)9D)15 3.应用程序的main方法中有以下语句,则输出的结果是(A)。 Strings1=newString("AAA"); Strings2=newString("AAA"); booleanb1=s1.equals(s2); booleanb2=(s1==s2); System.out.print(b1+""+b2); A)truefalseB)falsetrueC)truetrueD)falsefalse 4.下面的程序段输出的结果是(A)。 Strings1="Java",s2="java"; System.out.println(s1.equalsIgnoreCase(s2)); A)trueB)falseC)JavaD)java 5.下面的程序段输出的结果是(A)。 Strings1="Abc",s2="Bcd"; System.out.println(pareTo(s2)); A)-1B)1C)falseD)true 6.下面的程序段执行完后,cont的值是多少(C)? Stringstrings[]={"string","starting","strong","street","soft"}; intcont=0; for(inti=0;i if(strings[i].endsWith("ng")) cont++; A)1B)2C)3D)4 7.定义字符串: Stringstr="abcdefg";则str.indexOf('d')的结果是(C)。 A)’d’B)trueC)3D)4 8.下面的程序段输出的结果是(A)。 StringBufferbuf1; Stringstr="北京2008"; buf1=newStringBuffer(str); System.out.println(buf1.charAt (2)); A)2B)京C)0D)null 9.下面的程序段输出的结果是(C)。 StringBufferbuf1; Stringstr="007beijing"; buf1=newStringBuffer(str); buf1.setCharAt(0,'6'); System.out.println(buf1.toString()); A)007bei0jingB)007beijingC)607beijingD)667beijing 10.若有如下赋值语句: x=newStringBuffer().append("a").append(4).append("c").toString(); x的类型是_______;它的值是_______。 答案: String;a4c。 11.下面的程序段希望把字符串str中的类名、对象名和方法名分离出来单独显示,因此创建了一个字符串分析器对象stoken,请把stoken的分隔符填写在程序中的空中,程序中定义的变量k的值是__ (1)___。 Stringstr="System.out.println(\"stoken.hasMoreTokens()=\"+stoken.hasMoreTokens())"; StringTokenizerstoken=newStringTokenizer(str,___ (2)___); intk=stoken.countTokens(); 答案: (1)7 (2)".()\"+=" 12.应用程序的main方法中有以下语句,则输出的结果是(B)。 Hashtablehashtable=newHashtable(); hashtable.put("100","aaa"); hashtable.put("200","bbb"); hashtable.put("300","ccc"); System.out.println(hashtable.get("200")); A)aaaB)bbbC)200D)3 编写命令行界面的猜数游戏: 猜数范围由命令行输入,将猜数的结果输出并提示,直到猜出正确的结果。 6.编写应用程序,用1到6之间的随机数来模拟掷骰子游戏,统计扔5000次后出现骰子各点的次数并输出。 编写应用程序,在其main方法中定义以下两个字符串数组: StringmpgStr[]={"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"}; StringpngStr[]={"1.png","2.png","3.png","4.png","5.png"}; 然后将他们的每个元素间隔添加到Vector对象中,并在命令行界面显示所有元素;然后将Vector对象中所有.png的元素都删除,再显示Vector对象中的所有元素,如图所示。 4.定义一个学生类Student,该类定义了3个属性: 学号number(String类型)、姓名name(String类型)和成绩mark(int型);类中定义一个构造方法,用来初始化类中的3个属性;为了方便显示,该类覆盖了父类Object的toString()方法,返回以下格式的字符串: "学号: "+number+"姓名: "+name+"成绩: "+mark。 编写应用程序,在main方法中创建ArrayList对象list,并添加5个Student类对象,并将list的所有元素分行显示;然后将list的元素按学号升序排序后输出。 1.为了捕获一个异常,代码必须放在下面哪个语句块中(A)? A)try块B)catch块C)throwsD)finally块 2.下面关于try块的说法正确的是(C)? A)try块后至少应有一个catch块。 B)try块后必须有finally块。 C)可能抛出异常的方法应放在try块中D)对抛出的异常的处理应放在try块中 3.finally块中的代码将(A) A)总是被执行B)如果try块后面没有catch块时,finally块中的代码才会执行。 C)异常发生时才被执行D)异常没有发生时才被执行 4.一个异常将终止(C)? A)整个程序B)只终止抛出异常的方法 C)产生异常的try块D)上面的说法都不对。 5.阅读下面的程序,选择正确的说法(B)。 classA{ publicstaticvoidmain(Stringargs[])throwsException{ method(); } staticvoidmethod()throwsException{ try{ System.out.print("try: performed\t"); } finally{ System.out.print("fina
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA期末复习资料 含答案 JAVA 期末 复习资料 答案