面试3

一、选择题

1、下面关于变量及其作用范围的陈述哪个是不对的? 

A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。

D.局部变量在使用前必须被初始化。

2、下面哪条语句把方法声明为抽象的公共方法? 

Apublic abstract method();

Bpublic abstract void method();

Cpublic abstract void method(){}

Dpublic void method() extends abstract;

3、哪个是将一个十六进制值赋值给一个long型变量? 

Along number = 345L;

Blong number = 0345;

Clong number = 0345L;

Dlong number = 0x345L;

4、下面的哪个赋值语句是不对的? 

Afloat f = 11.1;

Bdouble d = 5.3E12;

Cdouble d = 3.14159;

Ddouble d = 3.14D;

5、下面哪个是不合法的标识符? 

A$persons;

BTwoUsers;

C*point;

D_endline;

6、若在某一个类定义中定义有如下的方法:final void aFinalFunction( );

则该方法属于(    )。

A、本地方法      B、静态方法        C、最终方法     D、抽象方法

7main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(       )。

A public static void main()

B public static void main(String[ ] args)

C public static int main(String[ ] args)

Dpublic void main(String arg[ ])

8、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为(     )。

A、隐藏       B、覆盖       C、重载       DJava不支持此特性

9、在Java  applet程序中,用户自定义的Applet子类常常覆盖父类的(      )方法来完成applet界面的初始化工作。

Astart( )       Bstop( )      Cinit( )         Dpaint( )

10以下代码段执行后的输出结果为(        )。

int  x=-3;  float  y=10.0f;

System.out.println(y%x);

A、不能成功编译       B-1.0             C1.0                D-1

11、下列关于构造方法的叙述中,错误的是(   
AJava语言规定构造方法名与类名必须相同
BJava语言规定构造方法没有返回值,但不用void声明
CJava语言规定构造方法不可以重载
DJava语言规定构造方法只能通过new自动调用

 

12、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( 
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、

在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问

 

13、执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的(        
Ax[9]

Bx[9]未定义 

Cx[10]

Dx[0]为空

 

14、类Test1定义如下:

1.     public  class  Test1{

2         public  float  aMethod(float  a, float  b){   }

3           

4    }  

将以下哪种方法插入行3是不合法的。(      

Apublic  float  aMethodfloat  a float  bfloat  c{  }

Bpublic  float  aMethodfloat  cfloat d{  }

Cpublic  int  aMethodint  a int b{  }

Dprivate float aMethodint aint bint c{  }

 

15、阅读以下代码:
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}

输出结果应该是:(    
A.代码得到编译,并输出“s=”
B
.代码得到编译,并输出“s=null”
C
.由于String s没有初始化,代码不能编译通过
D.代码得到编译,但捕获到 NullPointException异常

16、下述概念中不属于面向对象方法的是(   )。
A.对象、消息                 B.继承、多态    

C.类、封装                   D.过程调用

17、编译并运行以下程序,以下描述哪个选项是正确的(   )。

1.  class  A{

2.    protected  String  toString(){

3.           return  super.toString();}

4.    }

A、行2出错,不能成功编译     B、编译通过但运行时出错

C、编译通过运行无异常         D、不能成功编译,行3出错

18、假设Foo类有如下定义,设fFoo类的一个实例,下列语句调用哪个

是错误的?(  )

public class Foo

{     int  i;

        static String  s;

        void  imethod() {   }

        static  void  smethod()  {   }

}

AFoo.imethod();                       Bf.imethod();

CSystem.out.println(f.i);               DFoo.smethod()

19以下哪个接口的定义是正确的?(   )

A  interface  A

{  void print()  {  } ;}

B  abstract  interface  A

{ void print() ;}

C  abstract  interface  A  extends I1, I2   // I1I2为已定义的接口

{ abstract  void  print(){  };}

D  interface  A

{  void  print();}

20、关于以下程序段,正确的说法是(   )

1  String  s1=“a”+“b”;
2
   String  s2=new  Strings1);
3    ifs1==s2
4       System.out.println(“= =  is succeeded”);
5
     if (s1.equals(s2))
6
        System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行                B.行4执行,行6不执行
C.行6执行,行4不执行              D.行4、行6都不执行

21、下列哪些标识符是不合法的?    

A: _underscore

B: 5Intel  

C: Intel5

D: $value$

22、对数组的定义及初始化不正确的方法是:(        
   A
int array[];                             B. int array[8];  
   C
int[] array=new int[8];                D. int array[]=new int[8];  

23、下面哪个表达式正确?        
  A
float   f=1.3;     Bchar   c="a";       Cbyte   b=257;     Dint i=10;

24、下面程序运行结果为:(   )

public class test3
{public static void main(String args[])
 
 { int count=0;
 
   for (int i=0;i<=100;i++)
     
  count+=count++;
 
 }
 }

 A 0     B 7      c 编译有错误    D 其他答案

25、下面哪个函数是public void  aMethod(){...}的重载函数?(  )

Avoid  aMethod( ){...}

Bpublic int  aMethod(){...}

Cpublic void  aMethod ( ){...}

Dpublic int  aMethod ( int m){...}

26、下面关于继承的哪些叙述是正确的? (   )
A
.在java中允许多继承。
B
 java中一个类只能实现一个接口。
C
 java中一个类不能同时继承一个类和实现一个接口。
D
 java的单一继承使代码更可靠。

27、关于length()这个方法的表述正确的是哪个?  (   )

A.数组有length()这个方法,string也有length()这个方法。

   B.数组有length()有这个方法,string没有length()这个方法。

C.数组没有length()这个方法,stringlength()这个方法。

D.数组没有length()这个方法,string也没有length()这个方法。

28、运行下面程序段的结果是:(   )

public class MyMain{

   public static void main(String args){

   System.out.println(“Hello Java”);

}

}

A.正常输出Hello Java

B.编译时出错

C.运行时出错

D. 以上答案都不对

29、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )

A)最大的               B)最小的             C)任意的             D)头上的

30、关于以下程序段,正确的说法是(   )

1  String  s1=“x”+“y”;
2
   String  s2=new  Strings1);
3    ifs1==s2
4       System.out.println(“= =  is succeeded”);
5
     if (s1.equals(s2))
6
        System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行                B.行4执行,行6不执行
C.行6执行,行4不执行              D.行4、行6都不执行

31、类与对象的关系是(   )
A.
类是对象的抽象
B.
类是对象的具体实例
C.
对象是类的抽象
D.
对象是类的子类

32、下列关于修饰符混用的说法,错误的是(   )
A. abstract
不能与final并列修饰同一个类
B. abstract
类中不可以有private的成员
C. abstract
方法必须在abstract类中
D. static
方法中能处理非static的属性

33、编译并运行下述程序段的结果是:(   )。

public class Test{

     public static void main(String argv[]){

      int[] count = new int[4];

      System.out.println(count[4]);

}

}

A.编译时错误

B.运行时错误

C.输出0

D.输出null

34、下面是有关子类继承父类构造函数的描述,其中正确的是(   )

A.创建子类的对象时, 先调用子类自己的构造函数,然后调用父类的构造函数。

B.子类无条件地继承父类不含参数的构造函数。

C.子类必须通过super关键字调用父类的构造函数。

D.子类无法继承父类的构造函数。

35、下列类的定义中,错误的是(   )

A class x  { .... }

B public x extends y  { .... }

Cpublic class x extends y  { .... }

D class x extends y implements y1  { .... }

