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: