java复习.docx
《java复习.docx》由会员分享,可在线阅读,更多相关《java复习.docx(21页珍藏版)》请在冰点文库上搜索。
java复习
一.单项选择题
1.如下哪个是Java中的标识符()
A.publicB.superC.3numberD.width
2.如下哪个是Java中的标识符()
A.fieldnameB.superC.3numberD.#number
3.下面的代码段执行之后count的值是什么()
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
A.5B.1C.15D.16
4.定义一个类,必须使用的关键字是()
A.publicB.classC.interfaceD.static
5.定义一个接口必须使用的关键字是()
A.publicB.classC.interfaceD.static
6.如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()
A.p.add(b);B.p.add(b,"North");
C.p.add(b,"South");D.b.add(p,"North");
7.下列语句序列执行后,k的值是(B)。
intm=3,n=6,k=0;
while((m++)<(--n))++k;
A)0B)1C)2D)3
8.设i.j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。
A)i=i+2B)a[0]=7;
C)i++---j;D)a(0)=66;
9.已知如下定义:
Strings="story";下面哪个语句不是合法的()
A.s+="books";B.s=s+100;
C.intlen=s.length;D.Stringt=s+“abc”;
10.如下哪个是Java中有效的关键字()
A.nameB.helloC.falseD.good
11.Java语言的类间的继承关系是()。
A)多重的B)单重的C)线程的D)不能继承
12.设有定义inti=6;,则执行以下语句后,i的值为()。
i+=i-1;
A)10B)121C)11D)100
13.下列选项中,用于在定义子类时声明父类名的关键字是()。
A)interfaceB)packageC)extendsD)class
14.若已定义byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是()。
A)x[5-3]B)x[k]C)x[k+5]D)x[0]
15.下列语句序列执行后,ch1的值是()。
charch1='A',ch2='W';
if(ch1+2A)'A'B)'B'C)'C'D)B
16.下列语句序列执行后,i的值是()。
inti=8,j=16;
if(i-1>j)i--;elsej--;
A)15B)16C)7D)8
17.声明并创建一个按钮对象b,应该使用的语句是()
A.Buttonb=newButton();B.buttonb=newbutton();
C.Buttonb=newb();D.b.setLabel(“确定”);
18.Frame对象默认的布局管理器是()
A.FlowLayoutB.BorderLayout
C.CardLayoutD.null
19.下列语句序列执行后,k的值是()。
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
20.下面语句执行后,i的值是()。
for(inti=0,j=1;j<5;j+=3)i=i+j;
A)4B)5C)6D)7
21.以下程序的输出结果是
A)1,6,3,1,3
B)1,6,3,2,3
C)1,6,3,6,3
D)1,7,3,2,3
main()
{inti=1,j=3;
printf("%d,",i++);
{inti=0;
i+=j*2;
printf("%d,%d,",i,j);
}
printf("%d,%d\\n",i,j);
}
22.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中0≤i≤9,则对a数组元素的引用不正确的是
A)a[p-a]
B)*(&a[i])
C)p[i]
D)*(*(a+i))
23.以下程序的输出结果是
A)3
B)4
C)1
D)2
main()
{
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\\n",*(p+2));
}
24.以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是
A)212
B)204
C)1a4
D)1a6
main()
{
inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\\n",p);
printf("%x\\n",p+9);
}
25.若有定义和语句:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p[4],i;
for(i=0;i<4;i++)p[i]=a[i];
则不能够正确表示a数组元素的表达式是
A)a[4][3]
B)p[0][0]
C)prt[2][2]
D)
(*(p+1))[1]
26.下列叙述中,错误的是______。
A.Applet的默认布局管理器是FlowLayout
B.JApplet中增加构件是加到JApplet的内容面板上,不是直接加到JApplet中
C.JApplet的内容面板的默认布局管理器是BorderLayout
D.JApplet的内容面板的默认布局管理器是FlowLayout
27.Java对I/O访问所提供的同步处理机制是______。
A.字节流
B.过滤流
C.字符流
D.压缩文件流
28.Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是______。
A.getAbsolutePath()
B.getParentFile()
C.getAbsoluteFile()
D.getName()
29.下列对Java语言的叙述中,错误的是______。
A.Java虚拟机解释执行字节码
B.JDK的库文件目录是bin
C.Java的类是对具有相同行为对象的一种抽象
D.Java中的垃圾回收机制是一个系统级的线程
30.下列不属于Swing构件的是______。
A.JMenu
B.JApplet
C.JOptionPane
D.Panel
31.下列概念中不包括任何实现,与存储空间没有任何关系的是______。
A.类
B.接口
C.抽象类
D.对象
32.阅读下列代码;
publicclassTest{
Strings="OneWorldOneDream";
publicstaticvoidmain(Stringargs[]){
System.out.println(s);
}
}
其运行结果是______。
A.args
B.OneWorldOneDream
C.s
D.编译时出错//除非创建Text类的对象
33.阅读下列代码段
ByteArrayOutputStreambout=newByteArrayOutputStream();
ObjectOutputStreamout=newObjectOutputStream(bout);
out.writeObject(this);
out.close();
以上代码段的作用是______。
A.将对象写入内存
B.将对象写入硬盘
C.将对象写入光盘
D.将对象写入文件
34.阅读下列代码段
abstractclassPerson{
publicPerson(Stringn){
name=n;
}
public______StringgetDescription();
publicStringgetName(){
returnname;
}
privateStringname;
}
在下划线处应填入的修饰符是______。
A.static
B.abstract
C.protected
D.final
35.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是()。
A)x>y||x>zB)x!
=y
C)z>(y+x)D)x(x36.下列语句序列执行后,i的值是()。
inti=16;
do{i/=2;}while(i>3);
A)16B)8C)4D)2
37.以下由for语句构成的循环执行的次数是()。
for(inti=0;true;i++);
A)有语法错,不能执行B)无限次
C)执行1次D)一次也不执行
38.定义类头时能使用的修饰符是()。
A)privateB)staticC)abstractD)protected
39.设int型变量a.b,float型变量x.y,char型变量ch均已正确定义并赋值,正确的switch语句是()。
A)switch(x+y)B)switch(ch+1)
{......}{......}
C)switchchD)switch(a+b);
{......}{......}
40.下列最终属性i的定义中,正确的是()。
A)staticfinalinti=100;B)finalinti=1.2;
C)finali='w';D)finalchari;
41.下列类定义中,不正确的是()。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
42.设x.y为已定义的类名,下列声明x类的对象x1的语句中正确的是()。
A)staticxx1;B)publicxx1=newx(int123);
C)yx1;D)xx1=x();
43.设i.j.k为类x中定义的int型变量名,下列类x的构造函数中不正确的是()。
A)x(intm){...}B)voidx(intm){...}
C)x(intm,intn){...}D)x(inth,intm,intn){...}
44.下列方法定义中,正确的是()。
A)intx(){charch='a';return(int)ch;}
B)voidx(){...returntrue;}
C)intx(){...returntrue;}
D)intx(inta,b){returna+b;}
45.用于定义类成员的访问控制权的一组关键字是()。
A)class,float,double,public
B)float,boolean,int,long
C)char,extends,float,double
D)public,private,protected
46.不能构成循环的语句是()。
A)for语句B)while语句C)switch语句D)do__while语句
47.下列程序段执行后b3的结果是()。
booleanb1=true,b2,b3;
24=b1?
b1:
b2;
A)0B)1C)trueD)false
48下面数据结构中,属于非线性的是()。
A)线性表B)树C)队列D)堆栈
49.设有定义inti=123;longj=456;下面赋值不正确的语句是()。
A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;
50.下列哪一个import命令可以使我们在程序中创建输入/输出流对象()
A.importjava.sql.*;B.importjava.util.*;
C.importjava.io.*;D.import.*;
51.下面哪一个import命令可以为我们提供编写网络应用程序的类()
A.importjava.sql.*;B.importjava.util.*;
C.importjava.io.*;D.import.*;
52.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()
A.FileInputStreamB.FileOutputStream
C.DataOutputStreamD.FileWriter
53.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A..javaB..class
C..htmlD..exe
54.设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。
A.3B.3.5
C.4D.5
55.在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画图操作。
A.start()B.stop()
C.init()D.paint()
56.不允许作为类及类成员的访问控制符的是()。
A.publicB.private
C.staticD.protected
57.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
二.填空题
1.当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(),数组名是(),数组的大小为(),数组元素下标的使用范围是()。
2.假设x=13,y=4,则表达式x%y!
=0的值是(),其数据类型是()。
3.如果将类MyClass声明为public,它的文件名称必须是()才能正常编译。
4.Java中用于定义小数的关键字有两个:
()和(),后者精度高于前者。
5.Java中用于两个数相等比较的运算符是:
(),用于不相等比较的运算符是()。
6.在Java中定义一个字符串类型的变量str的语句是:
(),定义一个具有10个元素的整型数组a的语句是:
()。
7.导入mypackage包中的所类的命令是(;)。
8.异常处理是由().()和finally块三个关键所组成的程序块。
9.以下程序段的输出结果是()
intx=5,y=6,z=4;
if(x+y>z&&x+z>y&&z+y>x)
System.out.println("三角形");
else
System.out.println("不是三角形");
10.Java程序中的单行注释符是(),多行注释符是()。
11.Java中布尔类型的常量有两种,它们是()和()。
12.下面程序段的执行结果是()
inta[]={2,3,4,5,6};
for(inti=a.length-1;i>=0;i--)
System.out.print(a[i]+"");
13.开发与运行Java程序需要经过的三个主要步骤为.
和。
14.如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名为。
3.如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生个文件名与类名相同而扩展名为的字节码文件。
15.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占
用字节内存空间,这样,无论是中文字符还是英文字符,都是占
用字节内存空间。
16.Java的复合数据类型有:
类.数组和_____等。
Java的简单数据类型有:
数值类型(整形和浮点类型),自负类型和布尔类型
17.表达式3/6*5的计算结果是________。
18.定义初值为10的10次方的长整型变量lvar的语句是:
_____________________。
19.顺序结构.分支结构(或称选择结构).__________是结构化程序设计的三种基本流程控制结构。
20.以下方法m的功能是求两参数之积的整数部分。
intm(floatx,floaty)
{_______________;}
21.Java源程序文件编译后产生的文件称为_______文件,其扩展名为__________。
22.设x=2,则表达式(x++)/3的值是。
23.若x=5,y=10,则x=y的逻辑值分别为和。
24.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
方法是不能被当前类的子类重新定义的方法。
25.创建一个名为MyPackage的包的语句是,
该语句应该放在程序的位置为:
。
26.设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是。
ints=0;
for(inti=0;iif(i%2==1)s+=MyIntArray[i];
System.out.println(s);
27.在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系。
三.程序阅读题
1.以下程序的输出结果为___。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
System.out.println(c.name+"is"+c.age+"yearsold!
");
}
}
2.以下程序的输出结果为_____。
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
}
publicvoidprintCourseInfo(){
System.out.println("课程号:
"+cNumber+"课程名:
"+cName+"学分:
"+cUnit);
}
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
c=newCourse("101","ASP",3);
c.printCourseInfo();
}
}
3.请写下程序的输出结果:
publicclassTest52
{
Stringstr1="Hello,Javaworld!
\t";
Stringstr2="Hello,students!
";
publicstaticvoidmain(Stringargs[])
{
System.out.print(str1);
System.out.println(str2);
}
}
输出结果:
4.请写下程序的输出结果:
publicclassT2_4{
public