附答案《Java语言》复习资料.docx
- 文档编号:12340594
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:59
- 大小:97.07KB
附答案《Java语言》复习资料.docx
《附答案《Java语言》复习资料.docx》由会员分享,可在线阅读,更多相关《附答案《Java语言》复习资料.docx(59页珍藏版)》请在冰豆网上搜索。
附答案《Java语言》复习资料
该答案存在错误之处,仅供参考。
---计科101郝佳
第一章Java语言概论&第二章Java语言程序设计基础
1、单选题
1.一个Java源程序为Test.java,编译该程序应该使用的命令为(B)。
(A)javacTest(B)javacTest.java(C)javaTest(D)javaTest.java
编译:
javac文件名.java
运行:
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[])publicstaticvoidmain(String[]args)
(C)publicstaticintmain(String[]args)
(D)publicvoidmain(Stringargs[])
4.对一个java源文件aaa.java,编辑保存后但未编译,在其所在目录下执行javaaaa,则接着会出现什么(A)。
(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语言鲁棒性特点的是(B)
(A)java能检查程序在变异和运行时的错误
(B)java能运行虚拟机实现跨平台
(C)java自己操纵内存,减少了内存出错的可能性
(D)java语言还实现了真数组,避免了覆盖数据的可能
2、简答题
1.安装JDK后如何对环境变量进行设置?
安装JDK后,还需要设置路径,即把jdk/bin目录加入到执行路径中,该路径是操作系统寻找本地Java运行环境的目录列表。
右击桌面上【我的电脑】图标,在打开的快捷菜单中选择【属性】命令,则弹出【系统属性】的窗口,选择【高级】选项卡,然后单击【环境变量】按钮。
在【环境变量】对话框中选择【系统变量】的path路径,单击【编辑】按钮。
弹出【编辑系统变量】对话框,在【变量值】文本框中加入“C:
\ProgramFiles(x86)\Java\jdk1.7.0_05\bin;”(即jdk/bin目录所在路径,注意路径之间用“;”分隔)。
2.常量和变量有什么区别?
常量的值在运行期间恒定不变,常量标识符在程序中只能被引用,而不能被重新赋值。
使用常量可以增强程序的可读性、课维护性。
变量是一个用来存取数据的存储单元,其中存储的值可以在程序执行过程中修改。
3.写出下面程序的运行结果
(1)考点:
字符串连接方法,Strings1=xx;Strings2=yy;连接为xxyy方法为xx+yy
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)
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章数组与字符串 一维数组的表示方法: 数据类型数组名[]intscore[] 数据类型[]数组名int[]score 二维数组的表示方法: 数据类型数组名[][] 数据类型[][]数组名 一、选择题 1.在注释//StartForloop处要插入哪段代码可实现根据变量i的值定位数组ia[]的元素? (D)每个数组都有个属性length,数组(int[]score)长度的表示方法score.length 字符串常用的方法之一: 字符串的长度length() 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]); } } i=0: 23468 i=1: 34688 i=2: 46888 (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.指出下列运行结果(B)? ? ? 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()); StringBuffer字符串缓冲区 insert(intoffset,Stringstr)将字符串插入此字符序列中。 (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的区别 ==: 比较的是两个对象的地址是否相同 Equals: 如果没有被重写,比较的是两个对象的地址是否相同。 但是在String中,equal被重写,比较的是两个对象的内容是否相同。 第4章类与对象 类的成员变量: (1)实例变量: 没有static修饰访问方式: 对象名.实例变量名 (2)类变量/静态变量: 有static修饰访问方式: 类名|对象名.类变量名 类的成员方法: 与上面类似 实例方法可以操作静态变量,但是静态方法不能操作实例变量 抽象类与抽象方法: 用关键字abstract修饰的类称为抽象类。 用关键字abstract修饰的方法称为抽象方法。 抽象类可以包含抽象方法,也可以包含非抽象方法。 但是不能在非抽象类中声明抽象方法。 最终类: 用关键字final声明。 最终类中包含的都是最终方法。 而非最终类也可以包含最终方法。 一、选择题 1.以下程序的运行结果为: (C) 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;静态变量,默认值为0 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)static方法中能处理非static的属性 Static方法不能操作非static变量 抽象类abstract: 构造方法、静态成员方法不能被声明为抽象方法。 最终类final: 最终类不能被继承。 最终类中包含的都是最终方法。 而非最终类中也可以包含最终方法。 构造函数和静态函数以及Final修饰的函数不能使用abstract修饰符 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.以下声明合法的是(C) (A)defaultStrings;default应该去掉 (B)publicfinalstaticintw(); (C)abstractdoubled; (D)abstractfinaldoublehyperbolicCosine(); 二、填空题: 1.Java原文件中最多只能有一个父类,其他类的个数不限。 2.继承主要强调子类在父类的基础上取长补短,而多态主要强调的是类与类之间的传输。 3.构造函数是类中的一个特殊方法,用它来定义对象的初始状态。 4.java语言中java.lang.Object是所有类的根。 5.在java语言中有一种叫做构造函数特殊方法,在程序中用他来对类成员进行初始化。 (构造函数) 6.定义一个类包括定义类头和定义类体两个部分。 (类体) 7.java是面向对象语言,对象是客观事物的实体,对象与之是一一对应的,他是很具体的概念(实体) 三、简答题 1.简述类和对象的概念以及他们的区别 类: 具有相同属性和方法的一组对象的集合。 对象: 具有类类型的变量。 区别: 类是实体模型的概念,是抽象的,不具体的。 而对象则是一个实体,是真实的,具体的。 2.什么是继承? 父类与子类的关系分别是什么含义,其关系如何? 继承: 从已有类派生出新类的过程称为继承。 父类: 已有类称为父类 子类: 派生出的新类称为子类。 父类和子类的关系: 子类是从父类派生出来的。 子类的实例都是父类的实例,但不能说父类的实例是子类的实例。 3.什么叫方法重写/覆盖(override)? 如果子类要重写/覆盖父类中的某个方法,则子类中的方法声明应该如何进行声明? 方法重写/覆盖: 一个类中不同的的方法使用相同的名字,而方法的参数列表在数据类型、参数个数或者参数次序上有所不同。 子类的成员方法的名字、返回值的类型、参数的个数和类型与父类的某个方法要完全相同。 4.简述public,protected,private的作用,并比较他们的异同? Public: 用于声明共有类成员,该成员可以被所有类访问。 Private: 用于声明私有类成员,该成员仅能被当前类的成员访问。 Protected: 用于声明保护型类成员,该成员能被当前类及其子类或者当前包中的其他类访问。 第5章集合 Map: HashMap,TreeMap Set: HashMap,TreeMap List: ArrayList,LinkedList Collection接口常用方法: iterator返会在此Collection上进行迭代的迭代器。 Iterator对Collection进行迭代的迭代器。 一.简答题 1.简述List,Map,set的区别和联系 List(列表): 与数组相似,元素对象可重复。 (有序可重复) Map(映射): 集合中的元素包含一对键。 对象和值的对象,键不重复,值可以重复。 Set(集): 相当于数学的集合,元素对象不能重复。 (无序不重复) 2.代码编写题 1.读代码,将代码补充完整 _________A_____________//导包 publicclassGest{ publicstaticvoidmain(String[]args){ Listlist=newArrayList(); __________B___________//从键盘上输入 Stringname; while(true){ System.out.print("访客名称: "); name=scanner.nextLine(); if(name.equals("quit"))break; __________C_____________//将name添加到list表单里 } System.out.print("访客名单"); System.out.println(list); foreach(list); } privatestaticvoidforeach(Listlist){ for(inti=0;i ___________D____________//读取list中的信息 ____________E_____________//将list中的小写字母转换为大写字母输出 } } } A: __importjava.util.*_;__________ B: __Scannerscanner=newScanner(System.in);____ C: ___list.add(name)_;_____________________ D: ____Stringgest=(String)list.get(i);_____________ E: ___System.out.print(gest.toUpperCase()+"");_______ 2.假设存在一个person.properties文件,文件内容为: #summary #WedSep2617: 02: 11CST2012 age=10 password=123456 username=Mary 读一下代码,补充完整。 importjava.util.*; importjava.io.*; publicclassPropertiesDemo2{ publicstaticvoidmain(String[]args)throwsIOException{ A//得到Properties对像对像名自取 B//加载person.properties文件 System.out.println(props); //从内存集合props中读属性信息,显示在CRT上 System.out.println(C);//输出用户名 System.out.println(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中 E } } A: Propertiesprops=newProperties(); B: props
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言 答案 Java 语言 复习资料