主题:[原创]JAVA试卷
(综合)
一、单选题
1、下列语句序列执行后,j的值是
int j=2;
for( int i=7; i>0; i-=2 ) j*=2;
A、15 B、1 C、60 D、32
2、下列语句序列执行后,j 的值是
int j=1;
for( int i=5; i>0; i-=2 ) j*=i;
A、15 B、1 C、60 D、0
3、以下for循环的执行次数是
for(int x=0;(x==0)&(x>4);x++);
A、无限次 B、一次也不执行
C、执行4次 D、执行3次
4、若a和b均是整型变量并已正确赋值,正确的switch语句是
A、switch(a+b); { ...... }
B、switch( a+b*3.0 ) { ...... }
C、switch a { ...... }
D、switch ( a%b ) { ...... }
5、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是
A、b=a!=7; B、a=7+b+c=9;
C、i=12.3* %4; D、a=a+7=c+b;
6、设有定义 int i=123; long j=456; 下面赋值不正确的语句是
A、j=i; B、j=(long)i; C、i=(int)j; D、i=j;
7、现有一变量声明为boolean aa;下面赋值语句中正确的是
A、aa=false; B、aa=False;
C、aa="true"; D、aa=0;
8、若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是
A、0 B、4
C、-2 D、-4
9、若所用变量都已正确定义,以下选项中,非法的表达式是
A、a != 4||b= =1 B、'a' % 3
C、'a' = 1/2 D、'A' + 32
10、以下选项中,合法的赋值语句是
A、a = = 1; B、++i;
C、a=a + 1= 5; D、!(++a!=b- -);
11、若有定义int x = 13;则执行完语句x %= 8; 后,x的值是
A、0 B、1 C、5 D、8
12、变量a定义为int类型。以下选项中,合法的赋值语句是
A、a +1==2; B、a+=1;
C、a=8.8f; D、a=new int(8);
13、下列正确的Java语言标识符是
A、-3.1415 B、+ok C、_test D、5file
14、下列不是Java关键字的是
A、final B、finally C、null D、sizeof
15、下列代码的执行结果是
public class exam1_17{
public static void main(String args[]){
System.out,println(100%3);
System.out.println(100%3.0);
}
}
A、1和1 B、1和1.0 C、1.0和1 D、1.0和1.0
16、下列关于注释语句的描述中,正确的一项是
A、以//开始的是多行注释语句
B、以/*开始,*/结束的是单行注释
C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句
D、以/**开始,*/结束的是单行注释语句
17、下列 不属于AWT布局管理器。
A、BoxLayout B、GridLayout C、BorderLayout D、FlowLayout
18、Java语言有许多优点和特点,下列选项中, 反映了Java程序并行机制的特点。
A、安全性 B、多线程 C、跨平台 D、可移植
19、下面的代码段中,执行之后count的值是
int count=1;
for(int i=1;i<=5;i++)
{ count=count+i; System.out.println(count); }
A、5 B、1 C、15 D、16
20、下面 不是创建数组的正确语句。
A)float f[][]=new float[6][6]; B)float f[]=new float[6];
C)float f[][]=new float[][6]; D)float [][]f=new float[6][];
21、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为
A、隐藏 B、覆盖 C、重载 D、封装
22、以下关于继承的叙述正确的是
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
23、以下关于构造函数的描述错误的是
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
24、布尔逻辑表达式true||false&&true||false&&!true的值为
A、0 B、1 C、true D、false
25、有语句String s=“hello world”; 以下 操作是不合法的。
A、s>>>=1; B、int i=s.length();
C、String ts=s.trim(); D、String t=s+“!”;
26、假设A类有如下定义,设a是A类的一个实例,下列语句调用 是错误的。
class A {
int i;
static String s;
void method1() { }
static void method2() { }
}
A、System.out.println(a.i); B、a.method1();
C、A.method1(); D、A.method2()
27、Java语言中,负责并发管理的机制是
A、垃圾回收 B、虚拟机
C、代码安全 D、多线程
28、下列描述中,错误的是
A、Java要求编程者管理内存
B、Java的安全性体现在多个层次上
C、Applet要求在支持Java的浏览器上运行
D、Java有多线程机制
29、Java为移动设备提供的平台是
A、J2ME B、J2SE
C、J2EE D、JDK5.0
30、JDK中提供的文档生成器是
A、java.exe B、javap.exe
C、javadoc.exe D、javaprof.exe
31、在Java语言中,不允许使用指针体现出的Java特性是
A、可移植 B、解释执行
C、健壮性 D、安全性
32、在Java中,与数据库连接的技术是
A、ODBC B、JDBC
C、数据库厂家驱动程序 D、数据库厂家的连接协议
33、在文件类提供的方法中,用于创建目录的方法是
A、mkdir( ) B、mkdirs( )
C、list( ) D、listRoots( )
34、下列叙述中,错误的是
A、File类能够存储文件 B、File类能够读写文件
C、File类能够建立文件 D、File类能够获取文件目录信息
35、下列叙述中,正确的是
A、Reader是一个读取字符文件的接口
B、Reader是一个读取数据文件的抽象类
C、Reader是一个读取字符文件的抽象类
D、Reader是一个读取字节文件的一般类
36、用于输入压缩文件格式的ZipInputStream 类所属包是
A、java.util B、java.io C、java.nio D、java.util.zip
37、Panel和Applet的默认布局管理器是
A、CardLayout B、FlowLayout C、BorderLayout D、GridLayout
38、查找随机文件的记录时,应使用的方法是
A、readInt( ) B、readBytes(int n)
C、seek(long l) D、readDouble( )
39、下列代码中,将引起编译错误的行是
1)public class Exercise{
2) public static void main(String args[]){
3) float f=0.0;
4) f +=1.0;
5) }
6)}
A、第2行 B、第3行 C、第4行 D、第6行
40、在Java中,下面关于构造函数的描述正确的是
A、类必须有显式构造函数
B、它的返回类型是void
C、它和类有相同的名称,但它不能带任何参数
D、以上皆非
41、在类的说明符中,被指定为私有的数据可以被 访问。
A、程序中的任何函数
B、其他类的成员函数
C、类中的成员函数
D、派生类中的成员函数
42、在Java中,关于final关键字的说法正确的是
A、如果修饰变量,则一旦赋了值,就等同一个常量
B、如果修饰类,则该类只能被一个子类继承
C、如果修饰方法,则该方法能在子类中被覆盖
D、如果修饰方法,则该方法所在的类不能被继承
43、Java程序中读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为“something’s wrong!”,
语句为
A、if (I>10) throw Exception(“something’s wrong!”);
B、if (I>10) throw Exception e (“something’s wrong!”);
C、if (I>10) throw new Exception(“something’s wrong!”);
D、if (I>10) throw new Exception e (“something’s wrong!”);
44、在JAVA编程中,Java编译器会将Java程序转换为
A、字节码
B、可执行代码
C、机器代码
D、以上所有选项都不正确
45、在J2EE中,下列元素经过排序的集合类是
A、LinkedList
B、Stack
C、Hashtable
D、TreeSet
46、在Java中,下面关于包的陈述中正确的是
A、包的声明必须是源文件的第一句代码
B、包的声明必须紧跟在import语句的后面
C、只有公共类才能放在包中
D、不可以将多个源文件中的类放在同一个包中
47、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用 关键字。
A、不需要任何关键字
B、private
C、final
D、protected
48、JAVA中,为了辨别用户关闭窗口的时间,要实现监听器接口
A、MouseListener
B、ActionListener
C、WindowListener
D、以上都要
49、方法可能返回的结果是
A、132.34
B、0.342
C、29.34E10
D、1.0009
50、在Java语言中,Panel默认的布局管理器是
A、BorderLayout
B、FlowLayout
C、GridLayout
D、GridBagLayout
51、在JAVA中的布局管理器,以下说法中错误的是
A、FlowLayout以由上到下的方式从左到右排列组件
B、BorderLayout使用 "东"."西"."南"."北","居中"来指定组件的位置
C、GridLayout可以创建网格布局,网格布局中各组的大小可以任意调整
D、可以通过容器的setLayout方法为容器指定布局管理
52、下列哪些语句关于内存回收的说明是正确的
A、程序员必须创建一个线程来释放内存;
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
53、正则表达式 ([0-9]{3})-([a-z]{3})-([a-z]*?ab) 与下列哪个字符串相匹配
A、123-abc{3}-cab
B、123{3}-abc-cab
C、123-abc-cb
D、123-abc-ccab
三、判断题
1、Java的类不允许多重继承,但接口支持多重继承。()。
2、在Java的方法中定义一个常量要用const关键字。( X)。
3、在一个Java源程序文件中,只能有一个main方法。( )。
4、在一个Java源程序文件中,可以有多个public类。()。
5、基本数据类型没有Class对象。(错)。
6、Java中一个类型所对应的Class对象可以有多个。()。
7、Java中允许使用ArrayList<int>。(错)。
8、使用方法length( )可以获得字符串或数组的长度。()。
9、Java的字符类型采用的是Unicode编码。()。
10、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。()。
11、Vector类中的对象不能是简单数据类型。()。
二、填空题
1、Java语言中的 是程序的基本单位。
2、创建一个名为 MyPackage 的包的语句是 。
3、
4、Java中给一个方法加上作者注释,应使用的关键字是 author
5、类与类之间最常见的关系有:依赖关系 、聚合关系 、继承关系
6、Java中的基本数据类型有:四种整形类型 、 、 、 两种浮点类型 、 一个字符类型 一种布尔类型 。
四、简答题
1、请阐述Java中反射机制的作用。
答:
2、请分别阐述关键字super与this在java语言中的用法。
答:
3、Java中参数传递有哪些规则?
答:
4、Java中,要使得一个类能够实现克隆功能,应该做哪两件事?
答:
5、阅读下列程序,写出运行结果:
public class Exam3_4 {
public static void main(String[] args) {
String s,s1="";
char c;
s= “wELCOME”;
for (int i=0;i<s.length();i++){
c=s.charAt(i);
if(c>='a' && c<='z') {
s1=s1+Character.toUpperCase(c);
} else {
s1=s1+Character.toLowerCase(c);
}
}
System.out.println(s1);
}
}
答:
public class Exam3_5{
public static void main(String args[ ]){
int i , j ;
int a[ ] = { 2,1,4,8,9,5,3};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]<a[k] ) k = j;
int temp =a[i];
a[i] = a[k];
a[k] = temp;
}
for ( i =0 ; i<a.length; i++ )
System.out.print(a[i]+" ");
System.out.println( );
}
}
答:
五、程序题
1、编写一个输出"Hello World!"的程序。(10分)
答:
2、编写一个完整的Java application程序,计算1+1/2!+1/3!+1/4!+…的前20项的和,并输出求出的和。(10分)
答:
3、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。(10分)
答: