java复习资料东合.docx
《java复习资料东合.docx》由会员分享,可在线阅读,更多相关《java复习资料东合.docx(16页珍藏版)》请在冰豆网上搜索。
java复习资料东合
一、选择题:
1、执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的(A)
A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空
2、以下代码段执行后的输出结果为(B)
intx=3;inty=10;
System.out.println(y%x);
A、0B、1C、2D、3
3、下列选项中,合法的String型字符串常量是(D )
A、’M’ B、Howareyou C、’#apple’ D、"apple"
4、编译运行以下程序后,关于输出结果的说明正确的是(C)
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println(“valueis“+((x>4)?
99.9:
9));
}
}
A、输出结果为:
valueis99.99B、输出结果为:
valueis9
C、输出结果为:
valueis9.0D、编译错误
5、以下声明合法的是(B)
A、defaultStrings;B、publicfinalstaticnativeintw()
C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()
6、以下描述正确的是(C )
A、 在Java中任何类都可以创建该类的对象
B、 在定义抽象类时使用的关键字是ABSTRACT
C、 当一个类被final关键字修饰后,它将不能再派生子类
D、 在Java中,不再引用的空间必须由程序员释放
7、Java中定义常量的保留字是(B)。
A)const B)final C)finallyD)native
8、java中所有类的父类是(D)。
A)Father B)Lang C)ExceptionD)Object
9、下面程序的运行结果是( A )。
inti=5;
System.out.print(i++);
System.out.print(i--);
System.out.print(--i);
System.out.print(i--);
A)5644 B)6543 C)6654 D)5654
10、以下关于构造函数的描述错误的是(A)。
A)构造函数的返回类型只能是void型。
B)构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C)构造函数的主要作用是完成对类的对象的初始化工作。
D)一般在创建新对象时,系统会自动调用构造函数。
11、类变量必须带有的修饰符是(A)。
A)staticB)finalC)publicD)Volatile
12、下列变量定义中,不合法的是(D)。
A)Int$X; B)int_123; C)intSummer_2010_gross_saIe; D)Int#dim;
13、以下程序的运行结果为( B)。
publicclassIfTest{
publicstaticvoidmain(Stringargs[]){
intx=3;
inty=1;
if(x==y)
System.out.println("Notequal");
else
System.out.println("Equal");
}
}
A)Notequal B)Equal C)无输出 D)编译出错
14、用鼠标点击菜单项(MenuItem)产生的事件是(B)。
A)MenuEvent B)ActionEvent C)KeyEventD)MouseEvent
15、以下代码段执行后的输出结果为(B)。
intx=3;inty=10;
System.out.println(y%x);
A)0B)1C)2D)3
16、容器Panel和Applet缺省使用的布局编辑策略是(B)
A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout
17、以下标识符中哪项是不合法的(C)
A、BigMeaninglessNameB、$int
C、1stD、$1
18、新创建的Frame是不可见的,使用()方法可使其可见。
A)setSize(300,200) B)SetVisible(true)C)dispose() D)repaint()
19、Frame默认的布局管理器是(B)。
A)FlowLayout B)BorderLayoutC)GridLayoutD)CardLayout
20、以下程序段执行时输入“javatest”,则输出结果为(B)。
classtest{
publicstaticvoidmain(Stringargs[]){
System.out.println(arg[0]);}
}
A)无任何输出 B)产生数组访问越界例外C)输出0D)输出test
21、关于以下程序段,说法正确的是(C)。
#01Strings1=”abc”+”edf”
#02Strings2=newString(s1);
#03if(s1==s2)
#04System.out.println(“==succeded”);
#05if(s1.equals(s2))
#06System.out.println(”.equals()succeded”);
A)行4与行6都将执行
B)行4执行,行6不执行
C)行4不执行,行6执行
D)行4与行6都不执行
22、下列数组定义中,正确的是( C )
A、inta[][]=newint[10,10];
B、inta[10][10];
C、inta[][]=newint[10][10];
D、inta[][10];
23、用于在子类中调用被重写父类方法的关键字是(B)。
A)this B)super C)ThisD)Super
24、下列关于修饰符混用的说法,错误的是(D)
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的变量
25、列程序段的输出结果是(D)
intdata=0;
chark='a',p='f';
data=p-k;
system.out.println(data);
A)0 B)a C)fD)5
26、下列数中为八进制的是(C)
A)27 B)0x25 C)026D)028
27、下列选项中,与成员变量共同构成一个类的是(B)
A)关键字 B)方法 C)运算符D)表达式
28、Java中的抽象类Reader和Writer所处理的流是(D)
A)图像流 B)对象流 C)字节流D)字符流
29、下列为窗口事件的是(B)
A)MouseEvent B)WindowEvent C)ActionEvent D)KeyEvent
30、用鼠标点击菜单项(MenuItem)产生的事件是(B)
A)MenuEvent B)ActionEvent C)KeyEventD)MouseEvent
31、)下列不属于逻辑运算符的是(D)
A)!
B)|| C)&&D)|
32、当使用SomeThreadt=newSomeThread()创建一个线程时,下列叙述中正确的是(C)
A)SomeThread类是包含run()方法的任意java类
B)SomeThread类一定要实现Runnable接口
C)SomeThread类是Thread类的子类
D)SomeThread类是Thread类的子类并且要实现Runnable接口
33、在程序的下划线处应填入的选项是(A)
publicclassTest_____{
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
Threadtt=newThread(t);
tt.start();
}
publicvoidrun(){
for(inti=0;i<5;i++){
system.out.println("i="+i);
}
}
}
A)implementsRunnable B)extendsThread
C)implementsThreadD)extendsRunnable
34、如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是(C)
A)sleep()方法的时间到
B)获得了对象的锁
C)线程在调用t.join()方法后,线程t结束
D)wait()方法结束
35、当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是(A)
A)start(),stop(),destroy()
B)init(),start(),stop(),start(),stop(),destroy()
C)start(),init(),stop(),destroy()
D)init(),start(),destroy()
二、填空题
1、开发与运行Java程序需要经过的三个主要步骤为编辑、编译、运行
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x=2,则表达式(x++)/3的值是0。
4、若x=5,y=10,则x=y的逻辑值分别为true和false。
5、抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
构造方法是不能被当前类的子类重新定义的方法。
6、JVM指的是Javajava虚拟机。
7、Java中的字符变量在内存中占16位(bit)。
8、Java语言对简单数据类型进行了类包装,int对应的包装类是Integer。
9、继承性是面向对象方法的一个基本特征,它使代码可复用。
10、抽象类中含有没有实现的方法,该类不能被实例化。
11、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
12、Java源文件的扩展名是.java,Java字节码文件的扩展名是.class。
13、java标识符的命名规则以字母、下划线、美元符号开始的一个字符序列,后面可跟字母、下划线、美元符号、数字。
14、抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
构造方法是不能被当前类的子类重新定义的方法。
15、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
ints=0;
for(inti=0;iif(i%2==1)s+=MyIntArray[i];
System.out.println(s);
16、已知sb为StringBuffer的一个实例,且sb=“abcde”,则sb.reverse()后sb的值为edcba。
17、请在下划线处填入代码,使程序能够正确运行。
importjava.awt.*;
importjava.applet.*;
publicclassSayHiextendsApplet{
publicvoidpaint(Graphicsg){ g.drawString(“Hi!
”20,20);} }
18、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:
java源文件的第一条语句。
19、JavaJDK中,用于编译的命令是javac。
20、方法重载的含义方法名相同但是参数不同。
21、JDBC是Java程序与数据库连接的一种机制。
22、能够用于创建可变字符串对象的类是StringBuffer。
23、下列程序的功能是统计命令行参数的个数,请在下划线处填上适当的代码。
publicclassLength{
publicstaticvoidmain(Stringargs[]){
System.out.println("numberofStringargs:
"+args.length);
}
}
24、Java中的返回语句是return语句。
25、java中,线程必须属于一个进程。
线程是程序运行中的一个程序段。
26、线程由于调用sleep()方法进入阻塞状态,当睡眠结束时,该线程将进入就绪状态。
27、在下列JavaApplet程序的下划线处填入代码,使程序完整并能够正确运行。
importjava.applet.*;
importjava.awt.*;
publicclassHelloWorldextendsApplet{
publicvoidpaint(Graphicsg){
g.drawString("HelloWorld!
",25,25);
}
}
28、下列选项中为单精度数的是(C)
A)2 B)5.2 C)0.2f D)023
29、下列关于boolean类型的叙述中,正确的是(D)
A)可以将boolean类型的数值转换为int类型的数值
B)可以将boolean类型的数值转换为字符串
C)可以将boolean类型的数值转换为char类型的数值
D)不能将boolean类型的数值转换为其他基本数据类型
30、下列可以获得构件前景色的方法是(B)
A)getSize()B)getForeground()C)getBackground()D)paint()
31、下列程序创建了一个线程并运行,请在下划线处填入正确代码。
publicclassTryextendsThread{
publicstaticvoidmain(Stringargs[]){
Threadt=newTry();
t.start();
}
publicvoidrun(){
System.out.println(“Try!
”);
}
}
三、判断题
答案:
×××√× ××√×× ×√√√×
1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
()
2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
()
3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
()
4.类及其属性、方法可以同时有一个以上的修饰符来修饰。
()
5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
()
6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
()
7.Final类中的属性和方法都必须被final修饰符修饰。
()
8.final类不能派生子类,final方法不能被覆盖。
()
9.子类要调用父类的方法,必须使用super关键字。
()
10.一个Java类可以有多个父类。
()
11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。
()
12.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
()
13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
()
14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
()
15.用“+”可以实现字符串的拼接,用“-”可以从一个字符串中去除一个字符子串。
()
四、阅读程序题
1、以下程序段的输出结果为。
intj=2;
switch(j){
case2:
System.out.print(“Valueistwo.”);
case2+1:
System.out.println(“Valueisthree.”);
break;
default:
System.out.println(“valueis“+j);
break;
}
2、以下程序的输出结果为。
publicclassex2{
publicstaticvoidmain(Stringargs[]){
Stringstr=null;
try{if(str.length()==0)
System.out.print("The");
System.out.print("Cow");
}catch(Exceptione){
System.out.print("and");
System.exit(0);
}finally{System.out.print("Chicken"); }
System.out.println("show");
}}
3、以下程序段的输出结果为。
intx=0,y=4,z=6;
if(x>2){
if(y<5)
{System.out.println(“Messageone”);}
else
{System.out.println(“Messagetwo”);}
}
elseif(z>5){
System.out.println(“Messagethree”);
}
else{
System.out.println(“Messagefour”);
}
4、以下程序的输出结果为。
publicclassOperatorsandExpressions{
publicstaticvoidmain(Stringargs[]){
inta=5,b=4,c=3;
System.out.println("abc"+a+b+c+3);
}
}
5、以下程序段的输出结果为。
classA{
public staticinta1;
public inta2;
}
publicclassapp04{
publicstaticvoidmain(String[]args){
At1=newA();
t1.a1=4;
t1.a2=5;
At2=newA();
t2.a1=6;
t2.a2=7;
System.out.print(t1.a1+","+t1.a2);
System.out.println(t2.a1+","+t2.a2);
}
}
6、以下程序的输出结果为。
publicclassShort{
publicstaticvoidmain(Stringargs[]){
StringBuffers=newStringBuffer(“Hello”);
if((s.length()>5)&&(s.append(“there”).equals(“False”)))
;
System.out.println(“valueis”+s);
}
}
7、下列程序的运行结果是
publicclasstest{
privateString[]data={“10”,“10.5”};
publicvoidfun(){
doubles=0;
for(inti=0;i<3;i++){
try{
s=s+Integer.parseInt(data[i]);
}catch(Exceptione){
System.out.print(“errorl:
”+data[i]);
}
}
}
publicstaticvoidmain(String[]args){
try{
testd=newtest();
d.fun();
}catch(Exceptione){
System.out.printIn(“error2”);
}
}
}
五、编程题
1、编写一个Java应用程序在三位数中找出所有水仙花数,水仙花数的条件是该数等于其各位数字的立方和。
2、编写程序求100以内的全部素数。
3、从命令行参数获取一个字符串,统计其中有多少数字字符,多少英文字母?
4、请编写一个java程序,利用该程序计算并输出1+2+3+……+100的值?
5、编写一个Java应用程序,该程序中有3个类:
Trangle、Lader、Circle,分别用来刻画“三角形”、“圆形”和“梯形”。
具体要求如下:
(1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。
另外该类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。
(2)Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。
(3)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积功能。
6、将键盘输入的一个十六进制数转化为十进制数并输出。
7、使用BigIn