《Java语言》复习资料.docx
- 文档编号:23368693
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:55
- 大小:66.15KB
《Java语言》复习资料.docx
《《Java语言》复习资料.docx》由会员分享,可在线阅读,更多相关《《Java语言》复习资料.docx(55页珍藏版)》请在冰豆网上搜索。
《Java语言》复习资料
\.
写在前面:
经过半个月的整理和修改,《Java语言》复习题终于与大家见面了,其内容涵盖了《Java语言》的所有章节,希望大家认真复习,不要强行记忆,要好好理解或掌握每个问题的实质,祝大家考试取得好成绩,届时听到你们的好声音,加油~
在此,特别感谢梁大影、贾梦威、聂成、车顺几位同学的辛勤劳动。
郑海旭云健
2012.11.26
第一章Java语言概论&第二章Java语言程序设计基础
1、单选题
1.一个Java源程序为Test.java,编译该程序应该使用的命令为(B)。
(A)javacTest(B)javacTest.java(C)javaTest(D)javaTest.java
2.下面数据类型的定义中错误的是(C)。
(A)inta=10;(B)doubled=1.2;
(C)floatf=1.2;(D)charc=‘A’;
3.main()方法是JavaApplication程序执行的入口点,关于main()方法的方法头以下哪项是合法的(B)?
(A)publicstaticvoidmain()
(B)publicstaticvoidmain(Stringargs[])
(C)publicstaticintmain(String[]args)
(D)publicvoidmain(Stringargs[])
4.对一个java源文件aaa.java,编辑保存后但未编译,在其所在目录下执行javaaaa,则接着会出现什么(C)。
(A)error:
cannotread:
aaa.java
(B)无任何显示
(C)Exceptioninthread"main"java.lang.NoClassDefFoundError:
aaa
(D)程序正常执行并显示
5.给出一段程序,试判断哪个是正确的结果。
(D)
publicclassTest{
publicstaticvoidmain(Stringargs[]){
try{
System.out.print("Helloworld");}
finally{System.out.println(“Finallyexecuting”);}}}
(A)无法编译运行,因为没有指定异常
(B)无法编译运行,因为没有catch子句
(C)Helloworld
(D)HelloworldFinallyexecuting
6.设有inta[]={1,2,3,4,5,6,7,8},i=5;则执行System.out.println(a[++i])的值为(B)(A)6(B)7(C)4(D)8
7.下列不属于java语言鲁棒性特点的是(D)
(A)java能检查程序在变异和运行时的错误
(B)java能运行虚拟机实现跨平台
(C)java自己操纵内存,减少了内存出错的可能性
(D)java语言还实现了真数组,避免了覆盖数据的可能
2、简答题
1.安装JDK后如何对换进变量进行设置?
右击桌面上的我的电脑的图标,选择属性命令,在弹出的系统属性的窗口中选择高级选项卡,点击环境变量按钮,选择系统变量中的path变量,点击编辑按钮,在变量值文本框中加入jdk/bin目录所在路径,路径之间用分号隔开。
2.常量和变量有什么区别?
常量的值在运行期间恒定不变,常量标识符在程序中只能被引用,而不能被重新复制,而变量代表存放信息的存储单元,可以被改变。
3.写出下面程序的运行结果
(1)
importjava.io.*;
publicclassabc
{publicstaticvoidmain(Stringargs[])
{ABs=newAB("Hello!
","IloveJAVA.");
System.out.println(s.toString());
}
}
classAB{
Strings1;
Strings2;
AB(Stringstr1,Stringstr2)
{s1=str1;s2=str2;}
publicStringtoString()
{returns1+s2;}
}
Hello!
IloveJAVA.
(2)
importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};
for(i=0;i if(a[i]%3==0)s+=a[i]; System.out.println("s="+s); } } s=180 第3章数组与字符串 一、选择题 1.在注释//StartForloop处要插入哪段代码可实现根据变量i的值定位数组ia[]的元素? (D) publicclassLin{ publicvoidamethod(){ intia[]=newint[4]; //StartForloop { ia[i]=i; System.out.println(ia[i]); } } } (A)for(inti=0;i (B)for(inti=0;i (C)for(inti=1;i<4;i++) (D)for(inti=0;i 2.下列创建二维整型数组正确语句是: (C) (A)inta[][]=newint[10,10]; (B)inta[10][10]=newint[][]; (C)inta[][]=newint[10][10]; (D)int[]a[]=newint[10;10]; 3.设有如下程序,其调试结果为: (B) classQ2{ publicstaticvoidmain(String[]args){ int[]seeds={1,2,3,4,6,8}; intn=seeds.length; for(inti=0;i<3;i++) for(intk=0;k seeds[k]=seeds[k+1]; for(inti=0;i System.out.print("/t"+seeds[i]); } } (A)输出: 12346 (B)输出: 46888 (C)输出: 23468 (D)输出: 2346 4.阅读下面代码,他们完成的功能是(B) String[]a={“学生”,”自习”,”教师”,”备课”,”学校”}; for(inti=0;i if(a[i].equals(“自习”)){ a[i]=”考试”; } } (A)查找 (B)查找并替换 (C)增加 (D)删除 5.指出下列运行结果(A) publicclassExample{ Stringstr=newString("good"); char[]ch={'a','b','c'}; publicstaticvoidmain(Stringargs[]){ Exampleex=newExample(); ex.change(ex.str,ex.ch); System.out.print(ex.str+"and"); System.out.print(ex.ch); } publicvoidchange(Stringstr,charch[]){ str="testok"; ch[0]='g'; } } (A)goodandabc (B)goodandgbc (C)testokandabc (D)Testokandgbc 6.下面的程序段执行后输出的结果是(A)。 StringBufferbuf=newStringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); (A)Beijing@2008(B)@Beijing2008 (C)Beijing2008@(D)Beijing#2008 7.下列不属于整形变量内容的是(C) (A)Byte (B)Short (C)Float (D)long 二、填空题 1.字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用StringBuffer类的对象表示。 2.在java语言中,如果数值后没有字母,计算机默认值为double类型(double) 3.浮点型数据属于实型数据,属于float和double两种(double) 4.标示符是以字母、下划线、美元符号为首字母的字符串序列(字母) 三、简答题: 1.String和StringBuffer的区别 String是字符串常量类,该类创建的对象是不允许改变的,即长度固定,内容不变。 StringBuffer是字符串变量类,该类创建的对象是允许改变的。 2.==与equals的区别 第4章类与对象 一、选择题 1.以下程序的运行结果为: (B) publicclassA{ staticintk=3; publicstaticvoidmain(String[]args){ intk=4; Ax1=newA(); x1.k++; Ax2=newA(); x2.k++; k++; System.out.println(x1.k); } } (A)3(B)4(C)5(D)6 2.编译和运行以下程序结果为: (B) publicclassA{ staticintk=3; staticintm; publicstaticvoidmain(String[]args){ k++; if(m==0) System.out.println(k); else System.out.println(B.k); k++; } } classB{ staticintk=6; } (A)3(B)4(C)5(D).编译错误 3.关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) (A)可以被三种类所引用: 该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 (B)可以被两种类访问和引用: 该类本身、该类的所有子类 (C)只能被该类自身所访问和修改 (D)只能被同一个包中的类访问 4.下列关于修饰符混用的说法,错误的是(D) (A)abstract不能与final并列修饰同一个类 (B)abstract类中不可以有private的成员方法 (C)abstract方法必须在abstract类中 (D)staic方法中能处理非static的属性 5.下面是有关子类调用父类的构造方法的描述,正确的是(C) (A)子类定义了自己的构造方法,就不会调用父类的构造方法 (B)子类必须通过super关键字调用父类没有参数的构造方法 (C)如果子类的构造方法没有通过super调用父类的构造方法,那么子类会先调用用父类不含参数的构造方法,再调用子类自己的构造方法 (D)创建子类对象时,先调用子类自己的构造方法 6.假设Foo类有如下定义,设f是Foo的一个实例,下列哪个调用时错误的(A) PublicclassFoo { inti; staticStrings; voidimethod(){} Staticvoidsmethod(){} } (A)Foo.imethod(); (B)f.imethod(); (C)System.out.println(f.i); (D)Foo.smethod() 7.以下程序调试结果为: (C) classBase{ Base(){ inti=100; System.out.print(i); } } publicclassPriextendsBase{ staticinti=200; publicstaticvoidmain(Stringargv[]){ Prip=newPri(); System.out.print(i); } } (A)编译错误(B)200(C)100200(D)100 8试完成下述程序片段: (D) publicclassPoint() {intx,y; publicPoint(intx,inty) { =x; =y; } ...... } (A)Point.xPoint.y (B)无解(C)x1y1(D)this.xthis.y 9.以下声明合法的是(B) (A)defaultStrings;(B)publicfinalstaticintw(); (C)abstractdoubled; (D)abstractfinaldoublehyperbolicCosine(); 二、填空题: 1.Java原文件中最多只能有一个public类,其他类的个数不限。 继承主要情调子类在父类的基础上取长补短,而多态主要强调的是类与类之间的传输。 3.构造函数是类中的一个特殊方法,用它来定义对象的初始状态。 4.java语言中Object是所有类的根。 5.在java语言中有一种叫做构造函数特殊方法,在程序中用他来对类成员进行初始化。 (构造函数) 6.定义一个类包括定义类头和定义类体两个部分。 (类体) 7.java是面向对象语言,对象是客观事物的实体,对象与之是一一对应的,他是很具体的概念(实体) 三、简答题 1.简述类和对象的概念以及他们的区别 类: 具有相同属性和方法的一组对象的集合; 对象: 类的实体,客观事物的实体。 区别: 类是实体模型的概念,是抽象的,不具体的,而对象是一个实体,是真实的,具体的 2.什么是继承? 父类与子类的关系分别是什么含义,其关系如何? 继承: 从已有类派生出新类的过程,已有类称为父类,派生出的新类称为子类。 子类继承父类所有的成员变量,子类继承父类除构造方法之外的所有成员方法,子类可以增加成员,可以修改从父类继承的成员方法,但是不能删除从父类继承的成员。 Java中类是单继承的,即一个类只能继承一个父类,不能有多个父类 3.什么叫方法重写/覆盖(override)? 如果子类要重写/覆盖父类中的某个方法,则子类中的方法声明应该如何进行声明? 重写/覆盖: 子类的成员方法与父类中的某个成员方法的名字,返回值的类型,参数个数和类型与父类的方法完全相同时,父类的方法 同名方法将被隐藏,这种情况称为覆盖了父类的成员方法,子类通过方法的覆盖可以重写从父类继承的成员方法。 子类的该方法与父类必须有相同的名字,返回类型以及参数类型。 4.简述public,protected,private的作用,并比较他们的异同? Public: 可以被所有类访问。 Protected: 能被当前类及其子类或当前包中的其他类的访问。 Private: 仅能被当前类访问 第5章集合 一.简答题 1.简述ListMap,set的区别和联系 Set: 类似于集合,只是简单的把对象加入集合中,但set集合不能包含重复对象。 List(列表): 类似于数组,元素允许重复,每个元素的顺序就是对象插入的顺序。 Map: 提供key到value的映射,不能包含相同的key,每个key只能映射一个value 2.代码编写题 1.读代码,将代码补充完整 _______importjava.util.*;__A_____________//导包 publicclassGest{ publicstaticvoidmain(String[]args){ Listlist=newArrayList(); ____Scannerscanner=newScanner(System.in);______B___________//从键盘上输入 Stringname; while(true){ System.out.print("访客名称: "); name=scanner.nextLine(); if(name.equals("quit"))break; ______list.add(name);____C_____________//将name添加到list表单里 } System.out.print("访客名单"); System.out.println(list); foreach(list); } privatestaticvoidforeach(Listlist){ for(inti=0;i ___________D___Stringstr=list.get(i);________//读取list中的信息 _______System.out.println(str.toUpperCase()+"");_____E_____________//将list中的小写字母转换为大写字母输出 } } } A: ________________________ B: _____________________________ C: _____________________________ D: _____________________________ E: _____________________________ 2.假设存在一个person.properties文件,文件内容为: #summary #WedSep2617: 02: 11CST2012 age=10 password=123456 username=Mary 读一下代码,补充完整。 importjava.util.*; importjava.io.*; publicclassPropertiesDemo2{ publicstaticvoidmain(String[]args)throwsIOException{ Propertiesprops=newProperties();A//得到Properties对像对像名自取 props.load("person.properties");B//加载person.properties文件 System.out.println(props); //从内存集合props中读属性信息,显示在CRT上 System.out.println(props.getProperty("username");C);//输出用户名 System.out.println(props.getProperty("password");D);//输出密码 System.out.println(props.getProperty("description")); //修改获增加内存集合props中属性信息 props.setProperty("username","Mary"); props.setProperty("sex","female"); props.setProperty("age","60"); props.setProperty("description","一个骨灰级美女"); //将内存集合props中属性信息,存储到磁盘文件person.properties中 Props.store("person.properties","summary");E } } A: B: C: D: E: 3.读下列代码,补充完整。 importjava.util.*; publicclassMapKeyValue{ publicstaticvoidmain(String[]args){ Mapmap=newHashMap();A//得到一个Map对象 map.put("one","一"); map.put("two","二"); map.put("three","三"); Collectionsets;//Iterablesets; Iteratorit; System.out.println("\n1--显示键"); sets=map.keySet(); Bit=sets.iterator();//遍历sets while(it.hasNext()C){ Stringelement=(String)it.next(); System.out.println(element); } System.out.println("\n2--显示值"); sets=map.values();D//将map里的值放到sets里 it=sets.iterator(); while(it.hasNext()){ Stringelement=(String)it.next(); System.out.println(element); } } publicstaticvoidforeach(Iterablesets){ Iteratorit=sets.iterator();E//得到一个迭代器对象it while(it.hasNext()){ Stringelement=(String)it.next(); System.out.println(element); } } } A:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言 Java 语言 复习资料