Java 习题
一,单选题(54 道)
1,事件监听接口中的方法的返回值是?
A,int
B,String
C,void
D,Object
E,AWTEvent
2,设 x = 1,y = 2,z = 3,则表达式 y+=z--/++x-x 的值是?( 选择 1 项)
A,0
B,1
C,2
D,3
3,在类 MyClass 中定义了方法 getResult(),其中包含语句,
double myresult=Math.sqrt(1000);
为了使此程序可用,需要导入什么包?( 选择 1 项)
A,java.lang.*
B,java.Math.*
C,java.util.Math.*;
D,以上皆非
4,在 java 中,哪一个关键字使类不能派生出子类。( 选择 1 项)
A,final
B,public
C,private
D,volatile
5,在 Java 中,要处理 Button 类对象的事件,以下各项中,哪个是可以处理这个事件的接口。( 选择一项)
A,FocusListener
B,ComponentListener
C,WindowListener
D,ActionListener
6,编译,运行下列 Java 代码后的结果是()。(选择一项)
public class Test{
public static void main(String args []){
int age;
age=age+1;
System.out.println(“The age is”+age);
}
}
A,编译,运行后没有输出
B,编译,运行后输出:The age is 1
C,能通过编译,但运行时产生错误
D,不能通过编译
7,在 Java 语言中,类 Worker 是类 Person 的子类,Worker 的构造方法中有一句“super()”,
该语句()。(选择一项)
A,调用类 Worker 中定义的 super()方法
B,调用类 Person 中定义的 super()方法
C,调用类 Person 的构造方法
D,语法错误
8,下列整型的最终属性 i 的定义中,正确的是。( 选择 1 项)
A,final i;
B,static int i;
C,static final int i=234;
D,final float i=3.14f;
9,算术表达式 1+2/3-4*5 的值为。( 选择 1 项)
A,1
B,-19
C,-5
D,0
10,下面属于电子商务产生的条件的是哪个?
A,计算机的广泛应用,网络的普及和成熟
B,信用卡的普及和应用,电子交易安全协议的确定
C,政府的支持与推动
D,以上都是
11,电子商务有许多分类,其中 B to C 是指( ) 。
A、企业与企业 B、企业与消费者 C、消费者与消费者 D、企业与政府
12,电子商务有许多分类,其中 B to B 是指( ) 。
A、企业与企业 B、企业与消费者 C、消费者与消费者 D、企业与政府
13,按照使用网络类型分类,以下不属于当前电子商务的主要形式是( )。
A、EDI 商务 B、Internet 商务 C、Intranet 商务 D、WWW 商务
14,Intranet 一般称之为( )。
A、外联网 B,广域网 C、局域网 D、企业内部网
15,在一个由客户端,协议防火墙、中间层(DMZ ),域防火墙及企业内部网构成的电子商务系统中,一般情况下,协议防火墙会允许哪个/ 些协议通过?
A,IIOP B,FTP C,HTTP/HTTPS D,JAVA
16,下面哪一个关于 IBM 电子商务应用框架的阐述是正确的?
A,它是一种开放的、不安全的体系结构,
B,系统的当机时间不会影响雇员的生产率
C,该框架中的后台数据库只支持 DB2
D,它是基于工业标准的,能够提供好的灵活性和可扩展性
17,一个电子商务解决方案由客户端、协议防火墙、应用服务器、域防火墙和企业内部网几部分共同组成。企业认为这种解决方案比较昂贵。为了节省花费,企业管理者希望能够除去第二层防火墙(即域防火墙)。在需求分析阶段,企业相关人员指出安全性是非常重要的。 在这种需求下,第二层防火墙需要删除么?
A,不能删除。需要第二层防火墙保障安全性。防火墙必须成对安装以保证它的功能。
B,不能删除。使用第二层防火墙可以改善安全。第二层防火墙能够防止外部
INTERNET 用户直接访问企业内部服务器。
C,可以删除。使用两层防火墙可以增加整个系统的吞吐量,尽管如此,但是一层防火墙就足够了。
D,可以删除。使用两层防火墙可以实现高可用性,尽管如此,但是一层防火墙就足够了。
18,下面的技术中,哪一个是客户端脚本语言?
A,ASP B,PHP C,Perl D,VBScript
19,有一个电子商务应用,它需要使两个公司间的信息进行交互。这两个公司的数据分别存放在 DB2 数据库中和 Lotus 中。在 IBM 电子商务框架中,会推荐使用下面哪一种标准来展现数据?
A,EDI B,IIOP C,HTML D,XML
20,下面那种技术可以与基于浏览器的 WEB 应用共同协作,使得某些错误能够直接在终端用户的客户端处理而无需在 WEB 服务器端处理?
A,XML B,CGI C,SGML D,JavaScript
21,作为电子商务解决方案的一部分,客户需要使用自己定义的标记集来标记数据。下面哪一种技术是基于 SGML 的,并能满足客户的这一需求?
A,XML B,HTML C,DHTML D,JavaScript
22,哪个关键字可以抛出异常?
A transient
B finally
C throw
D static
23,Main()方法的返回类型是,
A int
B void
C boolean
D static
24,哪个关键字可以对对象加互斥锁?
A transient
B synchronized
C serialize
D static
25,下列哪些语句关于内存回收的说明是正确的?
A 程序员必须创建一个线程来释放内存;
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定的时间释放内存对象
26,试题编译和运行下面的代码将有什么结果?
public class Holt extends Thread {
private String sThreadName;
public static void main(String argv[]) {
Holt h = new Holt();
h.go();
}
Holt() {
}
Holt(String s) {
sThreadName = s;
}
public String getThreadName() {
return sThreadName;
}
public void go() {
Holt first = new Holt("first");
first.start();
Holt second = new Holt("second");
second.start();
}
public void start() {
for (int i = 0; i < 2; i++) {
System.out.println(getThreadName() + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
}
}
}
A,有编译错误。
B,输出 first0,second0,first0,second1
C,输出of first0,first1,second0,second1
D,有运行期错误。
27,欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的?
A ArrayList myList=new Object();
B List myList=new ArrayList();
C ArrayList myList=new List();
D List myList=new List() ;
28,paint()方法使用哪种类型的参数?
A Graphics
B Graphics2D
C String
D Color
29,下面的选项中哪一个正确的给出的"file.txt" 文件的父目录?
A,String name=File.getParentName("file.txt");
B,String name=(new File("file.txt")).getParent();
C,String name=(new File("file.txt")).getParentName();
D,String name=(new File("file.txt")).getParentFile();
E,Diretory dir=(new File("file.txt")).getParentDir();
String name=dir.getName();
30,用如下所示的方式生成的 Vector 实例,
new Vector(5,10);
如果试图向其中添加第6 个对象时,会发生什么?
A,产生IndexOutOfBounds 异常
B,Vector会自动增加其容量到10
C,Vector会自动增加其容量到15
D,不会发生什么,因为在添加第5 个对象后,容量已经自动增加到了10。
31,指出正确的表达式
A byte=128;
B Boolean=null;
C long l=0xfffL;
D double=0.9239d;
32,下列关于对 java 中的异常的描述,哪一种是正确的?
A,java中的异常是指在编译过程中所产生的语法错误。
B,java中的异常是指用户编程时用错了Java 的语句。
C,java中的异常是指Java 程序在运行过程中所产生的运行错误。
D,java中的异常是指Java 程序的类加载时的错误。
33,要从文件" file.dat" 文件中读出第 10 个字节到变量 C 中,下列哪个方法适合?
A FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();
B FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();
C FileInputStream in=new FileInputStream("file.dat"); int c=in.read();
D RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte();
34,容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
A CardLayout
B FlowLayout
C BorderLayout
D GridLayout
35,设有定义语句 int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。
A,定义了一个名为a 的一维数组
B,a数组有3 个元素
C,a数组的下标为1 ~3
D.数组中的每个元素是整型
36,下列哪些不属于软件维护阶段?
A,诊断和改正在使用过程中发现的软件错误
B,诊断和改正在开发过程中发现的软件错误
C,根据用户需求进行软件升级
D,修改软件为将来的维护活动预先做准备
37,下列那种 java 组件为容器组件
A,List 列表框
B,Choice 下拉式列表框
C,Panel 面板
D,MenuItem 命令式菜单项
38,关于下面代码的描述正确的是?
public class Morecombe {
public static void main(String argv[]) {
Morecombe m = new Morecombe();
m.go(new Turing() {
});
}
public void go(Turing t) {
t.start();
}
}
class Turing extends Thread {
public void run() {
for (int i = 0; i < 2; i++) {
System.out.println(i);
}
}
}
A,由于go方法参数的形式不正确会有编译错误。
B,Turing类没有strart 方法,所以有编译错误。
C,编译并输出0 和1,
D,可以编译但运行出错。
39,如下那种 Java 的控件将不会引发动作事件(ActionEvent )?
A,Button
B,MenuItem
C,Panel
D,CheckboxMenuItem
40,请选择合适的集合类型,这种类型应该具有所存储的元素是不能重复的、被排序的?
provides that capability?
A,java.uil.Map
B.java.util.Set
C.java.util.List
D.java.util.Collection
41,编译 java Applet 源程序文件将产生相应的结果文件,这些结果文件的扩展名是什么?
A.,java
B.,class
C.,html
D.,exe
42,如果你试图编译并运行下面的代码将发生什么?
public class MyClass {
public static void main(String argv[]) {
int anar[] = new int[] { 1,2,3 };
System.out.println(anar[1]);
}
}
A,1
B,有错误 anar 引用之前必须被初始化。
C,2
D,有错误数组的尺寸必须被指定。
43,将一个十六进制数赋值给一个 long 类型的变量,正确的表达式是,
A,long number = 345L;
B,long number = 0345;
C,long number = 0345L;
D,long number = 0x345L,
44,如果你试图编译并运行下面的代码将发生什么?
public class Test {
public static void main(String argv[]) {
String s = new String("Bicycle");
int iBegin = 1;
char iEnd = 3;
System.out.println(s.substring(iBegin,iEnd));
}
}
A,Bic
B,ic
C,icy
D,error,no method matching substring(int,char)
45,JPanel 组件的默认布局管理器是哪一项?
A,GridLayout
B,CardLayout
C,BorderLayout
D,FlowLayour
46,如果你想查找"Java" 字符串中 v 所在的位置?
A,mid(2,s);
B,charAt(2).;
C,s.indexOf('v');
D,indexOf(s,'v');
47,下列哪一项不属于面向对象程序设计的基本要素?
A,类
B,对象
C,方法
D,安全
48,下面程序的输出结果是。
public class ex2 {
public static void main(String[] args)
{
for(int cnt=0;cnt<10;cnt++)
{
if(cnt==5)
break;
System.out.print(cnt);
}
}
}
A,0 1 2 3 4
B,6 7 8 9
C,0 1 2 3 4 6 7 8 9
D,5
49,给定下面的代码片段,
1) String str = null;
2) if ((str != null) && (str.length() > 10)) {
3) System.out.println("more than 10");
4) }
5) else if ((str != null) & (str.length() < 5)) {
6) System.out.println("less than 5");
7) }
8) else { System.out.println("end"); }
哪些行会导致错误?
A line 1
B line 2
C line 5
D line 8
50,如果给出下面列声明,
String s1 = new String("Hello");
String s2 = new String("there");
String s3 = new String();
下面的操作哪些是有效的?
A,s3=s1 + s2;
B,s3=s1-s2;
C,s3=s1 & s2;
D,s3=s1 && s2
51,下面哪种注释方法能够支持 javadoc 命令,
A /**...**/
B /*...*/
C //
D /**...*/
52,下面语句运行的结果是什么?
System.out.println(4 | 3);
A,6
B,0
C,1
D,7
53,下列语句中那些是合法的?
A.String A="abcdefg";
A-="cde";
B.String A="abcdefg";
A+="cde";
C.Integer J=new Integer(27);
J-=7;
D.Integer J=new Integer(27);
J--;
54,若 a 和 b 均是整型变量并已正确赋值,正确的 switch 语句是 ( )。
A,switch(a+b);
{,....,}
B,switch( a+b*3.0 )
{,....,}
C,switch a
{,....,}
D,switch ( a%b )
{,....,}
二,多选题(54 道)
1,下面代码输出的结果是?
public class MyFor{
public static void main(String argv[]){
int i;
int j;
outer:for (i=1;i <3;i++)
inner,for(j=1; j<3; j++) {
if (j==2)
continue outer;
System.out.println("Value for i=" + i + " Value for j=" +j);
}
}
}
A Value for i=1 value for j=1
B Value for i=2 value for j=1
C Value for i=2 value for j=2
D Value for i=3 value for j=1
2,x为什么样的值"Test2" 可以被打印?
switch (x) {
case 1,
System.out.println("Test1");
case 2,
case 3,
System.out.println("Test2");
break;
}
System.out.println("Test3");
A,0
B,1
C,2
D,3
E,4
3,那些方法可以插入到程序中注释片段位置?
class Base{
public void amethod(int i) { }
}
public class Scope extends Base{
public static void main(String argv[]){}
//Method Here(选择项插入位置)
}
A void amethod(int i) throws Exception {}
B void amethod(long i)throws Exception {}
C void amethod(long i){}
D public void amethod(int i) throws Exception {}
4,下面哪个语句正确地声明一个整型的二维数组?
A int a[][] = new int[][];
B int a[10][10] = new int[][];
C int a[][] = new int[10][10];
D int [][]a = new int[10][10];
E int []a[] = new int[10][10];
5,在下面代码中那些修饰符可以放在XX位置
public class MyClass1 {
public static void main(String argv[]){ }
/*修饰符位置 XX */ class MyInner {}
}
A public B private
C static D friend
6,接口A 的定义如下,指出下列哪些类实现了该接口?
interface A {
int method1(int i);
int method2(int j);
}
A,class B implements A {
int method1() { }
int method2() {
}
}
B,class B {
int method1(int i) { }
int method2(int j) { }
}
C,class B implements A {
int method1(int i) { }
int method2(int j) { }
}
D,class B extends A {
int method1(int i) { }
int method2(int j) { }
}
E,class B implements A {
int method2(int j) { }
int method1(int i) { }
}
7,根据程序代码选择所有返回为true的表达式
public static void main(String args[]){
Float f=new Float(4.2f);
Float c;
Double d=new Double(4.2);
float fl=4.2f;
c=f;
}
A f.equls(d) B c==f
C c==d D c.equls(f)
8,在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a 的最后一个元素,下面不正确的代码是( )。
A,System.out.println(a[10]);
B,System.out.println(a[9]);
C,System.out.println(a[a.length]);
D,System.out.println(a(8));
9,下列各种java 中的赋值操作语句,哪些在java 语言中是正确的赋值语句?
A,int A =1;
byte B=(byte)A;
B,int A =1;
char B=A;
C,int A =1;
float B=A;
D,int A=1;
long B=A;
10,哪两种方法不能直接引起一个线程中断执行
A sleep(); B stop();
C yield(); D wait();
E notify(); F notifyAll()
G synchronized()
11,重载类hai 的构造方法,下面哪些是正确的
A public void hai(int a) B hai(int a,int b)
C public hai(int a) D int hai(int c,int d)
E int hai() F int hai(String s)
12,下列各种java 中的语句,哪些在java 语言中是正确的语句?
A.break stop;
B.continue goon;
C.goto goon;
D.if(A >B )
{ A=1;
}
13,下列各种java 类的定义,哪些是正确的?
A,class MyClass
{
private int Val;
public int setVal(int Val)
{ this.Val=Val;
}
}
B,class MyClass
{
private static int Val;
public int setVal(int Val)
{ this.Val=Val;
}
}
C,class MyClass
{
private int Val;
public static int setVal(int Val)
{ this.Val=Val;
}
}
D,class MyClass
{
private static int Val;
public static int setVal(int ValData)
{ Val=ValData;
}
}
14,覆盖(重写)方法void hai(int a,int b),下面那些是正确的
A public void hai(int a,int b)
B protected void hai(int a,int b)
C public hai(int a)
D int hai(int c,int d)
E int Hai()
F int hai(String s)
15,分析下面代码,选择正确答案?
Integer s = new Integer(9);
Integer t = new Integer(9);
Long u = new Long(9);
A,(s==u)
B,(s==t)
C,(s.equals(t))
D,(s.equals(9))
E,(s.equals(new Integer(9))
16,如果在try 代码块中没有异常发生,则会输出那些结果
public static void main(String args[]){
try{
System.out.println("1");
/////AA
}catch (RuntimeException x){
System.out.println("2");
return;
}catch(Exception x){
System.out.println("3");
return;
}finally{
System.out.println("4");
}
System.out.println("5");
}
A 1 B 2 C 3 D 4 E 5
17,下面表达式中结果相同的是
A 3/2 B 3<2 C 3*4 D 3<<2
18,下面表达式哪两个的值相等
A 16<<2 B 16/3*2 C 16>>2 D 16<<<2
E 16>>>2 F 16/2
19,指出下列程序的所有错误?
final class First {
private int a = 1;
int b = 2;
}
class Second extends First {
public void method() {
System.out.println(a + b);
}
}
A println()参数应为字符串,因此此处不能调用该方法。
B 因为变量 a 是private,所以在其他类中不能访问a 。
C Second 不能继承First 。
D 关键字final不能修饰类。
20,设 a,b,c,d 均为 int 型的变量,并已赋值,下列表达式的结果属于逻辑值的
是( )。
A,a!=b & c%d < a
B,a++ = =a+b+c+d
C,++a*b--+d
D,a+b>=c+d
21,下面那些线程状态事务是正确的?
A 从ready 到running
B 从running 到ready
C 从running 到waiting
D 从waiting 到running
E 从waiting 到ready
F 从ready 到waiting
22,设 i,j 为类 x 中定义的 double 型变量名,下列 x 类的构造方法中正确的是( )。
A,double x(double k ){ i=k; return i; }
B,x(double m,double n ){ i=m; j=n; }
C,x( ){i=0;j=0 }
D,x(double k ){ i=k; }
23,下面代码中s 不能是哪些数据类型
switch(s) {
default,System.out.println("Best Wishes");
}
A byte B long C float D double
24,下面选项中那些是有效的申明?
A char c= ' \' ' B char c= "cafe"
C char c= '\ucafe' D char c= '\u01001'
E char c= '0x001'
25,如果定义String s=”example”,下面语句哪些会编译?
A s>>=2; B int i = s.length();
C s+=3; D char c= s[3];
E s= s +"abcd";
26,下面什么条件下一个正在运行的线程会中断
A 当一个中断异常发生
B 当一个高优先级线程准备好(runnable 状态)
C 当创建一个新的线程
D 当 stop 方法被调用
27,下面对数组申明那些是正确的?
A int i[][]=new int[10,10];
B int i[10][10]=new int[][];
C int i [][]=new int[10][];
D int[]i[]=new int[10][10];
E int [][]i= new int[10][10];
28,下面那些是正确的为50 个字符申明的数组?
A char c[][]; B String []s; C String s[];
D String s[50]; E Object s[50];
29,在程序中//处可以放置那些选项?
public class base{
public int b;
public float method(float f) {
int i;
}
}
public class sub extends base {
private float f1;
public static void main (String args[]){
base b=new base();
float g;
int j;
//选项位置
}
}
A g=f1; B g=b.f; C j=b.i;
D b.method(10.0f) E g=b.b
30,下列方法定义中,正确的是( )。
A,public int x( ){,.,}
B,public static int x( double y ){,.,}
C,void x( double d ) {,.,}
D,public static x( double a ){,.,}
31,下面哪些是合法的标识符,
A,$persons
B.TwoUsers
C,*point
D,this
E,_endline
32,下面关于使用"<<"和 ">>"操作符的哪些结果是对的?
A,1010 0000 0000 0000 0000 0000 0000 0000 >> 4 的结果是
0000 1010 0000 0000 0000 0000 0000 0000
B,1010 0000 0000 0000 0000 0000 0000 0000 >> 4 的结果是
1111 1010 0000 0000 0000 0000 0000 0000
C,1010 0000 0000 0000 0000 0000 0000 0000 >>> 4 的结果是
0000 1010 0000 0000 0000 0000 0000 0000
D,1010 0000 0000 0000 0000 0000 0000 0000 >>> 4 的结果是
1111 1010 0000 0000 0000 0000 0000 0000
33,执行下列代码后,哪个结论是正确的 String[] s=new String[10];
A s[10] 为 "";
B s[9] 为 null;
C s[0] 为 未定义
D s.length 为 10
34,下面哪些不是java 的基本数据类型?
A,short
B,Boolean
C,Int
D,float
35,下面有关java 代码安全性的叙述哪些是对的。
A,字节码校验器加载查询执行需要的所有类。
B,运行时解释器执行代码。
C,在运行时,字节码被加载,验证然后在解释器里面运行。
D,类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。
36,定义类头时,可能用到的关键字是( )。
A,private
B.class
C.extends
D.implements
37,下列哪些java 语言的数据类型是其引用数据类型?
A.byte 数据类型
B.数组 数据类型
C.类 的数据类型
D.接口 数据类型
38,"result"是一个boolean 型的变量,下面的哪些表达式是合法的?
A,result = true;
B,if ( result ) { // do something..,}
C,if ( result!= 0 ) { // so something..,}
D,result = 1
39,下面的表达式哪个是正确的?
A String s="你好";int i=3; s+=i;
B String s="你好";int i=3; if(i==s){ s+=i};
C String s="你好";int i=3; s=i+s;
D String s="你好";int i=3; s=i+;
E,String s=null; int i=(s!=null)&&(s.length>0)?s.length():0;
40,选出合理的标识符
A _sys1_lll
B 2mail
C $change
D class
41,哪个布局管理器使用的是组件的最佳尺寸( preferred size )
A FlowLayout
B BorderLayout
C GridLayout
D CardLayout
E.GridBagLayout
42,下列哪个方法可用于创建一个可运行的类?
A public class X implements Runable{ public void run(){,.....} }
B public class X implements Thread{ public void run(){,.....} }
C public class X implements Thread{ public int run(){,.....} }
D public class X implements Runable{ protected void run(){,.....} }
E.public class X implements Thread{ public void run(){,.....} }
43,下面哪个方法可以在任何时候被任何线程调用?
A notify()
B wait()
C notifyAll()
D sleep()
E.yield()
F.synchronized(this)
44,给出下列代码,
switch(x){
case 1:System.out.println(“Test 1”);break;
case 2,
case 3:System.out.println(“Test 2”);break;
default:System.out.println(“end”);
}
x 为什么值时,会输出 Test 2?
A,0
B,1
C,2
D,3
45,下面关于变量及其范围的陈述哪些是对的?
A,实例变量是类的成员变量。
B,实例变量用关键字 static 声明。
C,在方法中定义的局部变量在该方法被执行时创建
D,局部变量在使用前必须被初始化。
46,下面关于继承的哪些叙述是正确的?
A,在 java 中只允许单一继承。
B,在 java 中一个类只能实现一个接口。
C,在 java 中一个类不能同时继承一个类和实现一个接口。
D,java 的单一继承使代码更可靠。
47,给定下列代码,
public class Parent {
public int addValue( int a,int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下列哪些方法可以作为 Child 类的方法?
A,int addValue( int a,int b ){// do something...}
B,public void addValue (){// do something...}
C,public int addValue( int a ){// do something...}
D,public int addValue( int a,int b )throws MyException {//do something...}
48,下面的哪些程序片断可能导致错误?
A,String s = "Gone with the wind";
String t = " good ";
String k = s + t;
B,String s = "Gone with the wind";
String t;
t = s[3] + "one";
C,String s = "Gone with the wind";
String standard = s.toUpperCase();
D,String s = "home directory";
String t = s - "directory";
49,下列哪些接口在Java 中没有定义相对应的Adapter 类?
A,MouseListener
B,KeyListener
C,ActionListener
D,ItemListener
E,WindowListener
50,如果下列的方法能够正常运行,在控制台上将显示什么?
public void example(){
try{
unsafe();
System.out.println("Test1");
}
catch(SafeException e)
{System.out.println("Test 2");}
finally{System.out.println("Test 3");}
System.out.println("Test 4");
}
A Test 1
B Test 2
C Test 3
D Test 4
51,下列哪些情况可以终止当前线程的运行?
A 抛出一个例外时。
B 当该线程调用 sleep()方法时。
C 当创建一个新线程时。
D 当一个优先级高的线程进入就绪状态时。
52,下列那些项目不是java 的主要优点。
A,直接操作内存,功能强大
B,一次编写,到处运行
C,纯面向对象的语言
D,可以通过拖拽的方式快速开发程序界面
53,下面有几个定义的标识符,找出合乎java 规范的标识符。
A,IDoLoveThisGame
B,const
C,3Person
D,_People5
54,public class MyClass{
public static void main(String args[]) {}
_____class MyInnerClass {}
}
在以上 Java 代码中的横线上,可放置哪些修饰符。
A,public
B,private
C,static
D,friend
三,程序解析题(13 道)
1,编译如下代码可能出现的结果是
public class Holt extends Thread{
private String sThreadName;
public static void main(String argv[]){
Holt h = new Holt();
h.go();
}
Holt(){}
Holt(String s){
sThreadName = s;
}
public String getThreadName(){
return sThreadName;
}
public void go(){
Holt first = new Holt("first");
first.start();
Holt second = new Holt("second");
second.start();
}
public void start(){
for(int i = 0; i < 2; i ++){
System.out.println(getThreadName() +i);
try{
Thread.sleep(100);
}catch(InterruptedExceptione){
System.out.println(e.getMessage());
}
}
}
}
A 编译时出错
B 输出 first0,second0,first0,second1
C 输出 first0,first1,second0,second1
D 运行时出错
2,当你试图编译运行如下代码时会出现什么结果
class Background implements Runnable{
int i=0;
public int run(){
while(true){
i++;
System.out.println("i="+i);
} //End while
return 1;
}//End run
}//End class
A 编译通过执行run方法会输出i 递增值
B 编译通过当调用开始输出i 递增值
C 在编译时代码引起错误,
D 由于没有正确的参数编译时出错,
3,编译下面代码会出现什么结果
public class Conv{
public static void main(String argv[]){
Conv c=new Conv();
String s=new String("ello");
c.amethod(s);
}
public void amethod(String s){
char c='H';
c+=s;
System.out.println(c);
}
}
A 编译通过并输出字符串"Hello"
B 编译通过并输出字符串"ello"
C 编译通过并输出字符串"elloH"
D 编译出错
4,下面哪一项编译不会有错?
A,package testpackage;
public class Test{//do something…}
class MyClass{}
B,import java.io.*;
package testpackage;
public class Test{//do something…}
C,import java.io.*;
class Person{//do something…}
public class Test{//do something…}
D,import java.io.*;
import java.awt.*;
public class Test{//do something…}
5,分析下面的代码,请选择正确的结果?
public class X implements Runnable {
private int x;
private int y;
public static void main(String[] args) {
X that = new X();
(new Thread(that)).start();
(new Thread(that)).start();
}
public void run() {
for (;;) {
synchronized (this) {
x+;
y+;
}
System.out.println(Thread.currentThread().getName() + "x = " + x
+ ",y = " + y);
}
}
}
A,有编译错误。
B,程序打印 x 和 y 这一对值在同一行中并不总是相同的,例如:“x = 2,y = 1” 。
C,程序打印 x 和 y 这一对值在同一行中总是相同的,例如:,x = 1,y = 1”。另外,每一个值只出现一次,例如:“x = 1,y = 1” 接下来“x = 2,y = 2” 。在一个行的开始显示的线程的名字是正在并发执行的两个线程的名字。
D,程序打印 x 和 y 这一对值在同一行中总是相同的,例如:,x = 1,y = 1”。另外,每一个值只出现一次,例如:“x = 1,y = 1” 接下来“x = 2,y = 2” 。在一个行的开始显示的线程的名字是实际现在正在执行的当前一个线程的名字。
6,给出下面代码,
1) class Parent {
2) private String name;
3) public Parent(){}
4) }
5) public class Child extends Parent {
6) private String department;
7) public Child() {}
8) public String getValue(){ return name; }
9) public static void main(String arg[]) {
10) Parent p = new Parent();
11) }
12) }
那些行将引起错误?
A 第 3 行
B 第 6 行
C 第 7 行
D 第 8 行
7,编译下列代码的结果是?
public class SiteInfo{
String webSite="http://www.lanw.com"+'/'+"default.htm";
public String getSite(){
return webSite;
}
}
A,没有任何问题
B,编译器会报错误,':' expected for the statement in line 2,
C,缺少 main 方法,
D,getSite()方法中的 return webSite 有问题
8,给出下面代码段
1) public class Test {
2) int m,n;
3) public Test() {}
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) {
6) Test t1,t2;
7) int j,k;
8) j=0; k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
哪行将引起一个编译时错误?
A line 3
B line 5
C line 6
D line 10
9,对于下列代码,
1) class Person {
2) public void printValue(int i,int j) {//..,}
3) public void printValue(int i){//..,}
4) }
5) public class Teacher extends Person {
6) public void printValue() {//..,}
7) public void printValue(int i) {//...}
8) public static void main(String args[]){
9) Person t = new Teacher();
10) t.printValue(10);
11) }
第 10 行语句将调用哪行语句?
A line 2
B line 3
C line 6
D line 7
10,给定下面的 Java 程序段,
1) StringBuffer sb = new StringBuffer("abc");
2) String s = new String("abc");
3) sb.append("def");
4) s.append("def");
5) sb.insert(1,"zzz");
6) s.concat(sb);
7) s.trim();
下面那些描述是正确的,
A,编译器在 line 1 产生错误,
B,编译器在 line 2 产生错误,
C,编译器在 line 3 产生错误,
D,编译器在 line 4 产生错误,
E,编译器在 line 5 产生错误,
F,编译器在 line 6 产生错误,
G,编译器在 line 7 产生错误,
11,给定如下的代码,
1) public class Test {
2) int m,n;
3) public Test() {}
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) {
6) Test t1,t2;
7) int j,k;
8) j=0; k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
下列哪一行会在编译时产生错误?
A,line 3
B,line 5
C,line 6
D,line 10
12,下面程序的输出是什么?
public class Quiz2 {
public static void main(String args[]) {
try {
throw new MyException();
} catch (Exception e) {
System.out.println("It'scaught!");
} finally {
System.out.println("It'sfinallycaught!");
}
}
}
class MyException extends Exception {
}
A.It'sfinallycaught!
B.It'scaught!
C.It'scaught!
It'sfinallycaught!
D.无输出
13,给出下面的代码块,
public class Delta {
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] argv) {
int i = 0;
for (foo('A'); foo('B') && (i < 2); foo('C')) {
i+;
foo('D');
}
}
}
请选择正确的输出结果?
A,ABDCBDCB
B,ABCDABCD
C,Compilation fails,
D,An exception is thrown at runtime,
四,程序填空题(13 道)
1,完成程序中循环,实现把变量 i 赋值给数组 ia[]的元素
public class Lin{
public static void main(String argv[]){
Lin l = new Lin();
l.amethod();
}
public void amethod(){
int ia[] = new int[4];
_____________________//Start For loop
{
ia[i]=i;
System.out.println(ia[i]);
}
}
}
答案:for(int i=0; i< ia.length;i++)
2,下面程序运行的结果是_______________________
public class Oct{
public static void main(String argv[]){
Oct o = new Oct();
o.amethod();
}
public void amethod(){
int oi= 012;
System.out.println(oi);
}
}
答案:10
3,下列程序段运行结果是_________
public class Example{
public static void main(String args[]){
Integer b= new Integer(10);
Add(b);
System.out.println(b.intValue());
}
static void Add(Integer b){
int I= b.intValue();
I+=3;
b= new Integer(I);
}
}
答案:10
4,写出下列代码执行的结果,
public class Test1 {
public static void main(String[] args) {
for (int i=-2; i<2; i++) {
if (i==0) continue;
System.out.println("i=" + i);
}
}
}
答案,
i=-2
i=-1
i=1
5,以下程序将一个数插入一个有序的数组中,试在横线上填出缺少的语句。
class array3 {
public static void main(String args[]) {
int a[] = { 1,4,6,9,13,16,19,28,40,100,0 };
int number = 5;
int temp1,temp2,end,i,j;
System.out.println("Theinitial arrayi sasfollowing:");
for (i = 0; i < 10; i++)
System.out.print(a[i] + "");
System.out.println();
System.out.println("Thenumbertoinsert:" + number);
end = a[9];
if (number > end)
a[10] = number;
else {
for (i = 0; i < 10; i++) {
if (a[i] > number) {
temp1 = a[i];
_____________;
for (j = i + 1; j < 11; j++) {
temp2 = a[j];
a[j] = temp1;
temp1 = temp2;
}
break;
}
}
}
for (i = 0; i < 11; i++)
System.out.print(a[i] + "");
}
}
答案,
a[i]=number
6,给定如下代码,程序输出的结果是,
public class Test {
void printValue(int m){
do { System.out.println("The_value_is_"+m);
}
while( --m > 10 )
}
public static void main(String arg[]) {
int i=10;
Test t= new Test();
t.printValue(i);
}
}
答案,
The_value_is_10
7,写出下列程序的结果
public class Test{
public static void main(String args[]){
String s1=”Henry Lee”;
String s2=”Java Applet”;
String s3=”Java”;
String st;
if(s.compareTo(s2)<0)
st=s2;
else
st=s1;
if(st.compareTo(s3)<0)
st=s3;
System.out.println(“big=”+st);
}
}
答案,
Java Applet
8,写出下面程序运行的结果,
import java.util.Arrays;
public class SortArray {
public static void main(String args[]) {
String[] str = {"size","abs","length","class"};
Arrays.sort(str);
for (int i=0; i<str.length; i++)
System.out.print(str[i]+"_");
}
}
答案,
abs_class_length_size
9,定义 A,B 如下,
class A
{
int a=1;
double d=2.0;
void show( )
{
System.out.println("Class A:a="+a +" d="+d);
}
}
class B extends A
{
float a=3.0f;
String d="Java program.";
void show( )
{
super.show( );
System.out.println("Class B:a="+a +" d="+d);
}
}
(1) 若在应用程序的 main 方法中有以下语句,
A a=new A();
a.show();
则输出的结果如何?
(2) 若在应用程序的 main 方法中定义类 B 的对象 b,
A b=new B();
b.show();
则输出的结果如何?
答案,
(1)Class A:a=1 d=2.0
(2)Class A:a=1 d=2.0
Class B:a=3.0 d=Java program,
10,以下程序段的输出结果为 。
int j=2;
switch ( j ) {
case 2,
System.out.print(“Value is two.”);
case 2+1,
System.out.println(“Value is three.”);
break;
default,
System.out.println(“value is,+j);
break;
}
答案,
Value is two.Value is three
11,阅读以下程序段,
class Parent
{
void printMe()
{
System.out.println(“parent”);
}
}
class Child extends Parent
{
void printMe()
{
System.out.println(“child”);
}
void printAll()
{
super.printMe();
this.printMe();
printMe();
}
}
public class Test_this
{
public static void main(String args[ ])
{
Child myC=new Child();
myC.printAll();
}
}
输出结果为,
答案,
parent
child
child
12,下面给出了一个选择排序的程序,试在横线上填上适当的语句。
class array2 {
public static void main(String args[]) {
final int N = 10;
int i,j,min,temp;
int a[] = { 20,10,50,40,30,70,60,80,90,100 };
System.out.println("Thesourcedata:");
for (i = 0; i < N; i++)
System.out.print(a[i] + "");
System.out.println();
// Sorting
for (i = 0; i < N - 1; i++) {
min = i;
for (j = i; j < N; j++)
if (a[min] > a[j])
___________;
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
// Output
System.out.println("Thesortingresult:");
for (i = 0; i < N; i++)
System.out.print(a[i] + "");
}
}
答案,
min=j
13,分析下面代码,
class test {
public static void main(String args[]) {
System.out.println (6 ^ 3);
}
}
结果输出_________?
答案:5
五,编程题:(3 道)
1,编写一个程序计算下列问题:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?
答案:the total of road is 299.609375 m
the tenth is 0.09765625 m
参考程序如下,
public class Example
{
public static void main(String[] args)
{
double sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++){
sn=sn+2*hn;/*第 n 次落地时共经过的米数*/
hn=hn/2; /*第 n 次反跳高度*/
}
System.out.println("the total of road is "+sn+" m");
System.out.println("the tenth is "+hn+" m");
}
}
2,编写程序计算结果:一个 1000 以内的整数,它加上 100 后是一个完全平方数,再加上
168 又是一个完全平方数,请问该数是否存在,如果存在又是多少?
答案:21,261
参考程序如下,
public class Example
{
public static void main(String[] args){
long i,x,y,z;
for (i=1;i<1000;i++){
x=(long)Math.sqrt(i+100);/*x 为加上 100 后开方后的结果*/
y=(long)Math.sqrt(i+268);/*y 为再加上 168 后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
System.out.println(i);
}
}
}
3,已知菲波那契数列的数学表达式为,
fibonacci(n)=n,n=0,1;
fibonacci(n)=fibonacci(n-1)+fibonacci(n-2),n≥2;
请编写一个程序计算当n=25时候,菲波那契值是多少。
答案,
75025
参考程序如下,
public class Test {
public static void main(String[] args) {
System.out.print(fibonacci(25l));
}
static long fibonacci(long n) {
if (n == 0 || n == 1)
return n;
else
return (fibonacci(n - 1) + fibonacci(n - 2));
}
}