36、假设A类有如下定义,设aA类的一个实例,下列语句调用哪个是错误的?(  

class  A

{     int  i;

              static  String  s;

              void  method1() {   }

              static  void  method2()  {   }

}

ASystem.out.println(a.i)Ba.method1();  CA.method1();   DA.method2()

37、在编写Java  Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(   )语句。

Aimport   java.awt.* ;              Bimport   java.applet.* ;

Cimport   java.io.* ;               Dimport   java.awt.event.* ;

38、假设A类有如下定义,设aA类的一个实例,下列语句调用哪个是错误的?(  

class  A

{     int  i;

              static  String  s;

              void  method1() {   }

              static  void  method2()  {   }

}

ASystem.out.println(a.i)Ba.method1();  CA.method1();   DA.method2()

39A派生出子类B派生出子类C,并且在Java源代码中有如下声明:

1.          A  a0=new  A();

2.          A  a1 =new  B();

3.          A  a2=new  C();

问以下哪个说法是正确的?        

A、只有第1行能通过编译  

B、第12行能通过编译,但第3行编译出错

C、第123行能通过编译,但第23行运行时出错

D、第1行、第2行和第3行的声明都是正确的 

40、以下哪个接口的定义是正确的?(     

A  interface  B

{  void print()  {  } ;}

B  abstract  interface  B

{ void print() ;}

C  abstract  interface  B  extends  A1,A2  //A1A2为已定义的接口

{ abstract  void  print(){  };}

D  interface  B

      {  void  print();}

 

41、下面的哪个赋值语句是正确的?       

A、      short myshort=99s;

B、      String name=’Excellent’;

C、      char c=17c;

D、      int z=015;

 

42、下面哪个不是Java的保留字或关键字?       

A、 default

B、 NULL

C、 throws

D、 long

 

43、下面哪个是Math类中正确的方法?       

A、  random()

B、  Random()

C、  square()

D、  sqr()

 

44、编译并运行以下程序段的结果是:(       

public static void main(String args[ ]){

Frame f=new Frame (“Visual”);

f.setSize(300,300);

f.setVisible(true);

Point p=f.getLocation();

System.out.println(“x is ”+ p.x);

System.out.println(“y is ”+ p.y);

}

Ax is 300

   y is 300

Bx is 0

   y is 0

Cx is 0

   y is 300

Dx is 300

   y is 0

45、下面哪个不是Thread类的方法?       

A、  yield()

B、   sleep(long msec)

C、   go()

D、  stop()

 

46、下面哪个不是Collection接口的方法?       

A、  iterator

B、   isEmpty

C、   toArray

D、  setText

 

47、下面哪个不是String类的方法?       

A、  subString()

B、  startsWith()

C、  toString()

D、  toUpperCase()

 

  48、编译并运行以下程序段的结果是:(       

   public class MyClass{

final static int i;

MyClass(){i =0;}

public static void main(String args[]){

System.out.println(i);

}

}

A、  编译出错

B、  null

C、  1

D、  0

 

49、下面哪条语句是正确的?       

A: short snum = 99s;

B: String name = ‘Class Name is: 03076’;

C: char c = 17c;

D: float f = 3.4f;

 

50、下面哪个语句(初始化数组)是不正确的:(       

A: int x[] = {1,2,3};

B: int x[3] = {1,2,3};

C: int[] x = {1,2,3};

D: int x[] = new int[]{1,2,3};

 

51、下面方法中的“返回类型Type”应该是什么? (   )

public class ReturnIt{

returnType methodA(byte x, double y){

return (short)x / y * 2;

}

}

A.     double                   B. int                   C. byte                        D. short

52、下面哪一个表达式是正确的? (   )

A、 byte=128;

B、 Boolean=null;

C、 long l=0xfffL;

D、 double=0.9239d;

53、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?(   )

A、public           B、private          C、static       D、final

54、下面关于java中类的说法哪个是不正确的?(   )

A、类体中只能有变量定义和成员方法的定义,不能有其他语句。

B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。

D、一个java文件中可以有多个class定义。

55、下列哪个类声明是正确的?  (    )

A、 abstract final class H1{…}

B、 abstract private move(){…}

C、 protected private number

D、 public abstract class Car{…}

56、方法重载是指 (    )
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同

57、下面关于Vector类的说法正确的是(    )

A.类Vector在java.util包中。

B.一个向量(Vector)对象存放的是一组有序的对象。

C.一个向量(Vector)对象大小可以根据存放的元素个数的增加而自动增加。

D.一个向量(Vector)对象中每个元素可以是不同类型的对象。

58、下列方法中,哪一个不是Applet的基本方法?(    )

A、init()       B、run()        C、stop()       D、start()

59、哪个布局管理器使用的是组件的最佳尺寸?   (   )

A. FlowLayout               B. BorderLayout
C. GridLayout               D. CardLayout

60、Frame的默认的布局管理器是下列哪一个?   (    )

A.FlowLayout                    B.BorderLayout
C.GridLayout                    D.CardLayout

61、下列哪个用户图形界面组件在软件安装程序中是常见的?  (    )

A.滑块              B.进度条            C.对话框            D.标签

62、 包含可单击按钮的类的Java类库是哪个?

A.AWT               B.Swing         C.二者都有          D.二者都没有

63、下面的哪个用户界面组件不是容器? (    )

A. JScrollPane

B. JFrame

C. JWindows

D. JScrollBar

64、在下列事件处理机制中哪个不是机制中的角色?  (   )

A. 事件            

B. 事件源

C. 事件接口       

D. 事件处理者

65.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?(   )

A、 ArrayList myList=new Object();

B、 List myList=new ArrayList();

C、 ArrayList myList=new List();

D、 List myList=new List();

66.paint()方法使用哪种类型的参数? (   )

A、 Graphics

B、 Graphics2D

C、 String

D、 Color

67.指出正确的表达式 (   )

A、 byte=128;

B、 Boolean=null;

C、 long l=0xfffL;

D、 double=0.9239d;

68.指出下列程序运行的结果 (   )
public class Example{
  String str=new String("good");
  
char[]ch={'a','b','c'};
  
public static void main(String args[]){
    
Example ex=new Example();
    
ex.change(ex.str,ex.ch);
    
System.out.print(ex.str+" and ");
    
Sytem.out.print(ex.ch);
  
}
  
public void change(String str,char ch[]){
    
str="test ok";
    
ch[0]='g';
  
}
}

A、 good and abc

B、 good and gbc

C、test ok and abc

D test ok and gbc

69.运行下列程序, 会产生什么结果 (   )

public class X extends Thread implements Runable{
 public void run(){
  
System.out.println("this is run()");
 
}
 
public static void main(String args[])
 
{
  
Thread t=new Thread(new X());
  
t.start();
 
}
}

A、 第一行会产生编译错误

B、 第六行会产生编译错误

C、 第六行会产生运行错误

D、 程序会运行和启动

70.要从文件" 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();

71.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? (   )

A、 CardLayout

B、 FlowLayout

C、 BorderLayout

D GridLayout

72.给出下面代码:

public class Person{
  
static int arr[] = new int[10];
  
public static void main(String a[])
  
{
   
System.out.println(arr[1]);
  
}
}

那个语句是正确的? (   )

A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误;

C 、输出零;

D、 输出空。

73.哪个关键字可以对对象加互斥锁? (   )

A、 transient

B、 synchronized

C、 serialize

D static

74.下列哪些语句关于内存回收的说明是正确的? (   )

A、 程序员必须创建一个线程来释放内存;

B、 内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

75.下列代码哪几行会出错
: (   )
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10} }

A、 line 4

B、 line 6

C、 line 7

D、 line 8

76.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 (   )

A、 public int MAX_LENGTH=100;

B、 final int MAX_LENGTH=100;

C、 final public int MAX_LENGTH=100;

D public final int MAX_LENGTH=100.

77.给出下面代码:

  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行

78.类Teacher和Student是类Person的子类;
   
Person p;
   
Teacher t;
   
Student s;
   
//p, t and s are all non-null.
   
if(t instanceof Person) { s = (Student)t; }
  最后一句语句的结果是: (   )

A、 将构造一个Student对象;

B、 表达式是合法的;

C、 表达式是错误的;

D、 编译时正确,但运行时错误。

79.给出下面代码段

  
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

80.对于下列代码:

  
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

81.哪个关键字可以抛出异常? (   )

A、 transient

B、 finally

C、 throw

D static

82.Main()方法的返回类型是: (   )

A、 int

B、 void

C、 boolean

D static

83.System类在哪个包中? (    )

A、 java.util

B、 java.io

C、 java.awt

D、 java.lang

84.对于下列代码:
  
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 (int a, int b ){// do something...}

C、 public int addValue( int a ){// do something...}

D public int addValue( int a, int b )throws MyException {//do something...}

85.给出下面代码:

  
public class test{
   
static int a[] = new a[10];
   
public static void main(String args[]) {
    
System.out.println(arr[10]);
   
}
  
}
那个选项是正确的? (   )


A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误;

C、 输出零;

D、 输出空。

86.下面哪些选项是正确的main方法说明? (    )

A、 public main(String args[])

B、 public static void main(String args[])

C、 private static void main(String args[])

D void main()
87.给定下面的代码片段:

  
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
88.下面哪种注释方法能够支持javadoc命令: (   )

A、 /**...**/

B、 /*...*/

C、 //

D、 /**...*/
89. 欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:

A、 TextArea

B、 Panel

C、 Applet

D Canvas
90. 界面如上题所示。若"Button1"的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):

A、 模式(Modal)
Dialog
B、 非模式(None-modal)
Dialog
C、
FileDialog
D、
Frame

91. 界面如上题所示。如果在A区域使用某种AWT组件(java.awt.Component的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考虑到应用程序和Java虚拟机的AWT线程都会要求重画该组件)? (   )

A、 构造方法

B、 paint(Graphics g)

C、 update(Graphics g)

D、 repaint()

92.下面关于Applet的说法正确的是 (    )

A、 Applet也需要main方法

B、 Applet必须继承自java.awt.Applet

C、 Applet能访问本地文件

D、 Applet程序不需要编译

93.看下面一段程序:

  
class Aclass{
   
void go(){
    
System.out.println("Aclass");
   
}
  
}
  
public class Bclass extends Aclass{
   
void go{
    
System.out.println("Bclass");
   
}
  
public static void main(String args[]){
   
Aclass a=new Aclass();
   
Aclass a1=new Bclass();
  
a.go();
  
a1.go();
  
}
以上程序运行结果是:

A Aclass
   Aclass

B Bclass
   Bclass

C Aclass
   Bclass

D Bclass
   
Aclass

94.下列关于Java线程的说法那些是正确的(    )

A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。

B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。

C、 Thread类属于java.util程序包。

D、 以上说法无一正确。

95.看以下程序:

  
boolean a=false;
  
boolean b=true;
  boolean c=(a&&b)&&(!b);

  
int result=c==false?1:2;
这段程序执行完后,c与result的值是: (   )

A、 c=false;result=1;

B、 c=true;result=2;

C、 c=true;result=1;

D c=false;result=2;

96.运行下列程序, 会产生什么结果 (   )

  public class X extends Thread implements Runable{
  
public void run(){
   
System.out.println("this is run()");
  
}
  
public static void main(String args[])
  
{
   Thread t=new 
Thread(new X());
   
t.start();
   
}
  }

A、 in the Inner outer

B、 outer

C、 in the Inner

D、编译不通过

this is run()

97.指出下列程序的运行结果 (   )
  int i = 9;
  
switch (i) {
  
default:
  
System.out.println("default");
  
case 0:
  
System.out.println("zero");
  
break;
  
case 1:
  
System.out.println("one");
  
case 2:
  
System.out.println("two");
  }

A、 default

B、 default, zero

C、 error default clause not defined

D、 no output displayed那个

98.运行下列程序,会产生什么结果: (   )

  class Outer1{
   
private int a;
   
void foo(double d,final float f){
    
String s;
    
final boolean b;
    
class Inner{
     
void methodInner(){
      
System.out.println("in the Inner");
     
}
    
}
   
}
   
public static void main(String args[])
  
{
  
Outer1 me=new Outer1();
  
me.foo(123,123);
  
System.out.println("outer");
  
}
 }

A、 in the Inner outer

B、 outer

C、 in the Inner

D、 编译不通过

99. 下面哪个单词是Java语言的关键字(     )

A、Float        B、this     C、string       D、unsigned    

 

100. 下面哪个是Java语言中正确的标识符(     )

A、3com     B、import       C、that         D、this

 

101. 下面哪个语句不能定义一个字符变量(     

A、char c1=06477;               B、char c2=’\uface’ ;

C、char c4=0xbeef ;             D、char c3=\u0041;

 

102. 下面哪个修饰符修饰的方法只能被本类中的其他方法使用(     

A、protected            B、static               C、private      D、public

 

103. 下面哪个运算后结果为32  (       )

A、2^5          B、(8>>2)<<4        C、2>>5         D、 (2<<1)*(32>>3)

 

104. 下面哪个是对字符串String的正确定义 (      )

A、String s1=null;                  B、String s2=’null’ ;    

C、String s3=(String) ‘abc’ ;     D、String s4=(String) ‘\uface’;

 

105. 下面哪条语句不能定义一个float型的变量(      )

A、float f1= -343 ;                 B、float f2=3.14 ;     

C、float f3=0x12345 ;               D、float f4=2.8F ;     

 

106. 下面哪条语句定义了5个元素的数组(      )

A、int [] a={22,23,24,25,12};

B、int a []=new int(5);

C、int [5] array;

D、int [] arr;

 

107. 下面哪个范围是char型的取值范围(       )

A、-256 ~ 255                       B、-(2^15) ~ (2^15)-1       C、’\u0000’ ~ ‘\uffff’      D、    0~32767

 

108. 给出一段程序,选择运行结果

public class sss {

public static void main(String args[])

{

    String s1=args[1];    String s2=args[2];

    String s3=args[3];    String s4=args[4];

    System.out.println(“args[2]=”+s2);

}

}

命令行执行:  java sss 1 2 3 4   结果是下面哪一个?   )

A、args[2]=2            B、args[2]=null     C、args[2]=1        D、运行出现异常

 

109. 下面哪个描述是正确的(    

A、Applet程序中不需要main()方法,也不能有

B、Application程序中可以没有main()方法。

C、Applet程序中可以不定义init( )方法

D、Application程序中必须有run( )方法      

 

110. 给出一段程序,试判断哪个是正确的结果(     

public class rtExcept{

    public static void throwit(){

System.out.print(“throwit”);

throw new RuntimeException();  }

    public static void main(String [] aa){

        try{

            System.out.print(“hello “);

            throwit(); }

        catch(Exception re){

        System.out.print(“caught ”);  }

        finally{

        System.out.print(“finally ”); }

        System.out.print(“after ”);

    }

}

A、hello throwit caught

B、hello throwit caught finally after

C、hello throwit RuntimeException after

D、hello throwit caught finally after RuntimeException

 

111. 对一个java源文件 aaa.java,编辑保存后但未编译,在其所在目录下执行 java aaa,则接着会出现什么(      )

A、error: cannot read: aaa.java

B、无任何显示

C、Exception in thread "main" java.lang.NoClassDefFoundError: aaa

D、程序正常执行并显示

112. 编译java程序时出现error: cannot read: aaa.java,则下列原因最正确的是(      )

A、原因是执行的当前目录下没有找到aaa.java文件。

B、原因是没有安装JDK开发环境。

C、原因是java源文件名后缀一定是以 .txt 结尾。

D、原因是JDK安装后没有正确设置环境变量PATH和Classpath 。

 

113. 给出一段程序,试判断哪个是正确的结果(      

public class myprogram{

    public static void main (String args[]){

    try{

    System.out.print(“Hello world ”); }

    finally{

System.out.println(“Finally executing”);

}

}

}

A、无法编译,因为没有指定异常

B、无法编译,因为没有catch子句

C、Hello world

D、Hello world Finally executing

114. 下面哪个是Java语言中正确的标识符(       )

A、3D           B、$this            C、extends      D、implements

 

115. 下面哪个范围是char型的取值范围(       )

A、-256 ~ 255       B、-(2^15) ~ (2^15)-1       C、’\u0000’ ~ ‘\uffff’      D、 0~32767

 

116. 下面哪个语句不能定义一个字符变量(      

A、char c1=3210;                        B、char c2=’\uface’ ;

C、char c4=0xabcd ;                 D、char c3=”\u0065”;

 

117. 下面哪个是对字符串String的正确定义 (       )

A、String s1=”\n\t null”;             B、String s2=’null’ ;    

C、String s3=(String) ‘abc’ ;         D、String s4=(String) ‘\uface’;

 

118. 给出下面一段程序,选择运行结果(     

public class X{

   public static void main(String [] args){

    String names[]=new String[5];

    for(int x=0;x<args.length;x++)  names[x]=args[x];

    System.out.println(names[2]);

}}

命令行执行:  java X a b   结果是下面哪一个?

A、names        B、b        C、null     D、 运行出现异常

 

119. 下面哪个描述是正确的(       )

A、Applet程序中不需要main()方法,也不能有

B、Application程序中可以没有main()方法。

C、Applet程序中可以不定义init( )方法

D、Application程序中必须有run( )方法

 

120. 下面哪项可以得到数组元素的个数,java中定义数组名为 abc,(       )

A、abc.length( )        B、abc.length       C、len(abc)     D、ubound(abc)

 

 

121.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(      

A、public           B、private          C、static       D、final

122. 给出一段程序,试判断哪个是正确的结果(      

public class myprogram{

    public static void main (String args[]){

    try{    System.out.print(“Hello world ”); }

    finally{

System.out.println(“Finally executing”); } } }

A、无法编译运行,因为没有指定异常

B、无法编译运行,因为没有catch子句

C、Hello world

D、Hello world Finally executing

 

123.下面关于java中类的说法哪个是不正确的(        )

A、类体中只能有变量定义和成员方法的定义,不能有其他语句。

B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。

D、一个java文件中可以有多个class定义。

 

124. 下面程序运行后的输出结果为(       

class A

{static int y=3;

void showy( ){System.out.println(“y=”+y); }   }

class testA

{

    public static void main(String aaa [])

    { A a1=new A( );

      A.y+=1;  a1.y++;

      a1.showy( );

}

}

输出结果选择:

A、y=3;         B、y=4;         C、y=5;         D、程序运行出错

 

125. 编译java程序时出现error: cannot read: aaa.java,则下列原因最正确的是(        )

A、原因是执行的当前目录下没有找到aaa.java文件。

B、原因是没有安装JDK开发环境。

C、原因是java源文件名后缀一定是以 .txt 结尾。

D、原因是JDK安装后没有正确设置环境变量PATH和Classpath 。

 

126. 下面关于构造函数的说法不正确的是(      

A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。

B、构造函数不可以重载。

C、构造函数没有返回值。

D、构造函数一定要和类名相同。

 

127. 在java的一个异常处理中,哪个语句块可以有多个 (        )

A、catch            B、finally          C、try          D、throws

 

128. 对一个java源文件 aaa.java,编辑保存后但未编译,在其所在目录下执行 java aaa,则接着会出现什么(        )

A、error: cannot read: aaa.java

B、无任何显示

C、Exception in thread "main" java.lang.NoClassDefFoundError: aaa

D|、程序正常执行并显示

129.下面表达式中,用来访问数组中第一个值的是(      )

A、intArray[1]  B、 intArray.1  C.intArray[0]  D、intArray.0

130.监听事件和处理事件(       )

A、都由Listener完成  B、都由相应事件Listener处登记过的构件完成  

C、由Listener和构件分别完成  D、由Listener和窗口分别完成

131.如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?(    )

A、BoxLayout B、GridLayout C、BorderLayout D、FlowLouLayout

132.给出如下代码:

class Test{

  private int m;

  public static void fun() {

    // some code...

  }

}

如何使成员变量m 被函数fun()直接访问? (     )

 A、将private int m 改为protected int m

 B、将private int m 改为 public int m

 C、将private int m 改为 static int m

 D、将private int m 改为 int m

133.下面的代码段中,执行之后i 和j 的值是什么? (     )

int i = 1;

int j;

j = i++;

 A、 1, 1

 B、1, 2

 C、2, 1

 D、2, 2

 

134.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ? (      )

A、 ArrayList myList=new Object();

B、 List myList=new ArrayList();

C、 ArrayList myList=new List();

D、 List myList=new List();

135.paint()方法使用哪种类型的参数? (      )

A、 Graphics

B、 Graphics2D

C、 String

D、 Color

136.指出正确的表达式 (      )

A、 byte=128;

B、 Boolean=null;

C、 long l=0xfffL;

D、 double=0.9239d;

137.指出下列程序运行的结果 (      )
public class Example{
  String str=new String("good");
  
char[]ch={'a','b','c'};
  
public static void main(String args[]){
    
Example ex=new Example();
    
ex.change(ex.str,ex.ch);
    
System.out.print(ex.str+" and ");
    
Sytem.out.print(ex.ch);
  
}
  
public void change(String str,char ch[]){
    
str="test ok";
    
ch[0]='g';
  
}
}

A、 good and abc

B、 good and gbc

C、test ok and abc

D test ok and gbc

138.运行下列程序, 会产生什么结果 (      )

public class X extends Thread implements Runable{
 public void run(){
  
System.out.println("this is run()");
 
}
 
public static void main(String args[])
 
{
  
Thread t=new Thread(new X());
  
t.start();
 
}
}

A、 第一行会产生编译错误

B、 第六行会产生编译错误

C、 第六行会产生运行错误

D、 程序会运行和启动

139.要从文件" 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();

140.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?(      )  

A、 CardLayout

B、 FlowLayout

C、 BorderLayout

D GridLayout

141.给出下面代码:

public class Person{
  
static int arr[] = new int[10];
  
public static void main(String a[])
  
{
   
System.out.println(arr[1]);
  
}
}

那个语句是正确的? (      )

A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误;

C 、输出零;

D、 输出空。

142.哪个关键字可以对对象加互斥锁? (      )

A、 transient

B、 synchronized

C、 serialize

D static

143.下列哪些语句关于内存回收的说明是正确的? (      )

A、 程序员必须创建一个线程来释放内存;

B、 内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

144.下列代码哪几行会出错
: (      )
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10} }

A、 line 4

B、 line 6

C、 line 7

D line 8
145、数组中可以包含什么类型的元素?(      )

A、int型 B、 string型 C、数组 D、 以上都可以

146、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(      )。

    A.  static  void  method( )               B. public  voidmethod( )   

C. final  void  method( )               D. abstract  void method( )

147、编译Java  Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(      )。

         A.    .java                      B.    .class

         C.    .html                      D.    .exe

148、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符?

 A、 private

 B、public

 C、protected

 D、no modifier

149、以下哪个方法用于定义线程的执行体?

 A、 start()

 B、init()

 C、run()

 D、main()

 

150.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 (      )

A、 public int MAX_LENGTH=100;

B、 final int MAX_LENGTH=100;

C、 final public int MAX_LENGTH=100;

D public final int MAX_LENGTH=100.

151.给出下面代码:
  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行

152.类Teacher和Student是类Person的子类;
   
Person p;
   
Teacher t;
   
Student s;
   
//p, t and s are all non-null.
   
if(t instanceof Person) { s = (Student)t; }
  最后一句语句的结果是:

A、 将构造一个Student对象;

B、 表达式是合法的;

C、 表达式是错误的;

D、 编译时正确,但运行时错误。

153.给出下面代码段

  
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

154.对于下列代码: (      )

  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

155.哪个关键字可以抛出异常?(      )  

A、 transient

B、 finally

C、 throw

D static

156.Main()方法的返回类型是:(      )  

A、 int

B void

C、 boolean

D、 static

157.System类在哪个包中? (      )

A、 java.util

B、 java.io

C、 java.awt

D java.lang

158.对于下列代码
  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 (int a, int b ){// do something...}

C、 public int addValue( int a ){// do something...}

D public int addValue( int a, int b )throws MyException {//do something...}

159.给出下面代码:

  
public class test{
   
static int a[] = new a[10];
   
public static void main(String args[]) {
    
System.out.println(arr[10]);
   
}
  
}
那个选项是正确的? (      )


A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误;

C、 输出零;

D、 输出空。

160.下面哪些选项是正确的main方法说明? (      )

A、 public main(String args[])

B、 public static void main(String args[])

C、 private static void main(String args[])

D、 void main()

161.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点(  )

A 安全性    B 多线程   C 跨平台    D 可移植

162.下列哪个类声明是正确的(  )

A abstract final class H1{…}

B abstract private move(){…}

C protected private number;

D public abstract class Car{…}

163.下列关于for循环和while循环的说法中哪个是正确的(  )

A while循环能实现的操作,for循环也都能实现

B while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C 两种循环任何时候都可替换

D 两种循环结构中都必须有循环体,循环体不能为空

164.异常包含下列哪些内容(  )

A 程序中的语法错误

B 程序的编译错误

C 程序执行过程中遇到的事先没有预料到的情况

D 程序事先定义好的可能出现的意外情况

165.Character流与Byte流的区别是(  )

A 每次读入的字节数不同

B 前者带有缓冲,后者没有

C 前者是块读写,后者是字节读写

D 二者没有区别,可以互换使用

166.监听事件和处理事件(  )

A 都由Listener完成

B 都由相应事件Listener处登记过的构件完成

C 由Listener和构件分别完成

D 由Listener和窗口分别完成

167.Applet可以做下列哪些操作(  )

A 读取客户端文件

B 在客户端主机上创建新文件

C 在客户端装载程序库

D 读取客户端部分系统变量

168.下列哪个属于容器的构件(  )

A JFrame

B JButton

C JPnel

D JApplet

169.如果希望所有的控件在界面上均匀排列,应使用下列哪种布局管理器(  )

A BoxLayout

B GridLayout

C BorderLayout

D FlowLayout

170.为实现多线程之间的通信,需要使用下列哪种流才合适(  )

A Filter stream

B File stream

C Random access stream

D Piped stream

171.函数重载是指 ( )
A.
两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C.两个以上的函数名字不同,但形参的个数或类型相同

D.两个以上的函数取相同的函数名,并且函数的返回类型相同

172.指出下列程序运行的结果( )
public class Example{
String str=new String(″good″);
char
[]ch={′a′,′b′,′c′};
public static void main(String args[]
){
Example ex=new Example();
ex.change(ex.str,ex,ch);
System.out.print(ex.str+″and″);
System.out.print(ex.ch);
}
public void change(String str,char ch[]
){
str=″test ok″;
ch[0]
=′g′;
}
}
A.good and abc      
      B.good and gbc
C.test ok and abc       
D.test ok and gbc
173.运行下列程序,会产生的结果是
(    )
public class X extends Thread implements Runable{
public void run(){ System.out.println(″this is run()″); }
public static void main(String args[]
)
}
Thread t=new Thread(new X());
t.start();
}
}
A.第一行会产生编译错误         B.第六行会产生编译错误

C.第六行会产生运行错误          
D.程序会运行和启动
174.对于catch子句的排列,下列哪种是正确的(    )
A.父类在先,子类在后

B.子类在先,父类在后
C.有继承关系的异常不能在同一个try程序段内
D.先有子类,其他如何排列都无关
 
175.Java中,数值类型值中可能出现的符号是
(    )
A.R    B.D   C.T   
D.Y
176.构造方法何时被调用
(    )
A.类定义时           B.创建对象时

C.调用对象方法时        D.使用对象的变量时

177.下面的表达式中正确的是
( )
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+;
178.哪个布局管理器使用的是组件的最佳尺寸
(    )
A.FlowLayout          
B.BorderLayout
C.GridLayout          D.CardLayout

179.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。

A.try子句           B.catch子句
C.finally子句         D.throw子句

180.要从文件″file.dat″文件中读出第10个字节到变量C中,下列哪个方法适合( )

A.FileInputStream in=new FileInputStream(″file.dat″);in.skip9.;int c=in.read();

B.FileInputStream in=new FileInputStream(″file.dat″);in.skip10.;int c=in.read();

C.FileInputStream in=new FileInputStream(″file.dat″);int c=in.read();

D.RandomAccssFile in=RandomAccssFile(″file.dat″);in.skip9.;int c=in.readByte();

181.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )

A.public             B.private
C.protected
            D.transient

182.运行下列程序的结果是( )
abstract class MineBase{
abstract void amethod();
static int i;
}
public class Mine extends MineBase
{
public static void main(String argv
[]){
int[] ar=new int[5]
;
for(i=0;i System.out.println(ar[i]
);
}
}
A.打印5个0               B.编译出错,数组ar[]必须初始化

C.编译出错,Mine应声明为abstract    D.出现IndexOutOfBoundes的例外

183.下列运算结果默认为float的是( )

A.100/10                B.100*10
C.100F+10
                D.100D-10

184.下列语句byte b=011;System.out.priftln(b);输出结果为( )

A.B                  B.11
C.9
                  D.001

185.在Java中,不属于整数类型变量的是( )

A.double               B.long
C.int
                 D.byte

186.下面属于Java关键字的是( )

A.NULL                B.IF
C.do
                 D.goto

187.下面哪个语句是正确的( )

A.Object o=new Button(″A″);    B.Button b=new Object(″B″);
C.Panel p=new Frame();
        D.Frame f=new Panel();

188.Java虚拟机的执行过程有多个特点,下列哪个特点不属于JVM执行特点( )

A.多线程               B.动态连接
C.异常处理              D.异步处理

189.Java中哪个类提供了随机访问文件的功能( )

A.RandomAccessFile类        B.RandomFile
C.File类              D.AccessFile类

190.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )

A.捕获异常             B.抛出异常
C.声明异常             D.嵌套异常

191.Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )

A.Java文档生成器          B.Java解释器
C.Java编译器            D.Java类分解器

192.下列不属于容器的是( )

A.Window              B.TextBox
C.Panel
               D.ScrollPane

193.Java窗体设计程序运行时,在命令行下用( )键可以终止程序的运行。

A.F6                B.F5
C.Ctrl+C
              D.Ctrl+S

194.Java语言中,下列标识符错误的是( )

A.diss                B.—name
C.&count               D.—j

195.Java变量中,以下不属于复合类型的数据类型是( )

A.类               B.字符型
C.数组型             D.接口

196.下面说法哪些是正确的( )

A.Applet可以访问本地文件      B.对static方法的调用需要类实例
C.socket类在java.lang中      D.127.0.0/1地址代表本机

197.下面说法不正确的是( )

A.Java中线程是抢占式的      B.Java中线程是分时的
C.Java中的线程可以共享数据    D.Java中的线程可以共享代码

198.下面属于Java线程同步方法的方法有( )

A.joiny()            B.run()
C.wait()
             D.destroy()

199.下列哪个方法可用于创建一个可运行的类( )

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(){......} }

200.下列说法不正确的是( )

A.IOException必须被捕获或抛出

B.java语言会自动初始化变量的值

C.java语言不允许同时继承一个类并实现一个接口

D.java语言会自动回收内存中的垃圾

201.Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )

A.Java文档生成器         B.Java解释器
C.Java编译器           D.Java类分解器

202.Java语言中,下列标识符错误的是( )

A.—sys1             B.&—m
C.I
               D.40name

203.在Java中,属于整数类型变量的是( )

A.single             B.double
C.byte
              D.char

204.Applet类的直接父类是( )

A.Component类          B.Container
C.Frame类            D.Panel类

205.Frame的默认的布局管理器是下列哪一个( )

A.FlowLayout          B.BorderLayout
C.GridLayout
          D.CardLayout

206.在下列事件处理机制中哪个不是机制中的角色( )

A.事件             B.事件源
C.事件接口           D.事件处理者

207.下列语句片段

int a=10,b=4,c=20,d=6;
System.out.println(a++*b+c*--d);
的结果为( )

A.144             B.28
C.140
             D.不能执行

208.下列语句片段:
int a=-67,b=116,c=78;
int d=
~a|b&c;
System.out.println(d)的结果为( )

A.70             B.67
C.78
             D.56

209.对象使用时,下面描述错误的是( )

A.通过“.”运算符调用成员变量和方法

B.通过成员变量的访问权限设定限制自身对这些变量方法的调用

C.将一个对象申明为类的成员时,必须在使用前为其分配内存

D.在方法中使用对象作为参数时,采用引用调用

210.执行下列代码后,哪个结论是正确的String[] s=new String[10];

A.s[10]为″″            B.s[9]为null
C.s[0]为未定义            D.s.length为101

211.Java编程所必须的默认引用包为( )

A.java.sys包             B.java.lang
C.java.new包             D.以上都不是

212.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( )

A.private class MyClass extends Object

  B.class MyClass extends Object

  C.public class MyClass

  D.private class MyClass extends Object

213.内部类是在一个类内嵌套定义的类。其特点描述错误的是( )

A.只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名

B.可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量

C.可以作为其它类的成员,而且可访问它所在类的成员

D.除static内部类外,不能在类内声明static成员

214.switch语句( )

A.都可以用if-else if结构实现

B.都不可以用if-else if结构实现

C.有的可以用if-else if结构实现

D.大部分不可以用if-else if结构实现

215.JAVA程序经常用到“递归”,“递归”的基本思想是( )

A.“让别人反复调用自己”        B.“自己反复调用别人
C.“自己反复调用自己”         D.以上说法都不对

216.下面是一个递归JAVA程序,其功能为( )

long Factorial(int n){
if(1==n){
return 1;
}
else
return n*Factorial(n-1);
}

A.求1-n的和              B.求2到n的和
C.求n的阶乘              D.求2-n的积

217.Java流程控制结构不包括( )

A.分支语句              B.循环语句
C.异常处理语句            D.汉语语句

218.下列语句片段:
int result;
int a=17,b=6;
result=(a%b>4)? a%b:a/b System,out.println(result);
的结果为( )

A.0                 B.1
C.2
                 D.5

219.Java中访问限定符不包括( )

A.public               B.private
C.default
              D.final

220.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变( )

A.CardLayout            B.FlowLayout
C.BorderLayout
           D.GridLayout

二、填空题

1.   Java程序主要分为两种类型: 应用程序和    Java Applet           。 

2.    Java程序用{ }将多条语句组合在一起,语句之间必须用    ;    隔开。

3.   通常Applet程序在         方法中完成初始化工作。

4.   在类声明中提供类标志的关键字是   class      。 

5.   一个Java源程序编译后会生成一个扩展名为   .class       的字节码文件。

6.   应用程序编译后生成字节码文件,由  java         直接解释执行。

7.  Applet程序编译生成字节码文件,然后将该字节码文件嵌入到一个HTML文件中, 由           解释执行。

8.   要编译一个文件名为Test的Java源程序,需在命令控制台窗口输入编译命令:  javac                

9.  通常类名可由字母、数字、下划线以及美元符号组成,但类名的第一个字符不能 是   数字     

10. 当一个方法中有多个参数时,参数之间是用    ,       隔开。

11. 运行一个Applet程序,可通过双击其相应的超文本文件(A.html)来显示运行结果,或在命令控制台窗口下输入执行浏览器的命令:                。    

12. 执行退出(结束)程序的语句是    System.exit(0);           。  

13. 语句System.exit(0);所执行的功能是             

14. 在Java程序中,用"//"符号表示单行注释,那么用  /* */    符号表示多行注释。

15. 在Java程序中使用注释的目的在于                  

16. 编写一个Applet程序,需在程序的开头引用一条表示Applet类包的语句,该语句为:               

17. Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构成的,在程序执行过程中,        方法只被调用执行一次,但 start()方法可以多次被调用执行。

18. Java的数据类型可以分为两大类:  基本数据类型           和引用数据类型。

19. Java定义了8个基本数据类型:字节型、短整型、整型、长整型、字符型、布尔型、单精度型和          

20. int类型的数据占用存储空间是         位。

21. 在Java中,使用变量遵守               的原则。

22. Java表示逻辑值的基本数据类型,称为          

23. 布尔型的数据不对应于任何整数值,它只有两个值true和 false      

24. 假若 x=5; y=9,则表达式x>y的逻辑值为  false      

25. 变量的数据类型转换分为自动类型转换和  强制转化          两种。 

26. 假若 int x=10; float y; y=x;这时y的值为   10.0     

27. 自动类型转换是把级别   低    的变量的值赋给级别  高    的值。

28. 假若 float y=54.23; int x=(int)y;这时x的值为  54      

29. 在Java中有5种算术运算符,分别为加、减、乘、除以及   求模      

30. 假若 int x=10; System.out.println(x/3);此时得出的结果为  3    。 

31. 假若 int x=3;int y=(++x)*5;其执行结果: y=        

32. 假若 int x=2;int y=(x++)*5;其执行结果: y=         

33. 在Java中,两个连续等号(==)是等于运算符,那么一个等号是      运算符。

34. Java程序中语句执行有三种基本控制结构: 顺序、选择和          

35. do-while语句与while语句的区别在于先执行循环体中的语句再计算条件表达式, 所以do-while语句的循环体至少被执行         次。

36. Java中有3种跳转语句:break语句、continue语句和         语句。

37. 数组是一组相同类型变量的集合,其下标是从         开始算的。

38. 定义一个包含7个元素的数组a,则该数组的最后一个元素是          。

39. 比较两个字符串是否相同采用         方法。

40. "I like Java、Math、and English very much, so does Tom."对于字符串以顿号和逗号作为分隔符,则该字符串有       个单词。  

41.  创建一个名为 MyPackage 的包的语句是               

42.          方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

43.  设 x = 2 ,则表达式 ( x + + )/3 的值是         

44.  如果一个Java Applet程序文件中定义有3个类,编译该源程序文件将产生        个文件名与类名相同而扩展名为.class的字节码文件。

45. 对象是由一组属性和对这组属性进行         的一组服务组成的。

46. 对象是指         的事物,而类是指一类具有某种共性的事物。

47. 由类来确定具体对象的过程称为        

48.  对一类对象的抽象则是类,而类的实例化结果是        

49. 一个类是类声明和         两部分组成。

50. 类修饰符有3种,它们分别是public,         和final。

51.          类不能被实例化,它不具备实际功能,只用于衍生字类。

52.          方法是只有方法声明,没有代码实现的空方法。

53. 当一个类的类修饰符为         时,说明该类不能被继承,即不能有子类。

54. Java程序在extends之后只能有一个父类,即extends只能实现      继承。

55. 在Java中只能实现单继承(Java不支持多重继承),但可通过         实现多重继承。

56. 要在类声明中实现接口,需使用关键字            

57. 一个类可实现多个接口,各接口名是以        分隔。

58. 在Java中,变量分为成员变量和             

59. 在类体中声明的变量称为            

60. 在方法中声明的变量称为           

61. 成员变量在整个类体中有效,而局部变量只在定义它的         内有效。

62. 如果局部变量名与成员变量名相同,则           被屏蔽。

63.  在Java程序中,使用关键字         来引用当前对象。

64. 一个方法的定义是有方法声明和         两部分组成。

65. 方法声明包括方法名、返回类型和形式参数,一个方法的标志是      

66. 构造方法的方法名要求与         相同,而且无返回值。

67. 构造方法只能通过         运算符调用,用户不能直接调用。

68.          是指多个方法享有相同的名字,但这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同。

69. 一个对象的生命周期包括3个阶段:创建、使用和        

70. 对象通过使用运算符         实现对自己的变量访问。

71. 面向对象的3个特性是:封装性、继承性和        

72. 在Java中,通过对象的         ,实现了模块化和信息隐藏。

73. 两个方法具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同,则称为             

74. Java中通过关键字  super       来实现对父类成员的访问。

75. Java中成员方法可分成两种:类方法和        

76. Java用  extends       关键字指明继承关系。

77. 用关键字         修饰的方法就称为类方法。

78.         方法可对当前对象的实例变量进行操作,也可对类变量进行操作。

79.          方法不但可以访问实例变量,也可以访问类变量。

80.          方法不能访问实例变量,只能访问类变量。

81. 在Java中,用关键字          来修饰一个类,则该类为抽象类。

82. 若某个类包含了抽象方法,则该类必须被定义为         类。

83. 接口的定义,需使用关键字            来声明。 

84. 声明父类时,需使用关键字            来实现。

85. 由于Java的继承性,所以子类的成员数目比父类的成员数目      

86.  接口中没有什么实例方法,所有的成员方法都是         方法。

87. 包定义时,需使用关键字            来实现。

88. 要使用包中的类,必须用关键字         导入这些类所在的包。

89. 当要引用包中所有的类时,类名可以用通配符         号代替。

90. 一个类要从另一个类继承变量和方法,必须使用关键字        

91.          包封装了提供用户图形界面功能的抽象窗口工具类。

92.          是对单行文本进行编辑的组件。

93. 设置文本内容的方法是             

94. 获取文本内容的方法是             

95.          是对多行文本进行编辑的组件。

96. 如果一个Java程序实现了监听接口ActionListener,则该程序的最开头必须引用类包                      

97.            是用户只能查看其内容但不能修改的文本组件。

98. 获取按钮上的标签内容的方法是              

99. 为了使组件能在面板上显示出来,需用         方法把组件添加到面板上。

100.     假若一个按钮产生了一个ActionEvent事件,则事件监听器会将该事件传递给                  方法来进行事件处理。

101. Java中最常见的3种布局方式:FlowLayout、BorderLayout和        

102. Applet容器的默认布局方式是                

103. Frame窗体的默认布局方式是                 

104.          类是按组件的顺序,从左到右一行排列,一行放不下时自动换行。

105.          类把容器划分成东、西、南、北、中5个区域。

106.          类是以行、列形式将容器划分成大小相等的单元格。

107. 假若一个按钮btn要产生一个ActionEvent事件,则使用           方法 来注册监听器。 

108. 事件处理者通常是一个类,该类如果能够处理某种类型的事件,就必须实现与该事件类型相对应的        

109. 假若一个类实现了某个接口,则该类必须实现接口中所有的方法,

         类只需重写需要的方法,而无关方法不用实现。

110.          类是被定义于另一个类中的类。

111. 实现事件监听器时,采用内部类、         编程非常容易实现其功能。       

112.        是带有标题、边框的顶层窗体,其包含有标题、菜单以及其他组件。

113. Frame在默认的情况下是不可见的,要调用              方法使其可见。

114. 建立菜单的步骤:将菜单项添加到菜单上,再将菜单添加到菜单条上,最后设置          

115. 要使一个Frame能够正常显示,两个必须的方法是:         与setVisible(true)。

116. 设置某菜单项的功能暂时关闭的方法是              

117. 我们把awt组件称为重量组件,而把         组件称为轻量组件。

118.         组件是由100%Java语句实现的轻量组件,不依赖操作系统的支持。

119. 在编写swing组件的程序时,很多情况下只要在原有的awt组件的类名前面加上字母     

120. JFrame类与Frame不同之处在于不能直接通过add()方法添加组件,得先使用         方法获取其虚拟容器,然后再将组件添加到该虚拟容器中。

121. 拆分窗体有两种类型:水平拆分和          拆分。

122. JTable组件的主要功能是把数据以         表格的形式显示出来。

123. AbstractTableModel类主要通过重写              方法来判断表格中数据的类型。

124. 创建一个二维数据表格,表格中的每个单元格的数据都以String类型的形式出现,无法正确显示Boolean数据,但可通过设置      来解决这个问题。

125. 在表格当中,String类型的数据靠左显示,整型数靠右显示,那么声明为Boolean的数据是         显示的。

126. 对于树的结构,最上层的点称为         结点。

127. 一个结点没有任何的子结点,则称该结点为         结点。

128. 在Java中,         是建立树结构的类。

129. 实现并发机制的一种有效手段是        

130. 一个程序具备同时执行不同任务的能力,这种能力称为          。

131. 每个线程都经历创建、就绪、运行、阻塞和             等5个状态。

132. 处于就绪状态的线程何时可真正的执行,取决于线程的         以及队列当前状况。

133. 在Java系统中,线程调度依据优先级基础上的                原则。

134. Java程序中,使用关键字         用于声明一个方法会抛出哪些异常,

          是在方法体中实际执行抛出异常的动作。

135. Java提供的         机制,可以避免对象在内存中的数据资源的冲突。

136. 在单线程的进程中,一个进程一次只能执行    个任务。

137. Java线程同步机制提供关键字          ,用于修饰可能引起资源冲突的方法。

138. 优先级低的线程获得CPU的机会也比较        

139. 低优先级线程在较长时间内无法获得运行机会的现象就是所谓的      

140. 创建多线程的途径有两种:创建Thread类的子类与实现          接口。

141. 线程是比进程更       的执行单位。

142. 一个进程在其执行的过程中,可以产生       个线程。

143. 程序的一次动态执行过程,则称为          。

144.           是一段静态的代码,它是应用软件执行的蓝本。

145. 一个正在执行的线程由于系统或人为原因被迫让出CPU的使用权,这种现象称为          

146. 一个进入阻塞状态的线程,只有当引起阻塞的原因被消除时,线程才可以转入           状态。

147. 假若一个正在执行的线程被人为中断,那么该线程会暂时中止自己的执行,进入           状态。

148. 线程的优先级范围用数字表示:0~10,那么一个线程的默认优先级是    

149. 线程释放分配给线程对象的内存,就是所谓的          状态。

150. 进入线程的生命周期的第一个状态是         状态。

151. 假若要实现Runnable接口,就必须具体实现接口中的        方法。

152. 线程调用        方法来启动线程。

153. 当一个线程执行完run()方法时,线程进入         状态。

154. 线程调用        方法来使自己放弃处理器资源,休眠一段时间。

155. sleep(int)方法中,休眠时间的单位为       

156. 判断当前正在占有CPU的线程的方法是           

157. Runnable接口中只有一个          方法。

158. 线程同步机制中,调用        方法使线程进入等待状态。

159. 通知线程状态的变化并唤醒另一个等待线程,需应用        方法。

160. 所有等待的线程将无休止地等待下去,就是所谓的       

161. 当两个或多个线程要同时访问共享数据时,一次只允许一个线程访问共享    资源,支持这种互斥机制称为             

162. Java多线程编程中,用            来标识的区域或方法为锁定的资源。

163. 在Java中,运行环境使用          来解决线程同步的问题。

164. 线程同步执行过程中,wait()方法与          方法是匹配使用,否则易造成死锁。

165. 在特定应用程序中所有的线程处在等待状态,并且相互等待其他线程唤醒,这种现象称为         。

166. 程序运行过程中出现的非正常现象称为       

167.         是一种对异常情况进行技术处理的技术。

168. 所谓异常处理机制是对各种可能设想到的错误情况进行判断,以       特定的异常,并对其进行相应的处理。

169. 在Java中,把异常分为异常情况和        两大类。

170. 在异常类定义中,       是指程序本身存在非法的情形,这些情形常常是因为代码存在着问题而引起的。

171. Java应用程序在运行时如果出现了一个可识别的错误,就会产生一个与该错误相对应的异常类的对象,这个过程称为          。

172. 抛出异常的方法有两种:系统自动抛出的异常和               。

173.          主要包括捕捉异常、程序流程的跳转和异常处理语句块的定义。

174. 当一个异常被抛出时,有专门的语句来捕获这个被抛出的异常对象,这个过程称为            。

175. 异常处理的方法有两种:应用try…catch…finally结构对异常进行捕捉和处理、通过throws与       语句抛出异常进行处理。

176. 异常处理过程中,一个try程序块可以对应        个catch块。

177. 假若多个catch块有父子继承关系,则应该将子类的catch块放置到父类的catch块之   

178. 根据流的运行方向,流分为输入流和         。

179.          包提供了处理输入/输出任务的类。

180. Java中的数据流包括字节流和        流两种。

181. 在java.io包中有4个基本类:InputStream、OutputStream、Reader

        类。

182. 在io类库中,InputStream和       是处理字节数据的基本输入/输出类。

183. java.io类库中,处理字符数据的基本输入/输出的类是           

184. 用于字符流读写缓冲存储的类是BufferedReader          

185. 对于文件输入流,要实现读取数据的操作,需使用       方法。

186. 用于字符文件的输入/输出的类是        和FileWriter。

187. 对于文件输出流,使用        方法把数据发送到输出流通道。

188. 要实现对数据的        操作,需要读方法和写方法来完成。

189. 从输入流中按行读取字符的方法是         。

190. 为了将尚未填满的缓冲区的数据送往输出流通道,使用      方法来实现。

191. 数据的读写操作完毕后,应用        方法来关闭流并释放资源。

192. 数据流类分为DataInputStream              

193. 允许程序按机器无关的格式读取Java原始数据的输入流类是       

194. Java可以将对象作为一个整体通过       流进行传输和存储。

195. 通常把描述对象状态的数值写入字节流的过程称为            。

196. 用户自己定义的类需要序列化时,必须实现        接口。

197. 网络中的每台计算机都必须有一个唯一的        地址作为标识。

198. 通常IP地址写作一组有 “.”号分隔的      进制数。

199. IPv4规定的IP地址都是      位地址。

200. IPv6的地址是         位无符号整数。

201. 假若要编写一个网络通信程序,则需在程序最开头引用        类包。

202. 通常IP地址均有4个部分组成,每个部分的范围都是0~    

203. 在java.net包中,IP地址由一个称为           的特殊的类来描述。

204. 通常端口号的取值范围为0        之间。

205. 通常0       间的端口号作为保留端口号。

206.         协议不保证数据传输的可靠性。

207. 在网络通信程序中,使用        来标识正在运行的进程。

208. 两种常用的网络通信协议是       和       

209.         是面向连接的通信协议。

210.         是无连接的通信协议。

211. Transmission Control Protocol指的是           。

212. UDP的英文全称为                    。

213.         协议提供的是可靠无差错的数据传输。

214. 在TCP/IP中,        是由IP地址与端口号组成。

215. 在建立套接字连接过程中,通常把负责监听的一方称为        。

216. 客户端使用        类建立套接字连接。

217. 编写网络服务器程序说,使用         类来创建服务器端的连接。

218.          提供了两台不同计算机上执行的应用程序之间进行连接的功能。

219. 服务器端使用        方法监听客户端发起的连接请求。

220. Socket获取输入/输出流的两个主要方法是:getInputStream()和       

221. 网络数据通信,通常采用               模式。

222. 在服务器端程序中应用        技术同时处理多个客户端的连接请求。

223. 基于UDP网络程序设计中,使用            类来创建套接字连接。

224. DatagramSocket类的实例对象使用        方法发送数据。

225. DatagramSocket类的实例对象使用        方法接收数据。

226.            类用于将要发送的数据打包或将已经接收到的数据进行拆包。

227. 关闭套接字需使用        方法。

228. JDBC为数据库及其工具开发人员提供了一个标准的API,这里JDBC指的是                  

229. JDBC的基本结构是有Java应用程序,JDBC驱动程序、管理器,JDBC-ODBC桥接器以及         4部分组成。

230. SQL是英文                   的缩写,意思为结构化查询语言。

231. 一个典型的关系型数据库通常由一个或多个        组成。

232. 数据表是由行和        组成的。

233. 在数据表中,一行表示是一条         。

234. 数据表中的列,通常又把它称为        。

235. 在SQL命令中,        语句主要被用来对数据进行查询并返回查询结果。

236. select语句中,要查询某一具体数据表中的数据,须在表名前加关键词   。

237. 在select语句中,使用        条件从句来设定查询标准。

238. SQL语言中的        语句被用来建立新的数据表。

239. SQL语句中,可以使用通配符        来代替一任何字符串。

240. select语句中的where从句可使用        运算符来设定只选择与用户规定格式相同的记录。

241.  使用SQL语句创建的数据表及表中的列的名称必须以        开头。

242. SQL语句中,所谓           就是当向某列输入数据时所应遵守的规则。

243. 在SQL语句中,unique的限制条件表示的是所有记录的值都必须是    的。

244. SQL语句使用          语句向数据表中插入或添加新的数据行。

245. SQL语句应用          语句更新或修改符合规定条件的记录。

246. SQL语句使用          语句删除数据表中的行或记录。

247. 在SQL语句中,使用         命令删除某个数据表以及该表中的所有记录。

248. 用户使用            方法打开数据库连接。

249. 通常所说的URL指的是                  

250. 在Java中,用JDBC进行数据库编程需要的几个步骤为:加载驱动程序、

               、向数据库发送SQL语句并处理结果、关闭数据库的连接。  

 

三、程序填空

1、定义一个长度为5的字符串数组,并初始化其初值为“open”, “door”, “the”, “open”, “name”;计算该数组中 “open”出现的次数,并倒序输出数组元素。

         public class Test{

            public void static main(String[] args){

               //声明并初始化数组

(1)

               int count = 0;

               //计算该数组中 “open”出现的次数

               (2)

               {

(3)

                    count++;

}

//倒序输出数组元素

(4)

{

  (5)

}

}

}

 

2、定义一个抽象类AbstractTest,其中有一个公共的抽象方法printMsg()。然后定义此抽象类的一个子类DefaultTest,包括的成员变量有姓名,学号,分数,且此类中包括二个构造方法。

         abstract class AbstractTest{

    (1)

}

(2)

{

    String name;

    String id;

    int score;

    //接收三个参数的构造方法

(3)

//接收姓名和学号二个参数的构造方法

(4)

//实现抽象方法,方法体为打印出学生的姓名与成绩

(5)

}

 

3、编写程序实现窗口,包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容提制到标签中。(使用AWT

      //引入相关包

(1)

      public MyFrame{

         public MyFrame(){

            Frame fr = new Frame();

            //设置窗体的布局为FlowLayout

            (2)

            Label lbl = new Label(“Init info”);

            TextField txt = new TextField(30);

            Button btn = new Button(“Sure”);

            fr.add(lbl);

            fr.add(txt);

            fr.add(btn);

            //给按钮注册监听器

(3)

//使用窗体可见,并设置大小

            (4)

         }

         //定义内部类监听ActionEvent事件

(5)

{

   public void actionPerformed(ActionEvent e){

      lbl.setText(txt.getText());

}

}

public static void main(String[] args){

   new MyFrame();

}

}

 

4、设计程序实现带菜单的窗口,包含 “File” “Edit”二个菜单,在 “File”下又包含 “New”, “Open”, “Exit”三个菜单项,选择 “Exit”项时退出应用程序。(提示:涉及到的类有MenuBar, Menu, MenuItem

      import java.awt.*;

      import java.awt.event.*;

      public class MenuTest{

         //定义各菜单项

         MenuItem newItem = new MenuItem(“New”);

         MenuItem openItem = new MenuItem(“Open”);

         MenuItem exitItem = new MenuItem(“Exit”);

         public MenuTest(){

             Frame fr = new Frame();

             //定义菜单

             Menu fileMenu = new Menu(“File”);

             Menu editMenu = new Menu(“Edit”);

             //File菜单中添加菜单项newItem, openItem, exitItem

             (1)

             //定义菜单条,并添加菜单fileMenu, editMenu

             (2)

             //给窗口添加菜单条

             fr.setMenuBar(bar);

             //exitItem注册事件

(3)

             //设置窗口的可见性

             fr.setSize(200,200);

             fr.setVisible(true);

}

//定义内部类处理菜单事件

class MenuHandler implements ActionListener{

   public void actionPerformed(ActionEvent e){

     //如果用户点击了exit菜单项则退出程序

(4)

         System.exit(0);

}

}

//定义main方法

(5)

}

 

5、定义接口Student,该接口中有一个无参、无返回值的方法prtMsg;定义类College,包括的私有属性有idname,包括一个接收学生学号和姓名的构造方法,并且实现Student接口。

interface Student{

   (1)

}

(2) //College类的声明,实现Student接口

{

   (3) //定义私有成员变量idname,类型自定

   (4)//构造方法声明和定义,接收二个参数

(5)//实现prtMsg方法的声明

{

   //prtMsg的方法体

   System.out.println(id + name);

}

}

 

 

 

写程序实现包括一个复选框的窗体,并处理用户选取事件。

import java.awt.*;

import java.awt.event.*;

(1) //类声明,类名为MyCheck,继承自Frame

{   //类体

public MyCheck(){

   (2) //创建Panel的一个实例,并设置其布局为FlowLayout

   Checkbox cbx = new Checkbox(“isPassed”);

   (3) //向面板中加入组件cbx,并为组件注册监听器

   add(p);

   (4) //把窗体设为可见,并设置大小

}

public static void main(String[] args){

   new MyCheck();

}

//定义内部类实现监听,相应的监听接口为ItemListener

(5) //内部类的声明

{

   public void itemStateChanged(ItemEvent e){

      System.out.println(e);

}

}

}

 

 

定义类Stu,并把该类放在当前目录下的包com中:

包括的成员变量有:常量classid,类变量school,公共成员变量idname,私有成员变量age

包括的方法有:一个具有二个参数的构造方法;公共静态方法getSchool();主方法。

(1) //把该类放在当前目录下的包com

public class Stu{

   (2) //字符串常量classid

   (3) //字符串类变量school,并把其值初始化为 “YEU”

   private int age;

   public String id;

   public String name;

   (4) //构造方法声明,接收二个参数idsnames

{

      id = ids;

      name = names;

}

(5) //公共静态方法getSchool()的声明

{

   return school;

}

//主方法

public static void main(String[] args){

   System.out.println(Stu.getSchool());

   System.out.println(Stu.school);

}

}

 

 

使用默认表格模型类创建一个Java Swing表格,并在窗体中显示。

//(1)引入相应的package

 

public class TableTest extends JFrame{

public TableTest(){

    String[] colNames = {“id”, “Name”, “Score”};

    //(2)定义二维对象数组,并初始化;

   

    //(3) 创建DefaultTableModel类的对象tm

    //其构造方法为:DefaultTableModel(Object[][], object[])

   

    //(4)使用tm创建表格对象,并添加到滚动面板(JScrollPane)中;

   

    //(5)得到窗体的内容面板,并添加滚动面板对象

   

    pack();

    setVisible(true);

}

public static void main(String[] args){

   new TableTest();

}

}

 

 

定义客户化的表格模型类CustomTableModel,其父类为DefaultTableModel,并重写其中的isCellEditablgetColumnClass方法;并使用CustomTableModel类创建一个Java Swing表格。

import javax.swing.*;

import javax.swing.table.*;

import java.awt.*;

public class TableDemo extends JFrame{

   public TableDemo(){

       String[] colnames = {"Name","IsPassed","Scroe"};

       Object[][] data = {

                {"Wang", false, 59},

                {"Cui", true, 89},

                {"Zhao", true, 95}

        };

        //(1) 创建CustomTableModel类的一个实例tm,

//使用构造方法JTable(TableModel tableModel)创建表格对象

       

        JScrollPane jsp = new JScrollPane(table); //把表格加入滚动面板中

        //(2) 得到窗体的内容面板,并添加滚动面板对象

       

        setSize(300,300);

        setVisible(true);

}

class CustomTableModel extends DefaultTableModel{

    public CustomTableModel(Object[][] data, Object[] colNames){

       //(3)调用父类的构造方法:DefaultTableModel(Object[][], Object[])

 

}

//重写父类的getColumnClass方法

public Class getColumnClass(int col){

   //(4)返回各列的类型

}

//重写父类的isCellEditable方法

public boolean isCellEditable(int row, int col){

   //(5)使第0行和第2行可编辑

}

}

}

 

10. 应用树结点构造一棵树,其根结点为 “M0407”,根结点下有三个结点 “C040701” “C040702” “C040703”,并且结点“C040701”又包括二个树叶结点 “R201”“R202”。提示:结点类为DefaultMutableTreeNode

   import javax.swing.*;

   import javax.swing.tree.*;

   public class TreeTest extends JFrame{

       public TreeTest(){

           //(1)定义树的根结点

          

           //定义“C040701” “C040702” “C040703”三个结点

           DefaultMutableTreeNode r1 =

new DefaultMutableTreeNode(“C040701”);

           DefaultMutableTreeNode r2 =

new DefaultMutableTreeNode(“M040702”);

           DefaultMutableTreeNode r3 =

new DefaultMutableTreeNode(“M040703”);

           //(2) 定义“R201”“R202”二个结点

          

           //(3)使用根结点创建树

          

           //(4)为根结点添加r1, r2, r3三个子结点

          

           //为结点r1添加“R201”“R202”二个子结点

          

           getContentPane().add(tree);

           setSize(200,200);

           setVisible(true);

}

}

 

 

11. 处理树结点选择事件,事件类为TreeSelectionEvent,事件监听接口为TreeSelectionListener

import javax.swing.*;

//(1)引入其它的相关包

 

public class TreeDemo{

    public TreeDemo(){

       DefaultMutableTreeNode root =

                            new DefaultMutableTreeNode(“Room”);

       DefaultMutableTreeNode r1 =

                            new DefaultMutableTreeNode(“R1”);

       DefaultMutableTreeNode r2 =

                            new DefaultMutableTreeNode(“R2”);

       //(2)创建树,其根结点为root, 根结点下有二个子结点r1r2

      

       //(3)为树注册监听器

      

       JFrame fr = new JFrame();

       fr.getContentPane().add(tree);

       fr.setSize(300,300);

       fr.setVisible(true);

}

//(4)声明内部类TreeHandler,实现监听

{

   public void valueChanged(TreeSelectionEvent){

   //得到事件源对象,并强制转换为JTree类型

JTree tree = (5);

   TreeNode node = (TreeNode)tree.getLastSelectedPathComponent();

   System.out.println(“You selected:” + node.toString());

}

}

}

 

 

12. 定义类ThdTest,其父类为Thread类;并在主方法中创建一个ThdTest的对象,同时启动该线程对象。

//声明类ThdTest,其父类为Thread

(1)

{

   public void run(){

       for(int i = 0; i < 10; i++){

          //输出当前线程的名字和i的值

          (2)

          try{

//让当前线程休眠100ms

(3)

}catch(Exception e){ e.printStackTrace ();}

}

}

}

public class Demo{

   public static void main(String[] args){

      //创建一个ThdTest的对象

      (4)

      //启动线程对象,使其进入就绪状态

(5)

}

}

 

13. 定义类ThdDemo,实现接口Runnable;并在主方法中创建一个ThdDemo的对象td,然后使用对象td创建一个线程对象,同时启动该线程对象。

//声明类ThdDemo,实现接口Runnable

(1)

class ThdDemo implements Runnable{

   public void run(){

     for(int i = 0; i < 10; i++){

          //输出当前线程的名字和i的值

          System.out.println(Thread.currentThread().getName() + “:” + i);

          try{

//让当前线程休眠100ms

(2)

}catch(Exception e){ e.printStackTrace ();}

}

}

}

public class Demo{

   public static void main(String[] args){

      //创建一个ThdDemo的对象td

      (3)

      //使用td创建线程对象

      (4)

      //启动线程对象,使其进入就绪状态

(5)

}

}

 

14.制作一个窗体,包括一个带图标的按钮(JButton类对象),并设置边框,当用户点击按钮时,弹出一个确认对话框。

import javax.swing.*;

import javax.swing.border.*;

import java.awt.*;

class ViewDemo{

    JFrame fr;

    public ViewDemo(){

       //ImageIcon类包装一张图片(java.gif)

//该图片在当前目录的img子目录下

       (1)

//创建一个带有图标的按钮btn

(2)

/**使用线形边框类的构造方法LineBorder(Color c, int n)

*创建一个边框对象bd,其中c为边框的颜色,n为边框的粗细。

*/

(3)

btn.setBorder(bd);

//给按钮注册监听事件

(4)

fr = new JFrame();

Container c = fr.getContentPane();

c.add(btn);

fr.setSize(300,300);

fr.setVisible(true);

}

class BtnHandler implements ActionListener{

   public void actionPerformed(ActionEvent e){

     String msg = "Are you sure?";

     /*使用JOptionPane类的静态方法showConfirmDialog(Frame f, String s),其中f为对话框所属的窗体,s为对话框显示的信息,弹出一个确认对话框。*/

     (5)

}

}

}

   

15.制作一个Applet小应用程序,设置其布局为BorderLayout,定义一个按钮和多行文本框并分别放到 “North” 区域和 “Center” 区域。创建网页文件运行这个Applet程序。

import java.applet.*;

import javax.swing.*;

//(1)声明AppletDemo类,其父类为Applet,并实现接口ActionListener

{

   JButton btn;

       JTextArea txt;

public void init(){

      //设置其布局为BorderLayout

      (2)

      btn = new JButton(“Show Msg”);

      txt = new JTextArea(3, 20);

      //把按钮btn放到 “North” 区域,txt放到 “Center” 区域

      (3)

      //给按钮注册监听器

      (4)

}

public void actionPerformed(ActionEvent e){

   txt.append(btn.getText());

}

}

网页文件为:

<BODY>

<applet code="(5) " width="300" height="200"></applet>

</BODY>

 

四、程序改错

1、改正下面程序段中的错误(共5处)

public Class Test {  //1

    public static void main(String args) { //定义主方法2

        int i1,i2,i3;

        float f;

        char c;

        System.out.println("int:" + i1); //3

        c = “A”;                  //4

        f = 3.0;                   //5

    }

}

 

2、改正下面程序段中的错误(共5处)

public class Test {

    public void main(String[] args) {       //定义主方法1

        boolean isValid = 0;             //2

        int scores[5] = {65,70,69,98,86};  //3

        if( isValid ) then{               //4

           System.out.println(scores[5]);  //5

        }else{

           System.out.println(“No information”);

        }

    }

}

 

3、改正下面程序段中的错误(共5处)

public class Student{

   String id;

   Strng name;

   int salary;

   public void Test(String id, String name, int salary){ //1

      this.id = id;

      this.name = name;

      this.salary = salary;

   }

   public void changeInfo(String id, int salary){   //2

      boolean result;

      if(id == this.id){                       //3

         this.salary = salary;

         result = TRUE;                     //4

}else{

   result = false;

}

return result;

   }

   public boolean changeInfo(String ids, int salarys){ //5

     ……

   }

}

 

4、改正下面程序段中的错误(共5处)

import java.awt.*;

import java.awt.event.*;

public class MyFrame extends Frame{

   public MyFrame(){

      Button btn = new Button(“Exit”);

      setLayout(BorderLayout);  //1

      add(btn);              

      btn.addActionListener(this); //2

      setSize(300,300);

      setVisible(TRUE);   //3

}

   public static void main(String[] args){

      MyFrame fr = MyFrame();   //4

   }

   class MyHandler extends ActionListener{ //5

       public void actionPerformed(ActionEvent e){

         System.exit(0);

}

}

}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值