java自考模拟题.docx
《java自考模拟题.docx》由会员分享,可在线阅读,更多相关《java自考模拟题.docx(17页珍藏版)》请在冰豆网上搜索。
java自考模拟题
2008年Java模拟试卷一
一、选择题
1.下列说法,哪个是正确的()。
A.Java是不区分大小写的,源文件名与程序类名不允许相同
B.Java语言以方法作为程序的基本单位
C.Applet是Java的一类特殊应用程序,它嵌入到HTML中,随主页发布到互联网上
D.以//开始的为多行注释语句
2.下列特点中,哪个是Java虚拟机执行的特点之一()。
A.字节代码B.多进程C.静态连接D.编译
3.Java语言的许多特点中,()是C++语言不具备的。
A.高性能B.跨平台C.面向对象D.有类库
4.Java虚拟机的执行有多个特点,下列哪个特点不是JVM的执行特点()。
A.多线程B.动态连接C.异常处理D.异步处理
5.Java语言有多种实现的机制,下列()技术属于垃圾回收机制。
A.字节编译B.内存跟踪C.语法检查D.堆栈上下溢出检查
6.下列()是合法标识符号。
A._BOOKB.5filesC.+staticD.-3.14159
7.下列()数代表8进制整数。
A.OXA6B.0144C.1840D.-1E3
8.下列()数代表单精度浮点数。
A.0652B.3.4457C.0.298FD.4.76D
9.下列()数代表16进制整数。
A.0123B.1900C.fa00D.0xa2
10.下列()是反斜杠字符的正确表示。
A.\\B.*\\C.\D.\’\’
11.下列程序的执行结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
floatt=9.0f;intq=5;
System.out.println((t++)*(--q));
}}
A.40B.40.0C.36D.36.0
12.下列程序的执行结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println(5/2);
}}
A.2.5B.2.0C.2.50D.2
13.下列程序的执行结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println(100%3);
System.out.println(100%3.0);
}}
A.11B.11.0C.1.01D.1.01.0
14.下列程序的执行结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta=4,b=6,c=8;
Strings=”abc”;
System.out.println(a+b+s+c);
}}
A.ababccB.464688C.46abc8D.10abc8
15.下列代码的执行结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Strings1=newString(“Hello”);
Strings2=newString(“Hello”);
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
}}
A.truefalseB.truetrueC.falsetrueD.falsefalse
16.下列程序的哪个m值将引起default的输出()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intm;
switch(m);
case0:
System.out.println(“case0”);
case1:
System.out.println(“case1”);break;
case2:
default:
System.out.println(“default!
”);break;
}}
A.0B.1C.2D.前3个数都不行
17.main方法的返回类型是()。
A.intB.voidC.BooleanD.static
18.对于下列代码片断,下列选择中,()会被输出到屏幕。
inti=3,j;
outer:
while(i>0){
j=3;
inner:
while(j>0){
if(j<2)breakouter;
System.out.println(j+”and”+i);
j--;
}i--;
}
3and3
2and3
A.3and3B.3and2C.3and1D.3and0
19.对于代码片断,问x处于什么范围时将打印字符串“second”()。
if(x>0)System.out.println(”First”);
elseif(x>-3)System.out.println(”second”);
elseSystem.out.println(”Third”);
A.X>0B.x>-3C.x<=-3D.x<=0且x>-3
20.Switch语句不能用于下列哪种数据类型()。
A.doubleB.byteC.shortD.char
21.下列说法,哪个是正确的()。
A.类是变量和方法的集合体;B.数组是无序数据的集合;
C.抽象类可以被实例化D.类成员数据必须是公有的
22.下列对形参的说法,哪个是正确的()。
A.必须有多个;B.至少有一个;
C.可以没有D.只能是简单变量
23.构造方法()被调用。
A.类定义时;B.创建对象时;
C.调用对象方法时D.使用对象的变量时
24.下列对继承的说法,哪个是正确的()。
A.子类能够继承父类的所有状态和方法;
B.子类能够继承父类的非私有状态和方法;
C.子类只能继承父类的public状态和方法;
D.子类只能继承父类的方法,而不能继承状态;
25.下列关于接口的说法,正确的是()。
A.接口与抽象类是相同的概念;
B.实现一个接口,必须实现接口的所有方法;
C.接口之间不能有继承关系;
D.一个类只能实现一个接口;
二、填空题
1.多线程是Java程序的()机制,它能同步共享数据、处理不同事件。
2.每个Java应用程序可以包括许多方法,但必须有且只能有一个()方法。
3.每个Java源文件中只能有一个()类,其他类的个数不限。
4.Java语言通过接口支持()继承,使类继承具有更灵活的扩展性。
5.Java语言中()是所有类的根。
6.按作用域分,变量有局部变量、(),方法参数和异常处理参数。
7.Java语言的各种数据类型之间提供两种转换:
()和强制转换。
8.字符变量以char类型表示,它在内存中占据()bits.
9.Java语言的给中数据类型之间提供自动转换,如第1操作数为byte型,第2操作数为float型,其结果为()型。
10.在Java语言中,如果一个小数的后面没有任何字母标记,计算机默认为()型。
11.A++和++A在语句中是否相同()。
12.移位运算符可以起到对操作数乘以2或者除以2的作用。
那么对操作数实现除以2运算的运算符号是()。
13.在对一个复杂的表达式进行运算时,要按照运算符的优先级顺序从高到低进行,同级的运算符则按照()进行。
14.算术运算符按照下面的级别次序排列:
++和――的级别最高,然后是()和/以及%,而加号和减号的运算级别最低。
15.赋值表达式的组成规则是:
在赋值运算符的左边是(),右边是一个表达式。
16.Java下的循环语句包括()()和()。
17.Else子句不能单独作为语句使用,它必须和if子句配对使用。
那么else与if的配对原则是:
else子句总是与离它()的if子句配对使用。
18.Java的跳转语句中()【有/没有】goto语句。
19.递归的基本思想是“自己调用自己”,一个使用递归技术的方法将直接或间接地调用()的方法。
20.Break语句的最常用方法是在switch语句中,通过break语句退出switch语句,使程序从()处继续执行。
21.Java语言中,调用方法时,参数传递是()调用,而不是引用调用。
22.接口是一种只含有抽象方法或()的一种特殊抽象类;
23.Object类是Java所有类的()。
24.new是()对象的操作符。
25.在一个类的内部,嵌套定义的类称为()。
三、简答与操作题
1.简述什么是继承?
继承在面向对象的程序设计中有什么意义?
2.简述什么是多态性,它有哪几种常见的形式?
3.简述下列语句的含义:
~(~0>>>21)&(x+y-z)
首先计算出x+y-z的值,然后把低21位清0。
4.阅读程序,改正错误:
publicclassTest{
publicstaticvoidmain(stringargs[]){
inta=0,b=100;
if((a!
=0)&(b/a=1))
System.out.println(‘Success!
’);
}}
5.阅读程序,改正错误:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
floatf=1.0;
f+=1.0;
System.out.println(f);
}}
四、程序填空题
1.阅读程序,完善补充程序:
程序的功能是验证6~1000之内的所有偶数都能表示为两个素数之和(歌德巴赫猜想)。
请把程序补充完整。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
for(inti=6;i<=1000;i+=2){
for(intj=2;j<1000;j++){
_____________________________________
System.out.println(i+”=”+j+”+”+(i-j));break;
}
}
}
publicstaticbooleanzhishu(intn){
inti;
for(i=2;i<=n/2;i++)
if(n%i==0)return__false___________;
returntrue;
}
}
2.阅读程序,完善补充程序:
程序的功能是对输入的年份判定一下是不是闰年。
请把程序补充完整。
importjavax.swing.*;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Stringcc;
intx;
cc=JOptionPane.(showInputDailog)(“请输入一个整数:
”);
x=Integer.(parseInt)(cc);
if(x%4==0&&x%100!
=0||x%400==0)
System.out.println(x+”年是闰年!
”);
else
System.out.println(x+”年不是闰年!
”);
}
}
3.阅读程序,完善补充程序:
程序的功能是对数组中的数据逆序输出。
请把程序补充完整。
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inti;
inta[]=newint[5];
for(i=0;i<5;i++)a[i]=(i+100)/2;
for(i=4;i>=0;i--)
System.out.println(a[i]);
}
}
4.程序的功能是单击按钮【求平方】,就能够输出文本框中输入数据的平方,请把程序补充完整。
importjava.awt.*;
importjava.applet.*;
importjava.awt.event.*;
publicclassTuxingextendsApplet{
publicTextFieldin=newTextField(10);
Buttonbtn=newButton("求平方");
publicLabelout=newLabel("结果是");
publicvoidinit(){
setLayout(newFlowLayout());
add(in);
add(btn);
add(out);
btn.addActionListener(newbtnAction());
}
publicvoidpaint(Graphicsg){
g.drawString("WelcometoJava!
!
",50,60);
}
classbtnActionimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
Strings=in.getText();
doubled=Double.parseDouble(s);
doublesq=d*d;
out.setText(d+"的平方是"+sq);
}
}
}
5.程序的功能是单击按钮【求平方】,就能够输出文本框中输入数据的平方,请把程序补充完整。
importjava.awt.*;
importjava.applet.*;
importjava.awt.event.*;
publicclassTuxingextendsApplet{
publicTextFieldin=newTextField(10);
Buttonbtn=newButton(“求平方”);
publicLabelout=newLabel("结果是");
publicvoidinit(){
setLayout(newFlowLayout());
add(in);
add(btn);
add(out);
btn.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Strings=in.getText();
doubled=Double.parseDouble(s);
doublesq=d*d;
out.setText(d+"的平方是"+sq);
}
});
}
publicvoidpaint(Graphicsg){
g.drawString("WelcometoJava!
!
",50,60);
}
}
五、程序设计题
已知斐波那蛪数列的含义是:
F(0)=0;F
(1)=1;F(N)=F(N-1)+F(N-2),请编写程序求出该数列的前100项。
2008年Java模拟试卷二
一、单选题:
(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k 的值是( )。
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A) 0 B) 1 C) 2 D) 3
2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是()。
A) i = i + 2 (无分号) B) a[0] = 7; C) i++ - --j; D) a(0) = 66;
3.Java语言的类间的继承关系是( )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承
4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。
i += i - 1;
A) 10 B) 121 C) 11 D) 100
5.下列选项中,用于在定义子类时声明父类名的关键字是( )。
A)interface B) package C) extends D) class
6.若已定义 byte[ ] x= {11,22,33,-66} ;
其中0≤k≤3,则对x数组元素错误的引用是( )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]
7.下列语句序列执行后,ch1 的值是( )。
char ch1='A',ch2='W';
if(ch1 + 2 < ch2 ) ++ch1;
A) ‘A' B) ‘B' C) ‘C' D) B
8.下列语句序列执行后,i 的值是( )。
int i=8, j=16;
if( i-1 > j ) i--; else j--;
A) 15 B) 16 C) 7 D) 8
9.下列语句序列执行后,k 的值是( )。
int i=10, j=18, k=30;
switch( j - i ){
case 8 :
k++;
case 9 :
k+=2;
case 10:
k+=3;
default :
k/=j;
}
A) 31B) 32 C) 2 D) 33
10.下面语句执行后,i 的值是( )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
A) 4 B) 5 C) 6 D) 7
11.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。
A) x > y || x > z B) x !
= y
C) z > ( y + x ) D) x < y & !
( x < z )
12.下列语句序列执行后,i的值是( )。
int i=16;
do { i/=2; } while( i > 3 );
A) 16 B) 8 C) 4 D) 2
13.以下由 for 语句构成的循环执行的次数是( )。
for ( int i = 0; true ; i++) ;
A) 有语法错,不能执行 B) 无限次
C) 执行1次 D) 一次也不执行
14.定义类头时能使用的修饰符是( )。
A) private B) static C) abstract D) protected
15.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,
正确的switch语句是( )。
A) switch (x + y) B) switch ( ch + 1 )
{ ...... } { ...... }
C) switch ch D) switch ( a + b );
{ ...... } { ...... }
16. 下列最终属性 i 的定义中,正确的是( )。
A) static final int i=100; B) final int i=1.2;
C) final i='w'; D) final char i;
17. 下列类定义中,不正确的是( )。
A) class x { .... }
B) class x extends y { .... }
C) static class x implements y1,y2 { .... }
D) public class x extends Applet { .... }
18. 设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是( )。
A) static x x1; B) public x x1=new x(int 123);
C) y x1; D) x x1=x( );
19. 设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )。
A) x( int m){ ... } B) void x( int m){ ... }
C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }
20. 下列方法定义中,正确的是( )。
A) int x( ){ char ch='a'; return (int)ch; }
B) void x( ){ ...return true; }
C) int x( ){ ...return true; }
D) int x( int a, b){ return a+b; }
21. 用于定义类成员的访问控制权的一组关键字是( )。
A) class, float, double, public
B) float, boolean, int, long
C) char, extends, float, double
D) public, private, protected
22. 不能构成循环的语句是( C )。
A) for 语句 B) while 语句 C) switch 语句 D) do__while 语句
23. 下列程序段执行后 b3 的结果是( )。
boolean b1=true, b2, b3;
24= b1 ?
b1 :
b2;
A) 0 B) 1 C) true D) false
25 下面数据结构中,属于非线性的是( )。
A) 线性表 B) 树 C) 队列 D) 堆栈
二、填空题:
(每空1分)
1. 构造函数_______没有_____________(没有/有)返回值。
2. Java语言中的浮点型数据根据数据存储长度和数