12信一Java期末考试复习试题 含答案.docx
- 文档编号:6216593
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:20.38KB
12信一Java期末考试复习试题 含答案.docx
《12信一Java期末考试复习试题 含答案.docx》由会员分享,可在线阅读,更多相关《12信一Java期末考试复习试题 含答案.docx(13页珍藏版)》请在冰豆网上搜索。
12信一Java期末考试复习试题含答案
12信一2014年Java期末复习试题
一、单项选择题(每小题1分共15题)
1.下列语句序列执行后,k的值是(B)。
intm=3,n=6,k=0;
while((m++)<(--n))++k;
A)0B)1C)2D)3
2.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
3.若已定义byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是(C)。
A)x[5-3]B)x[k]C)x[k+5]D)x[0]
4.下列语句序列执行后,i的值是(D)。
inti=8,j=16;
if(i-1>j)i--;elsej--;
A)15B)16C)7D)8
5.下列语句序列执行后,k的值是(C)。
inti=10,j=18,k=30;
switch(j-i)
{case8:
k++;
case9:
k+=2;
case10:
k+=3;
default:
k/=j;
}
A)31B)32C)2D)33
6.下面语句执行后,i的值是(B)。
for(inti=0,j=1;j<5;j+=3)i=i+j;
A)4B)5C)6D)7
7.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。
A)x>y||x>zB)x!
=y
C)z>(y+x)D)x (x 8.下列语句序列执行后,i的值是(D)。 inti=16; do{i/=2;}while(i>3); A)16B)8C)4D)2 9.以下由for语句构成的循环执行的次数是(B)。 for(inti=0;true;i++); A)有语法错,不能执行B)无限次 C)执行1次D)一次也不执行 10.下列类定义中,不正确的是(C)。 A)classx{....} B)classxextendsy{....} C)staticclassximplementsy1,y2{....} D)publicclassxextendsApplet{....} 11.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。 A)x(intm){...}B)voidx(intm){...} C)x(intm,intn){...}D)x(inth,intm,intn){...} 12.用于定义类成员的访问控制权的一组关键字是(D)。 A)class,float,double,public B)float,boolean,int,long C)char,extends,float,double D)public,private,protected 13.设有定义inti=123;longj=456;下面赋值不正确的语句是(D)。 A)j=i;B)j=(long)i;C)i=(int)j;D)i=j; 14、已知如下定义: Strings="story";下面哪个语句不是合法的(C) A、s+="books";B、s=s+100; C、intlen=s.length;D、Stringt=s+“abc”; 15.下列方法定义中,正确的是(A)。 A)intx(){charch='a';return(int)ch;} B)voidx(){...returntrue;} C)intx(){...returntrue;} D)intx(inta,b){returna+b;} 二、填空题(每小题2分共15题) 1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。 2、Java程序中的单行注释符是(//),多行注释符是(/**/)。 3、Java中布尔类型的常量有两种,它们是(true)和(false)。 4、Java中用于定义小数的关键字有两个: (float)和(double),后者精度高于前者。 5、Java中用于两个数相等比较的运算符是: (==),用于不相等比较的运算符是(<>)。 6、在Java中定义一个字符串类型的变量str的语句是: (Stringstr;),定义一个具有10个元素的整型数组a的语句是: (int[]arr=newint[10];)。 7、导入mypackage包中的所类的命令是(importmypackage.*;)。 8、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。 9、面向对象程序设计所具有的基本特征是: ___抽象性___,_封装性___,_继承性__,_多态性__ 10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。 11、以下程序段的输出结果是(三角形) intx=5,y=6,z=4; if(x+y>z&&x+z>y&&z+y>x) System.out.println("三角形"); else System.out.println("不是三角形"); 12、下面程序段的执行结果是(65432) inta[]={2,3,4,5,6}; for(inti=a.length-1;i>=0;i--) System.out.print(a[i]+""); 13.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。 14.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数。 15.编写一个程序StringTest源文件,里面开发StringTest类,归于com.gjun包中.main函数中的核心代码为: publicstaticvoidmain(String[]args){ Stringstr="abcdefghaijklmna"; System.out.println("a出现的首位置: "+str.indexOf('a')); System.out.println("a出现的最后位置: "+str.lastIndexOf('a')); System.out.println("忽略第1个a出现的位置,下1次a出现的位置: "+str.indexOf('a')); System.out.println("索引为10的字符为: "+str.charAt(10)); System.out.println("是否包含z: "+str.contains("z")); System.out.println("str字符串总长度: "+str.length()); System.out.println("str是否以abc作为开始字符串: "+str.startsWith("abc")); System.out.println("获取从第1个a到第1个n之间(包含n)的字符序列: "+str.substring(0,15)); System.out.println("把str变化大写: "+str.toUpperCase()); str=str.replace('a','A'); System.out.println("已经实现把所有小写a替换为A: "+str); } 注: “_______________”为需要进行填写的代码段落.. 三、阅读程序,写出程序的输出结果(每小题4分共4题) 1.publicclassUnchecked{ publicstaticvoidmain(String[]args){ try{ method(); }catch(Exceptione){ System.out.println("A"); }finally{ System.out.println("B"); } } staticvoidmethod(){ try{ wrench(); System.out.println("C"); }catch(ArithmeticExceptione){ System.out.println("D"); }finally{ System.out.println("E"); } System.out.println("F"); } staticvoidwrench(){ thrownewNullPointerException(); } } 程序的输出结果为: E A B 2.publicclassMyClass{ inta[]={1,2,3,4,5}; voidout(){ for(intj=0;j System.out.print(a[j]+""); } publicstaticvoidmain(String[]args){ MyClassmy=newMyClass(); my.out(); } } 程序的输出结果为: 12345 3、 publicclassFather{ Stringname,address,tel; intage; publicFather(Stringname,intage){ this.name=name; this.age=age; } voidout(){ System.out.print("姓名: "+name); System.out.print("年龄: "+age); } voidoutOther(){ System.out.print("家庭住址: "+address); System.out.print("电话: "+tel); } } classSonextendsFather{ Stringschool; publicSon(Stringname,intage){ super(name,age); } voidout(){ super.out(); super.outOther(); System.out.println("学校: "+school); } publicstaticvoidmain(Stringargs[]){ Sonson=newSon("狗蛋",22); son.address="长沙县"; son.school="湖南警察学院"; son.tel="110110110"; son.out(); } } 以下程序的输出结果: 姓名: 狗蛋年龄: 22家庭住址: 长沙县电话: 110110110学校: 湖南警察学院_ 4、classA{ privateintprivateVar; A(int_privateVar){ privateVar=_privateVar; } booleanisEqualTo(AanotherA){ if(this.privateVar==anotherA.privateVar) returntrue; else returnfalse; } } publicclassB{ publicstaticvoidmain(Stringargs[]){ Aa=newA (1); Ab=newA (2); System.out.println(a.isEqualTo(b)); } } 程序的输出结果为: ____false_____ 四.程序改错和程序填空 1、改正下面程序段中的错误(共5处) publicclassTest{ publicvoidmain(String[]args){//定义主方法1 booleanisValid=0;//2 intscores[5]={65,70,69,98,86};//3 if(isValid)then{//4 System.out.println(scores[5]);//5 }else{ System.out.println(“Noinformation”); 2.定义一个抽象类AbstractTest,其中有一个公共的抽象方法printMsg()。 然后定义此抽象类的一个子类DefaultTest,包括的成员变量有姓名,学号,分数,且此类中包括二个构造方法。 (程序填空) abstractclassAbstractTest{ (1)publicabstractprintMsg(); } (2)classDefaultTestextendsAbstractTest { Stringname; Stringid; intscore; //接收三个参数的构造方法 (3)DefaultTest(Stringname,Stringid,intscore) { this.name=name; this.id=id; this.score=score; } //接收姓名和学号二个参数的构造方法 (4)(4)DefaultTest(Stringname,Stringid) { this.name=name; this.id=id; } //实现抽象方法,方法体为打印出学生的姓名与成绩 (5)publicabstractprintMsg(){ System.out.println(“姓名: ”+name+“学号: ”+score); } 12.定义类ThdTest,其父类为Thread类;并在主方法中创建一个ThdTest的对象,同时启动该线程对象。 //声明类ThdTest,其父类为Thread类 (1)ThdTestextendsThread { publicvoidrun(){ for(inti=0;i<10;i++){ //输出当前线程的名字和i的值 (2)System.out.println(Thread.currentThread().getName()+””+i); try{ //让当前线程休眠100ms Thread.sleep(100); (3) }catch(Exceptione){e.printStackTrace();} } } } publicclassDemo{ publicstaticvoidmain(String[]args){ //创建一个ThdTest的对象 ThdTestt=newThdTest(); (4) //启动线程对象,使其进入就绪状态 (5)t.start(); } } 五.程序设计题(每题8分共3题) 1、按以下要求编写程序 (1)创建一个Rectangle类,添加width和height两个成员变量 (2)在Rectangle中添加两种方法分别计算矩形的周长和面积 (3)编程利用Rectangle输出一个矩形的周长和面积 解答: publicclassRectangle{ floatwidth,height; publicRectangle(floatwidth,floatheight){ this.width=width; this.height=height; } publicfloatgetLength(){ return(this.width+this.height)*2; } publicfloatgetArea(){ returnthis.width*this.height; } publicstaticvoidmain(String[]args){ Rectanglerect=newRectangle(10,20); System.out.println("周长是: "+rect.getLength()); System.out.println("面积是: "+rect.getArea()); } } 2、按以下要求编写程序 (1)编写Animal接口,接口中声明run()方法 (2)定义Bird类和Fish类实现Animal接口 (3)编写Bird类和Fish类的测试程序,并调用其中的run()方法 解答: publicinterfaceAnimal{ voidrun(); } classBirdimplementsAnimal{ publicvoidrun(){ System.out.println("鸟儿在飞..."); } } classFishimplementsAnimal{ publicvoidrun(){ System.out.println("鱼儿在游..."); } } publicclassTestAnimal{ publicstaticvoidmain(String[]args){ Birdbird=newBird(); bird.run(); Fishfish=newFish(); fish.run(); } } 3.题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 importjava.util.*; publicclasslianxi07{ publicstaticvoidmain(String[]args){ intdigital=0; intcharacter=0; intother=0; intblank=0; char[]ch=null; Scannersc=newScanner(System.in); Strings=sc.nextLine(); ch=s.toCharArray(); for(inti=0;i if(ch>='0'&&ch<='9'){ digital++; }elseif((ch>='a'&&ch<='z')||ch>'A'&&ch<='Z'){ character++; }elseif(ch==''){ blank++; }else{ other++; } } System.out.println("数字个数: "+digital); System.out.println("英文字母个数: "+character); System.out.println("空格个数: "+blank); System.out.println("其他字符个数: "+other); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12信一Java期末考试复习试题 含答案 12 Java 期末考试 复习 试题 答案