java复习题Word文档格式.docx
《java复习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《java复习题Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
A.PanelB.FrameC.AppletD.Dialog
12.以下代码段执行后的输出结果为(A)。
intx=-3;
inty=-10;
System.out.println(y%x);
A.-1B.2C.1D.3
13.设数组age由以下语句定义intage=newint[9];
则数组的最后一个元素的正确引用方法为(D)。
A.age[9]B.age[0]C.age[0]D.age[8]
14.设x=1,y=2,z=3,则表达式y+=z--/++x的值是(B)。
A.3B.3.5C.4D.5
15.以public修饰的类如:
publicclassHW{}则HW()。
A.不能被其它类继承B.仅能被本程序包中的类使用
C.不能被任意其它类使用D.可被其它程序包中的类使用
16.不允许作为类及类成员的访问控制符的是(C)。
A.publicB.privateC.staticD.protected
17.程序Test.java编译运行后输出的结果是(A)。
publicclassTest{
Strings1="
java"
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
}}
A.java2B.2C.没有输出结果D.java
18.要想定义一个不能被子类继承的的类,在类定义中必须加上修饰符(D)。
A.finalB.publicC.privateD.abstract
19.应用程序的main方法中有以下语句,则执行后输出的结果是(D)。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;
i<
x.length;
i++){if(x[i]>
max)max=x[i];
}System.out.println(max);
A.125B.5C.98D.168
20.类的实例方法所表示的是(C)。
A.那个类的属性B.那个类的行为C.从那个类创建的对象的行为D.都不对
21.Swing与AWT的区别不包括(D)。
A.Swing是由纯Java实现的轻量级构件B.Swing没有本地代码
C.Swing不依赖操作系统的支持D.Swing支持图形用户界面
22.在Java语言中,如果希望一个public类中的某个变量能被本包中的其他类和所有其他包中的子类访问的话,这个变量应被声明为(B)。
23.假定z的初值为3,则下列()表达式运算后的z值为0。
A.z+=zB.z-=2C.z/=z+zD.z*=z+2
24.有关变量的说法不正确的是()。
A.定义变量时需要指定其类型B.程序中的变量是用来存放数据之用的
C.变量所占据的存储空间大小由其数据类型决定D.不同数据类型的变量间不能互相赋值
25.若数组a定义为int[][]a=newint[3][4],则a是(B)。
A.一维数组B.二维数组C.三维数组D.四维数组
26.编译并运行下面的Java程序,将产生(B)结果。
classA{intvar1=1;
intvar2;
publicstaticvoidmain(String[]args){
intvar3=3;
Aa=newA();
System.out.println(a.var1+a.var2+var3);
}
}
A.0B.4C.3D.代码无法编译,因为var2根本没有被初始化
27.应用程序的main方法中有以下语句,则输出的结果是(A)。
0.5"
s2="
12"
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
A.12.5B.120.5C.12D.“12.5”
28.在Java中,调用Math.random()方法可能返回的结果是(A)。
A.132.34B.0.342C.29.34E10D.1.0009
29.下列程序段执行后的结果是(C)。
Strings=newString("
abcdefg"
);
for(inti=0;
i<
s.length();
i+=2){
System.out.print(s.charAt(i));
A.acegB.ACEGC.abcdefgD.abcd
30.分析下面的程序段,下面的哪个描述是正确的(B)。
charmychar=’c’;
switch(mychar){
default:
case‘a’:
System.out.println(“a”);
break;
case‘b’:
System.out.println(“b”);
break;
A.switch语句块是错误的,因为switch后面的表达式值的类型不是整数;
B.switch语句块是正确的;
C.switch语句块是错误的,因为default没有放在语句块的最后面;
D.代码运行时,没有任何输出结果。
31.编译并运行下面的Java程序,将产生(B)结果。
classA{
intvar1=1;
intvar2;
publicstaticvoidmain(String[]args){
intvar3=3;
Aa=newA();
}}
32.设数组age由以下语句定义:
intage=newint[16];
则数组的最后一个元素的正确引用方法为(B)。
A.age[16]B.age[15]C.age[]D.age[0]
33.在Java中,执行下面的语句后,c的值为(B)。
Strings="
Jessica"
charc=s.charAt(6);
A."
c"
B."
a"
C.'
c'
D.'
a'
34.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是(D)。
importjava.io.*;
publicstaticvoidmain(Stringargs[]){
try{Strings="
ABCDE"
byteb[]=s.getBytes();
FileOutputStreamfile=newFileOutputStream("
test.txt"
true);
file.write(B);
file.close();
}
catch(IOExceptione){
System.out.println(e.toString());
}}}
A.ABCABCB.ABCDEC.TestD.ABCDEABCDEABCDE
35.下面语句的功能是(A)。
RandomAccessFileraf2=newRandomAccessFile("
1.txt"
"
rw"
);
A.打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B.打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C.打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D.以上说法都不对。
36.下列有关Java语言的叙述中,正确的是(B)。
A.Java是不区分大小写的B.源文件名与public类型的类名必须相同
C.源文件名其扩展名为.jarD.源文件中public类的数目不限
37.应用程序的main方法中有以下语句,则输出的结果是(C)。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;
b.length;
i++){
for(intj=0;
j<
b[i].length;
j++){
sum*=b[i][j];
System.out.println("
sum="
+sum);
A.32B.11C.2D.3
38.下面应用程序中的main()方法声明是正确的(B)。
A.publicstaticvoidmain()B.publicstaticvoidmain(String[]string)
C.publicstaticvoidmain(Stringargs)D.staticpublicintmain(String[]args)
39.如要抛出异常,应用下列哪种子句?
(B)
A.catchB.throwC.tryD.finally
40.TextArea对象不能注册下列哪个接口?
()
A.TextListenerB.ActionListener
41.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用(A)类的对象来实现。
A.Label
B.Button
C.TextArea
D.TextField
42.选择输出结果()
publicstaticvoidchangeStr(Stringstr){
str="
welcome"
publicstaticvoidmain(String[]args){
Stringstr="
1234"
changeStr(str);
System.out.println(str);
A.1234B.welcomeC.1234welcomeD.welcome1234
43.已知一个事件ActionEvent,下面哪个方法得到事件源组件?
(C)
A.getTarget()B.getClass()C.getSource()D.getActionCommand()
44.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(A)个比特位。
A.8B.16C.32D.64
45.下列的哪个选项可以正确用以表示十六进制值16?
(D)
A.0x8B.0x10C.08D.010
46.Java源文件和编译后的文件扩展名分别为(A)。
A..class和.javaB..java和.classC..class和.classD..java和.java
47.按照Java的标识符命名规范,下列表示一个类的标识符正确的是(B)。
A.HelloworldB.HelloWorldC.helloworldD.helloWorld
48.用来导入已定义好的类或包的语句是(B)。
A.mainB.importC.publicclassD.class
49.有整型数组:
int[]x={12,35,8,7,2};
则调用方法Arrays.sort(x)后,数组x中的元素值依次是(A)。
A.2781235B.1235872
C.3512872D.8712352
50.以下声明,错误的是()。
A.inta[]=newint[10]B.inta[10]
C.String[]a;
a=int[10]D.Stringa[]={“a”,”b”,”c”,”hello”}
填空题
1.一个JavaApplication程序中有且只有一个____main()______方法,它是整个程序的执行入口。
2.顺序执行以下两个语句的输出结果是:
_____【9】_____。
Strings="
我喜欢学习Java语言"
System.out.println(s.length());
3.设x=2,则表达式(x++)*3的值是_____9_____,表达式(x++)/3的值是_____0_____。
4.设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};
则执行以下几个语句后的输出结果是_____120_____。
ints=0;
for(inti=0;
i<
MyIntArray.length;
i++)
if(i%2==1)s+=MyIntArray[i];
System.out.println(s);
5.方法通常可以认为由两部分组成,它们是_____方法声明_____和_____方法体_____。
6.使用两个下标的数组被称为二维数组,假定有如下语句:
floatscores[][]={{1,2,3},{4,5},{6,7,8,9}};
则scores.length的值为_____3_____,
scores[1].length的值为____4______,scores[1][1]的值为______5____。
7.若int[][]a={{1,2},{3,4,5},{6,7,8},{9,10},{11,12,13,14,15}},请问a.length=__________,a[2].length=__________,
a[3].length=__________。
8.在Java中定义一个字word,占用空间是____4______字节。
9.定义一个具有10个元素的整型数组a的语句是:
_____________int[]a=newint[10];
_____________________。
10.在Java语言中,实型常量7.6545默认为__________类型的数据。
11.若x=5,y=10,则x<
y和x>
=y的逻辑值分别为____ture______和______false____。
12.在Java源程序文件中有三种形式的注释,分别是:
单行注释、多行注释及_______文档注释___________。
13.类的成员变量和成员方法的访问权限有public、________private、protected_______和default。
14.Java的输入输出流可分为字节流和________字符流_________。
15.循环语句包括_______for__________语句、while语句和________do-while__________语句。
判断题
1.Java系统包提供了很多预定义类,我们可以直接引用它们而不必从头开始编写程序。
(T)
2.一个JavaApplication程序中可以有一个或多个类,但有且只能有一个包含main方法的主类。
(T)
3.判断下面语句组的正确性。
(F)
intarray[10]=newint[10];
array[10]=10;
4.文件读写时可能产生输入输出异常,所以需要把完成这些操作的语句放在try-catch结构中,打开一个文件输入输出流时则不需要使用try-catch结构。
5.定义完数组后,我们可以根据实际需要动态调整数组大小。
6.在面向对象方法中,类的实例称为对象。
(F)
7.菜单开发的五个元素分别是:
菜单栏、菜单项、子菜单、分隔条和快捷键。
(T)
8.Math.round(-11.5)返回-11。
(T)
9.Java的图形界面的容器共有五种布局管理策略,其中最复杂的是GridLayout。
(F)
10.程序可以用字符‘*’替代一个TextField中的每个字符的显示,使别人看不出其中的具体内容。
(T)
11.使用方法length()可以获得字符串或数组的长度。
(T)
12.使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器。
(T)
13.容器Applet、Panel、Frame的缺省布局管理器都是FlowLayout。
(F)
14.如果程序运行到try块中的某个语句产生了异常,则流程将跳过try块后面的语句,直接进入try块后面的catch块;
如果try块中没有语句产生异常,则在执行完try块中的全部语句后,再进入try块后面的catch块。
15.定义完数组后,我们可以根据实际需要动态调整数组大小。
(F)
16.一个源程序里有且只能有一个公共类,它就是主类。
17.一个复选按钮实现的是“二选一”的结构,一个单选按钮组实现的是“多选一”的结构。
18.数组有length()方法。
19.新创建的Frame窗体对象,会自动显示在屏幕上。
20.所有的鼠标事件都由实现了MouseListener监听接口的监听者来外理。
程序填空
1.输入一个大于1的整数,求1到这个数的阶乘。
(提示:
5的阶乘表示为5!
,计算公式:
5!
=1*2*3*4*5)
publicclassFactorial1{
publicstaticvoidmain(String[]args){
intnum=Integer.parseInt(args[0]);
intresult=1;
inti=1;
if(num<
1)
System.out.println("
应输入大于1的整数!
"
else{while(i<
=num){
result=_____result*i___________;
i++;
System.out.println(num+"
的阶乘是"
+result);
}
2.利用while语句编写一个求和程序(即sum=1+2+3+…+n)。
publicclassxt021202{
publicstaticvoidmain(Stringargs[]){
inti,n=100;
longsum=0;
i=1;
while(i<
=n)
{___sum=sum+i_____________;
i=i+1;
System.out.println("
sum[1:
n]="
}}
3.编写一个方法,实现将字符数组倒序排列,即进行反序存放。
publicclassTest
{publicstaticvoidmain(String[]args)throwsIOException{
charc[]={'
O'
'
l'
y'
m'
p'
i'
c'
'
G'
a'
e'
s'
};
rever(c);
System.out.println(c);
publicstaticvoidrever(charc[]){
chart;
for(inti=0,j=c.length-1;
j;
i++,j--)
{t=c[i];
___c[i]=c[j]_____________;
c[j]=t;
}
4.利用dowhile语句编写一个求和程序(即sum=1+2+3+…+n)。
publicclassxt021203{
publicstatic