admin 管理员组文章数量: 1184232
2023年12月24日发(作者:word中xml字符非法)
一、选择题
1、下面关于变量及其作用范围的陈述哪个是不对的?(B )
A.实例变量是类的成员变量。
B.实例变量用关键字static声明。
C.在方法中定义的局部变量在该方法被执行时创建。
D.局部变量在使用前必须被初始化。
2、下面哪条语句把方法声明为抽象的公共方法?( B )
A.public abstract method();
B.public abstract void method();
C.public abstract void method(){}
D.public void method() extends abstract;
3、哪个是将一个十六进制值赋值给一个long型变量?( D )
A.long number = 345L;
B.long number = 0345;
C.long number = 0345L;
D.long number = 0x345L;
4、下面的哪个赋值语句是不对的?( A )
A.float f = 11.1;
B.double d = 5.3E12;
C.double d = 3.14159;
D.double d = 3.14D;
5、下面哪个是不合法的标识符?( C )
A.$persons;
B.TwoUsers;
C.*point;
D._endline;
6、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );
则该方法属于( C )。
A、本地方法 B、静态方法
法的( B )。
A、 public static void main()
B、 public static void main(String[ ] args)
C、 public static int main(String[ ] args)
D、public void main(String arg[ ])
8、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
10、以下代码段执行后的输出结果为( C )。
int x=-3; float y=10.0f;
n(y%x);
1
C、最终方法 D、抽象方法
7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合
A、不能成功编译 B、-1.0 C、1.0 D、-1
11、下列关于构造方法的叙述中,错误的是( C )
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
12、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、
在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
13、执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( A
A.x[9]为0
B.x[9]未定义
C.x[10]为0
D.x[0]为空
14、类Test1定义如下:
1. public class Test1{
2. public float aMethod(float a, float b){ }
3.
4. }
将以下哪种方法插入行3是不合法的。( B )
A、public float aMethod(float a, float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a, int b){ }
D、private float aMethod(int a,int b,int c){ }
15、阅读以下代码:
public class foo{
public static void main (String[] args){
String s;
n("s=" + s);
}
}
输出结果应该是:( C )
A.代码得到编译,并输出“s=”
B.代码得到编译,并输出“s=null”
C.由于String s没有初始化,代码不能编译通过
D.代码得到编译,但捕获到 NullPointException异常
)
2
16、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态
C.类、封装 D.过程调用
17、编译并运行以下程序,以下描述哪个选项是正确的( A )。
1. class A{
2. protected String toString(){
3. return ng();}
4. }
A、行2出错,不能成功编译 B、编译通过但运行时出错
C、编译通过运行无异常 D、不能成功编译,行3出错
18、假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个
是错误的?( A )
public class Foo
{ int i;
static String s;
void imethod() { }
static void smethod() { }
}
A、d(); B、d();
C、n(f.i); D、d()
19、以下哪个接口的定义是正确的?( D )
A、 interface A
{ void print() { } ;}
B、 abstract interface A
{ void print() ;}
C、 abstract interface A extends I1, I2 // I1、I2为已定义的接口
{ abstract void print(){ };}
D、 interface A
{ void print();}
20、关于以下程序段,正确的说法是( C )
1. String s1=“a”+“b”;
2. String s2=new String(s1);
3. if(s1==s2)
4. n(“= = is succeeded”);
5. if ((s2))
6. n(“.equals() is succeeded”);
A.行4与行6都将执行 B.行4执行,行6不执行C.行6执行,行4不执行 D.行4、行6都不执行
21、下列哪些标识符是不合法的?( B )
3
A: _underscore
B: 5Intel
C: Intel5
D: $value$
22、对数组的定义及初始化不正确的方法是:( B )
A.int array[]; B. int array[8];
C.int[] array=new int[8]; D. int array[]=new int[8];
23、下面哪个表达式正确?( D )
A.float f=1.3; B.char c="a"; C.byte b=257; D.int i=10;
24、下面程序运行结果为:( D,如果输出count则为A )
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(){...}的重载函数?( D )
A、void aMethod( ){...}
B、public int aMethod(){...}
C、public void aMethod ( ){...}
D、public int aMethod ( int m){...}
26、下面关于继承的哪些叙述是正确的? ( D )
A.在java中允许多继承。
B. 在java中一个类只能实现一个接口。
C. 在java中一个类不能同时继承一个类和实现一个接口。
D. java的单一继承使代码更可靠。
27、关于length()这个方法的表述正确的是哪个? ( C )
A.数组有length()这个方法,string也有length()这个方法。
B.数组有length()有这个方法,string没有length()这个方法。
C.数组没有length()这个方法,string有length()这个方法。
D.数组没有length()这个方法,string也没有length()这个方法。
28、运行下面程序段的结果是:( C )。
public class MyMain{
public static void main(String args){
n(“Hello Java”);
}
}
A.正常输出Hello Java
B.编译时出错
C.运行时出错
D. 以上答案都不对
4
29、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择(A )。
A)最大的 B)最小的 C)任意的 D)头上的
30、关于以下程序段,正确的说法是( C )。
1. String s1=“x”+“y”;
2. String s2=new String(s1);
3. if(s1==s2)
4. n(“= = is succeeded”);
5. if ((s2))
6. n(“.equals() is succeeded”);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 D.行4、行6都不执行
31、类与对象的关系是( A )。
A. 类是对象的抽象
B. 类是对象的具体实例
C. 对象是类的抽象
D. 对象是类的子类
32、下列关于修饰符混用的说法,错误的是( D )
A. abstract不能与final并列修饰同一个类
B. abstract类中不可以有private的成员
C. abstract方法必须在abstract类中
D. static方法中能处理非static的属性
33、编译并运行下述程序段的结果是:( B )。
public class Test{
public static void main(String argv[]){
int[] count = new int[4];
n(count[4]);
}
}
A.编译时错误
B.运行时错误
C.输出0
D.输出null
34、下面是有关子类继承父类构造函数的描述,其中正确的是( B )。
A.创建子类的对象时, 先调用子类自己的构造函数,然后调用父类的构造函数。
B.子类无条件地继承父类不含参数的构造函数。
C.子类必须通过super关键字调用父类的构造函数。
D.子类无法继承父类的构造函数。
35、下列类的定义中,错误的是( C )。
A. class x { .... }
5
B. public x extends y { .... }
C.public class x extends y { .... }
D. class x extends y implements y1 { .... }
36、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )
class A
{ int i;
static String s;
void method1() { }
static void method2() { }
}
A、n(a.i);B、1(); C、1(); D、2()
38、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C
class A
{ int i;
static String s;
void method1() { }
static void method2() { }
}
A、n(a.i);B、1(); C、1(); D、2()
39、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1. A a0=new A();
2. A a1 =new B();
3. A a2=new C();
问以下哪个说法是正确的? ( D )
A、只有第1行能通过编译
B、第1、2行能通过编译,但第3行编译出错
C、第1、2、3行能通过编译,但第2、3行运行时出错
D、第1行、第2行和第3行的声明都是正确的
40、以下哪个接口的定义是正确的?( D )
A、 interface B
{ void print() { } ;}
B、 abstract interface B
{ void print() ;}
C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口
{ abstract void print(){ };}
D、 interface B
{ void print();}
41、下面的哪个赋值语句是正确的?( D )
A、 short myshort=99s;
B、 String name=’Excellent’;
C、 char c=17c;
D、 int z=015;
)
6
42、下面哪个不是Java的保留字或关键字?( B )
A、 default
B、 NULL
C、 throws
D、 long
43、下面哪个是Math类中正确的方法?( A )
A、 random()
B、 Random()
C、 square()
D、 sqr()
44、编译并运行以下程序段的结果是:( )
public static void main(String args[ ]){
Frame f=new Frame (“Visual”);
e(300,300);
ible(true);
Point p=ation();
n(“x is ”+ p.x);
n(“y is ”+ p.y);
}
A、x is 300
y is 300
B、x is 0
y is 0
C、x is 0
y is 300
D、x is 300
y is 0
45、下面哪个不是Thread类的方法?( C )A、 yield()
B、 sleep(long msec)
C、 go()
D、 stop()
46、下面哪个不是Collection接口的方法?( D
A、 iterator
B、 isEmpty
C、 toArray
D、 setText
47、下面哪个不是String类的方法?( C )
A、 subString()
7
)
B、 startsWith()
C、 toString()
D、 toUpperCase()
48、 编译并运行以下程序段的结果是:( A i是final )
public class MyClass{
final static int i;
MyClass(){i =0;}
public static void main(String args[]){
n(i);
}
}
A、 编译出错
B、 null
C、 1
D、 0
49、下面哪条语句是正确的?( D )
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
52、下面哪一个表达式是正确的? ( C )
B )
D. short
8
( D )
A、 byte=128;
B、 Boolean=null;
C、 long l=0xfffL;
D、 double=0.9239d;
53、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?( C )
A、public B、private C、static D、final
54、下面关于java中类的说法哪个是不正确的?( C )
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
55、下列哪个类声明是正确的? ( D )
A、 abstract final class H1{…}
B、 abstract private move(){…}
C、 protected private number;
D、 public abstract class Car{…}
56、方法重载是指 (A )
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同
59、哪个布局管理器使用的是组件的最佳尺寸? ( A )
A. FlowLayout B. BorderLayout
C. GridLayout D. CardLayout
60、Frame的默认的布局管理器是下列哪一个? ( B )
9
yout
yout
Layout
yout
61、下列哪个用户图形界面组件在软件安装程序中是常见的? ( B )
A.滑块 B.进度条 C.对话框 D.标签
62、 包含可单击按钮的类的Java类库是哪个? C
C.二者都有 D.二者都没有
63、下面的哪个用户界面组件不是容器? ( D )
A. JScrollPane
B. JFrame
C. JWindows
D. JScrollBar
64、在下列事件处理机制中哪个不是机制中的角色? ( C )
A. 事件
B. 事件源
C. 事件接口
D. 事件处理者
65.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ( B )
A、 ArrayList myList=new Object();
B、 List myList=new ArrayList();
C、 ArrayList myList=new List();
D、 List myList=new List();
67.指出正确的表达式 ( C )
A、 byte=128;
B、 Boolean=null;
C、 long l=0xfffL;
D、 double=0.9239d;
68.指出下列程序运行的结果 ( B )
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
10
Example ex=new Example();
(,);
(+" and ");
();
}
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.运行下列程序, 会产生什么结果 ( A 应该是runnable )
public class X extends Thread implements Runable{
public void run(){
n("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
();
}
}
A、 第一行会产生编译错误
B、 第六行会产生编译错误
C、 第六行会产生运行错误
D、 程序会运行和启动
71.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( B )
A、 CardLayout
B、 FlowLayout
C、 BorderLayout
D、 GridLayout
72.给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[])
11
{
n(arr[1]);
}
}
那个语句是正确的? ( C )
A、 编译时将产生错误;
B、 编译时正确,运行时将产生错误;
C 、输出零;
D、 输出空。
74.下列哪些语句关于内存回收的说明是正确的? ( D )
A、 程序员必须创建一个线程来释放内存;
B、 内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
75.下列代码哪几行会出错: ( C )
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) n (" 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
_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 ( D )
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;
12
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} }
那些行将引起错误? ( D )
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; }
最后一句语句的结果是: ( D )
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} }
哪行将引起一个编译时错误?( D )
A、 line 3
B、 line 5
13
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} alue(10);
11} }
第10行语句将调用哪行语句? ( D )
A、 line 2
B、 line 3
C、 line 6
D、 line 7
81.哪个关键字可以抛出异常? ( C )
A、 transient
B、 finally
C、 throw
D、 static
()方法的返回类型是: ( B )
A、 int
B、 void
C、 boolean
D、 static
类在哪个包中? ( D )
A、
B、
C、
D、
84.对于下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
14
return s;
}
}
class Child extends Parent {
}
下述哪些方法可以加入类Child? ( C )
A、 int addValue( int a, int b ){// }
B、 public void addValue (int a, int b ){// }
C、 public int addValue( int a ){// }
D、 public int addValue( int a, int b )throws MyException {//}
85.给出下面代码:
public class test{
static int a[] = new a[10];
public static void main(String args[]) {
n(arr[10]);
}
}
那个选项是正确的? ( C )
A、 编译时将产生错误;
B、 编译时正确,运行时将产生错误;
C、 输出零;
D、 输出空。
86.下面哪些选项是正确的main方法说明? ( B )
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) && (() > 10)) {
3} n("more than 10");
4} }
5) else if ((str != null) & (() < 5)) {
6} n("less than 5");
7} }
8) else { n("end"); }
哪些行会导致错误? ( C )
A、 line 1
B、 line 2
C、 line 5
15
D、 line 8
88.下面哪种注释方法能够支持javadoc命令: ( B )
A、 /**...**/
B、 /*...*/
C、 //
D、 /**...*/
93.看下面一段程序:
class Aclass{
void go(){
n("Aclass");
}
}
public class Bclass extends Aclass{
void go{
n("Bclass");
}
public static void main(String args[]){
Aclass a=new Aclass();
Aclass a1=new Bclass();
();
();
}
以上程序运行结果是: C
A、 Aclass
Aclass
B、 Bclass
Bclass
C、 Aclass
Bclass
D、 Bclass
Aclass
94.下列关于Java线程的说法那些是正确的( D )
A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。
B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、 Thread类属于程序包。
D、 以上说法无一正确。
95.看以下程序:
boolean a=false;
boolean b=true;
16
boolean c=(a&&b)&&(!b);
int result=c==false?1:2;
这段程序执行完后,c与result的值是: ( A )
A、 c=false;result=1;
B、 c=true;result=2;
C、 c=true;result=1;
D、 c=false;result=2;
96.运行下列程序, 会产生什么结果 ( D )
public class X extends Thread implements Runable{
public void run(){
n("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
();
}
}
A、 in the Inner outer
B、 outer
C、 in the Inner
D、编译不通过
97.指出下列程序的运行结果 ( B )
int i = 9;
switch (i) {
default:
n("default");
case 0:
n("zero");
break;
case 1:
n("one");
case 2:
n("two");
}
A、 default
B、 default, zero
C、 error default clause not defined
D、 no output displayed那个
99. 下面哪个单词是Java语言的关键字( B )
A、Float B、this C、string D、unsigned
17
100. 下面哪个是Java语言中正确的标识符( C )
A、3com B、import C、that D、this
101. 下面哪个语句不能定义一个字符变量( B )
A、char c1=06477; B、char c2=’uface’ ;
C、char c4=0xbeef ; D、char c3=u0041;
102. 下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )
A、protected B、static C、private D、public
104. 下面哪个是对字符串String的正确定义 ( A )
A、String s1=null; B、String s2=’null’ ;
C、String s3=(String) ‘abc’ ; D、String s4=(String) ‘uface’;
105. 下面哪条语句不能定义一个float型的变量( B )
A、float f1= -343 ; B、float f2=3.14 ;
C、float f3=0x12345 ; D、float f4=2.8F ;
106. 下面哪条语句定义了5个元素的数组( A )
A、int [] a={22,23,24,25,12};
B、int a []=new int(5);
C、int [5] array;
D、int [] arr;
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];
n(“args[2]=”+s2);
}
}
命令行执行: java sss 1 2 3 4 结果是下面哪一个?( D )
A、args[2]=2 B、args[2]=null C、args[2]=1 D、运行出现异常
110. 给出一段程序,试判断哪个是正确的结果( )
public class rtExcept{
public static void throwit(){
18
}
A、hello throwit caught
B、hello throwit caught finally after
C、hello throwit RuntimeException after
D、hello throwit caught finally after RuntimeException
111. 对一个java源文件 ,编辑保存后但未编译,在其所在目录下执行 java aaa,则接着会出现什么( C )
A、error: cannot read:
B、无任何显示
C、Exception in thread "main" sDefFoundError: aaa
D、程序正常执行并显示
112. 编译java程序时出现error: cannot read: ,则下列原因最正确的是( C )
A、原因是执行的当前目录下没有找到文件。
B、原因是没有安装JDK开发环境。
C、原因是java源文件名后缀一定是以 .txt 结尾。
D、原因是JDK安装后没有正确设置环境变量PATH和Classpath 。
113. 给出一段程序,试判断哪个是正确的结果( D )
public class myprogram{
public static void main (String args[]){
try{
(“Hello world ”); }
finally{
n(“Finally executing”);
}
}
}
A、无法编译,因为没有指定异常
B、无法编译,因为没有catch子句
C、Hello world
(“throwit”);
throw new RuntimeException(); }
public static void main(String [] aa){
try{
(“hello “);
throwit(); }
catch(Exception re){
(“caught ”); }
finally{
(“finally ”); }
(“after ”);
}
19
D、Hello world Finally executing
114. 下面哪个是Java语言中正确的标识符( B )
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. 下面哪个语句不能定义一个字符变量( D )
A、char c1=3210; B、char c2=’uface’ ;
C、char c4=0xabcd ; D、char c3=”u0065”;
117. 下面哪个是对字符串String的正确定义 ( A )
A、String s1=”nt null”; B、String s2=’null’ ;
C、String s3=(String) ‘abc’ ; D、String s4=(String) ‘uface’;
118. 给出下面一段程序,选择运行结果( D )
public class X{
public static void main(String [] args){
String names[]=new String[5];
for(int x=0;x<;x++) names[x]=args[x];
n(names[2]);
}}
命令行执行: java X a b 结果是下面哪一个?
A、names B、b C、null D、 运行出现异常
119. 下面哪个描述是正确的( C )
A、Applet程序中不需要main()方法,也不能有
B、Application程序中可以没有main()方法。
C、Applet程序中可以不定义init( )方法
D、Application程序中必须有run( )方法
120. 下面哪项可以得到数组元素的个数,java中定义数组名为 abc,( B )
A、( ) B、 C、len(abc) D、ubound(abc)
121.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( C )
A、public B、private C、static D、final
122. 给出一段程序,试判断哪个是正确的结果( D )
public class myprogram{
public static void main (String args[]){
try{ (“Hello world ”); }
finally{
n(“Finally executing”); } } }
20
A、无法编译运行,因为没有指定异常
B、无法编译运行,因为没有catch子句
C、Hello world
D、Hello world Finally executing
123.下面关于java中类的说法哪个是不正确的( C )
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
124. 下面程序运行后的输出结果为( D )
class A
{static int y=3;
void showy( ){n(“y=”+y); } }
class testA
{
public static void main(String aaa [])
{ A a1=new A( );
A.y+=1; a1.y++;
( );
}
}
输出结果选择:
A、y=3; B、y=4; C、y=5; D、程序运行出错
125. 编译java程序时出现error: cannot read: ,则下列原因最正确的是( C )
A、原因是执行的当前目录下没有找到文件。
B、原因是没有安装JDK开发环境。
C、原因是java源文件名后缀一定是以 .txt 结尾。
D、原因是JDK安装后没有正确设置环境变量PATH和Classpath 。
126. 下面关于构造函数的说法不正确的是( B )
A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。
B、构造函数不可以重载。
C、构造函数没有返回值。
D、构造函数一定要和类名相同。
127. 在java的一个异常处理中,哪个语句块可以有多个 ( A )
A、catch B、finally C、try D、throws
128. 对一个java源文件 ,编辑保存后但未编译,在其所在目录下执行 java aaa,则接着会出现什么( C )
21
A、error: cannot read:
B、无任何显示
C、Exception in thread "main" sDefFoundError: aaa
D|、程序正常执行并显示
129.下面表达式中,用来访问数组中第一个值的是( C )
A、intArray[1] B、 intArray.1 ay[0] D、intArray.0
130.监听事件和处理事件( C )
A、都由Listener完成 B、都由相应事件Listener处登记过的构件完成
C、由Listener和构件分别完成 D、由Listener和窗口分别完成
131.如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?( D )
A、BoxLayout B、GridLayout C、BorderLayout D、FlowLouLayout
132.给出如下代码:
class Test{
private int m;
public static void fun() {
//
}
}
如何使成员变量m 被函数fun()直接访问? ( D )
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 的值是什么? ( C )
int i = 1;
int j;
j = i++;
A、 1, 1
B、1, 2
C、2, 1
D、2, 2
134.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?
( B )
A、 ArrayList myList=new Object();
B、 List myList=new ArrayList();
C、 ArrayList myList=new List();
D、 List myList=new List();
()方法使用哪种类型的参数? ( A )
A、 Graphics
B、 Graphics2D
C、 String
D、 Color
136.指出正确的表达式 ( C )
22
A、 byte=128;
B、 Boolean=null;
C、 long l=0xfffL;
D、 double=0.9239d;
137.指出下列程序运行的结果 ( B )
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
(,);
(+" and ");
();
}
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.运行下列程序, 会产生什么结果 ( A )
public class X extends Thread implements Runable{
public void run(){
n("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
();
}
}
A、 第一行会产生编译错误
B、 第六行会产生编译错误
C、 第六行会产生运行错误
D、 程序会运行和启动
139.要从文件" "文件中读出第10个字节到变量C中,下列哪个方法适合?
( A )
A、 FileInputStream in=new FileInputStream(""); (9); int
c=();
23
B、 FileInputStream in=new FileInputStream(""); (10); int
c=();
C、 FileInputStream in=new FileInputStream(""); int c=();
D、 RandomAccessFile in=new RandomAccessFile(""); (9); int
c=te();
140.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( B )
A、 CardLayout
B、 FlowLayout
C、 BorderLayout
D、 GridLayout
141.给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[])
{
n(arr[1]);
}
}
那个语句是正确的? ( C )
A、 编译时将产生错误;
B、 编译时正确,运行时将产生错误;
C 、输出零;
D、 输出空。
142.哪个关键字可以对对象加互斥锁? ( B )
A、 transient
B、 synchronized
C、 serialize
D、 static
143.下列哪些语句关于内存回收的说明是正确的? ( D )
A、 程序员必须创建一个线程来释放内存;
B、 内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
144.下列代码哪几行会出错: ( C )
1) public void modify() {
2) int I, j, k;
3) I = 100;
24
4) while ( I > 0 ) {
5) j = I * 2;
6) n (" 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作为前缀就可以调用它,该方法头的形式为( B )。
A. static void method( ) B. public voidmethod( )
C. final void method( ) D. abstract void method( )
147、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .java B. .class
C. .html D. .exe
148、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符? D
A、 private
B、public
C、protected
D、no modifier
149、以下哪个方法用于定义线程的执行体? C
A、 start()
B、init()
C、run()
D、main()
_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 ( D )
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} }
25
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} }
那些行将引起错误? ( D )
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; }
最后一句语句的结果是: D
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} }
哪行将引起一个编译时错误? ( D )
A、 line 3
B、 line 5
C、 line 6
26
D、 line 10
154.对于下列代码: ( D )
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) alue(10);
11) }
第10行语句将调用哪行语句??
A、 line 2
B、 line 3
C、 line 6
D、 line 7
155.哪个关键字可以抛出异常?( C )
A、 transient
B、 finally
C、 throw
D、 static
()方法的返回类型是:( B )
A、 int
B、 void
C、 boolean
D、 static
类在哪个包中? ( D )
A、
B、
C、
D、
158.对于下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
27
}
}
class Child extends Parent {
}
下述哪些方法可以加入类Child? ( D )
A、 int addValue( int a, int b ){// }
B、 public void addValue (int a, int b ){// }
C、 public int addValue( int a ){// }
D、 public int addValue( int a, int b )throws MyException {//}
159.给出下面代码:
public class test{
static int a[] = new a[10];
public static void main(String args[]) {
n(arr[10]);
}
}
那个选项是正确的? ( )
A、 编译时将产生错误;
B、 编译时正确,运行时将产生错误;
C、 输出零;
D、 输出空。
160.下面哪些选项是正确的main方法说明? ( B )
A、 public main(String args[])
B、 public static void main(String args[])
C、 private static void main(String args[])
D、 void main()
语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B )
A 安全性 B 多线程 C 跨平台 D 可移植
162.下列哪个类声明是正确的( D )
A abstract final class H1{…}
B abstract private move(){…}
C protected private number;
D public abstract class Car{…}
二、填空题
1.
2.
3.
4.
5.
Java程序主要分为两种类型: 应用程序和小应用程序 。
Java程序用{ }将多条语句组合在一起,语句之间必须用 ; 隔开。
通常Applet程序在
init() 方法中完成初始化工作。
在类声明中提供类标志的关键字是
class 。
一个Java源程序编译后会生成一个扩展名为 .class 的字节码文件。
28
6.
7.
应用程序编译后生成字节码文件,由
解释器 直接解释执行。
Applet程序编译生成字节码文件,然后将该字节码文件嵌入到一个HTML文件中, 由
浏览器 解释执行。
8. 要编译一个文件名为Test的Java源程序,需在命令控制台窗口输入编译命 令:
javac 。
9. 通常类名可由字母、数字、下划线以及美元符号组成,但类名的第一个字符不能 是
数字 。
10. 当一个方法中有多个参数时,参数之间是用
逗号 隔开。
11. 运行一个Applet程序,可通过双击其相应的超文本文件()来显示运行结果,或在命令控制台窗口下输入执行浏览器的命令:
appletviewer
。
12. 执行退出(结束)程序的语句是
(0)
。
13. 语句(0);所执行的功能是
退出程序 。
14. 在Java程序中,用"//"符号表示单行注释,那么用 /* */ 符号表示多行注释。
15. 在Java程序中使用注释的目的在于为程序增加说明,增强程序可读性(便于理解) 。
16. Java的数据类型可以分为两大类:
基本数据类型 和引用数据类型。
17. Java定义了8个基本数据类型:字节型、短整型、整型、长整型、字符型、布尔型、单精度型和双精度型 。
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
int类型的数据占用存储空间是 32 位。
在Java中,使用变量遵守
先声明后使用(先定义后使用) 的原则。
Java表示逻辑值的基本数据类型,称为
布尔型 。
布尔型的数据不对应于任何整数值,它只有两个值true和
false 。
假若 x=5; y=9,则表达式x>y的逻辑值为
false 。
变量的数据类型转换分为自动类型转换和 强制转换 两种。
假若 int x=10; float y; y=x;这时y的值为 10.0 。
自动类型转换是把级别 低 的变量的值赋给级别 高 的值。
假若 float y=54.23; int x=(int)y;这时x的值为 54 。
在Java中有5种算术运算符,分别为加、减、乘、除以及 取模 。
28. 假若 int x=10; n(x/3);此时得出的结果为 3 。
29. 假若 int x=3;int y=(++x)*5;其执行结果: y= 20 。
30. 假若 int x=2;int y=(x++)*5;其执行结果: y= 10 。
31. 在Java中,两个连续等号(==)是等于运算符,那么一个等号是
赋值运算符。
32. Java程序中语句执行有三种基本控制结构: 顺序、选择和 循环 。
33. do-while语句与while语句的区别在于先执行循环体中的语句再计算条件表达式, 所以do-while语句的循环体至少被执行 1 次。
29
34. Java中有3种跳转语句:break语句、continue语句和 return 语句。
35. 数组是一组相同类型变量的集合,其下标是从 0 开始算的。
36. 定义一个包含7个元素的数组a,则该数组的最后一个元素是 6 。
37. 比较两个字符串是否相同采用 equals() 方法。
38. "I like Java、Math、and English very much, so does Tom."对于字符串以顿号和逗号作为分隔符,则该字符串有 4 个单词。
39. 创建一个名为 MyPackage 的包的语句是
package MyPackage 。
40. 抽象 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
41. 设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。
42. 如果一个Java Applet程序文件中定义有3个类,编译该源程序文件将产生 3 个文件名与类名相同而扩展名为.class的字节码文件。
43. 对象是由一组属性和对这组属性进行 操作 的一组服务组成的。
44. 对象是指 具体 的事物,而类是指一类具有某种共性的事物。
45. 由类来确定具体对象的过程称为 实例化 。
46. 对一类对象的抽象则是类,而类的实例化结果是 对象 。
47. 一个类是类声明和 类体 两部分组成。
48. 类修饰符有3种,它们分别是public,
abstract 和final。
49. 抽象 类不能被实例化,它不具备实际功能,只用于衍生字类。
50. 抽象 方法是只有方法声明,没有代码实现的空方法。
51. 当一个类的类修饰符为
final 时,说明该类不能被继承,即不能有子类。
52. Java程序在extends之后只能有一个父类,即extends只能实现 单 继承。
53. 在Java中只能实现单继承(Java不支持多重继承),但可通过 接口实现多重继承。
54. 要在类声明中实现接口,需使用关键字
implements 。
55. 一个类可实现多个接口,各接口名是以 逗号 分隔。
56. 在Java中,变量分为成员变量和
局部变量 。
57. 在类体中声明的变量称为 成员 。
58. 在方法中声明的变量称为 局部变量 。
59. 成员变量在整个类体中有效,而局部变量只在定义它的 方法 内有效。
60. 如果局部变量名与成员变量名相同,则 成员变量 被屏蔽。
61. 在Java程序中,使用关键字 this 来引用当前对象。
62. 一个方法的定义是有方法声明和 方法体 两部分组成。
63. 方法声明包括方法名、返回类型和形式参数,一个方法的标志是 小括号 。
30
64. 构造方法的方法名要求与 类名 相同,而且无返回值。
65. 构造方法只能通过 new 运算符调用,用户不能直接调用。
66. 方法重载 是指多个方法享有相同的名字,但这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同。
67. 一个对象的生命周期包括3个阶段:创建、使用和 释放(消亡) 。
68. 对象通过使用运算符 “.” 实现对自己的变量访问。
69. 面向对象的3个特性是:封装性、继承性和 多态性 。
70. 在Java中,通过对象的 封装 ,实现了模块化和信息隐藏。
71. 两个方法具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同,则称为
重写 。
72. Java中通过关键字
super 来实现对父类成员的访问。
73. Java中成员方法可分成两种:类方法和
实例方法 。
74. Java用
extends 关键字指明继承关系。
75. 用关键字
static 修饰的方法就称为类方法。
76.
实例 方法可对当前对象的实例变量进行操作,也可对类变量进行操作。
77.
实例 方法不但可以访问实例变量,也可以访问类变量。
78. 类 方法不能访问实例变量,只能访问类变量。
79. 在Java中,用关键字
abstract 来修饰一个类,则该类为抽象类。
80. 若某个类包含了抽象方法,则该类必须被定义为 抽象 类。
81. 接口的定义,需使用关键字
interface 来声明。
82. 声明父类时,需使用关键字 extends 来实现。
83. 由于Java的继承性,所以子类的成员数目比父类的成员数目 多 。
84. 接口中没有什么实例方法,所有的成员方法都是 public abstract
static 方法。
85. 包定义时,需使用关键字
package 来实现。
86. 要使用包中的类,必须用关键字
import 导入这些类所在的包。
87. 当要引用包中所有的类时,类名可以用通配符 * 号代替。
88. 一个类要从另一个类继承变量和方法,必须使用关键字
extends 。
89. 包封装了提供用户图形界面功能的抽象窗口工具类。
90.
TextField类 是对单行文本进行编辑的组件。
91. 设置文本内容的方法是setText(String t)
。
92. 获取文本内容的方法是
getText() 。
93.
TextArea 是对多行文本进行编辑的组件。
94. 如果一个Java程序实现了监听接口ActionListener,则该程序的最开头必须引用类包 .* 。
95.
Label 是用户只能查看其内容但不能修改的文本组件。
96. 获取按钮上的标签内容的方法是
getText() 。
31
97. 为了使组件能在面板上显示出来,需用 add 方法把组件添加到面板上。
98. 假若一个按钮产生了一个ActionEvent事件,则事件监听器会将该事件传递给
actionPerformed()方法来进行事件处理。
99. Java中最常见的3种布局方式:FlowLayout、BorderLayout和
GridLayout。
100. Applet容器的默认布局方式是
FlowLayout 。
101. Frame窗体的默认布局方式是
BorderLayout 。
102.
FlowLayout 类是按组件的顺序,从左到右一行排列,一行放不下时自动换行。
103.
BorderLayout 类把容器划分成东、西、南、北、中5个区域。
104.
GridLayout 类是以行、列形式将容器划分成大小相等的单元格。
105. 假若一个按钮btn要产生一个ActionEvent事件,则使用
addActiionListener 方法 来注册监听器。
106. 事件处理者通常是一个类,该类如果能够处理某种类型的事件,就必须实 现与该事件类型相对应的
接口 。
107. 假若一个类实现了某个接口,则该类必须实现接口中所有的方法,
但
Adapter 类只需重写需要的方法,而无关方法不用实现。
108.
内部 类是被定义于另一个类中的类。
109. 实现事件监听器时,采用内部类、
匿名类编程非常容易实现其功能。
110.
Frame是带有标题、边框的顶层窗体,其包含有标题、菜单以及其他组件。
111. Frame在默认的情况下是不可见的,要调用setVisible(true)方法使其可见。
112. 建立菜单的步骤:将菜单项添加到菜单上,再将菜单添加到菜单条上,最后设置 菜单条 。
113. 要使一个Frame能够正常显示,两个必须的方法是:
show()与setVisible(true)。
114. 设置某菜单项的功能暂时关闭的方法是setEnabled(false) 。
115. 我们把awt组件称为重量组件,而把 Swing 组件称为轻量组件。
116. Swing组件是由100%Java语句实现的轻量组件,不依赖操作系统的支持。
117. 在编写swing组件的程序时,很多情况下只要在原有的awt组件的类名前面加上字母 J 。
118. JFrame类与Frame不同之处在于不能直接通过add()方法添加组件,得先使用 getContentPane 方法获取其虚拟容器,然后再将组件添加到该虚拟容器中。
119. 拆分窗体有两种类型:水平拆分和 拆分。
120. JTable组件的主要功能是把数据以 二维 表格的形式显示出来。
121. AbstractTableModel类主要通过重写 方法来判断表格中数据的类型。
122. 创建一个二维数据表格,表格中的每个单元格的数据都以String类型的形
32
式出现,无法正确显示Boolean数据,但可通过设置 来解决这个问题。
123. 在表格当中,String类型的数据靠左显示,整型数靠右显示,那么声明为Boolean的数据是 显示的。
124. 对于树的结构,最上层的点称为 结点。
125. 一个结点没有任何的子结点,则称该结点为 结点。
126. 在Java中, 是建立树结构的类。
127. 实现并发机制的一种有效手段是 多线程 。
128. 一个程序具备同时执行不同任务的能力,这种能力称为 并发 。
129. 每个线程都经历创建、就绪、运行、阻塞和 死亡 等5个状态。
130. 处于就绪状态的线程何时可真正的执行,取决于线程的 优先级以及队列当前状况。
131. 在Java系统中,线程调度依据优先级基础上的 抢夺式调度
原则。
132. 在Java程序中,使用关键字 throws 用于声明一个方法会抛出哪些异常,而 throw 是在方法体中实际执行抛出异常的动作。
133. Java提供的 监视器机制,可以避免对象在内存中的数据资源的冲突。
134. 在单线程的进程中,一个进程一次只能执行 1 个任务。
135. Java线程同步机制提供关键字 Synchronized ,用于修饰可能引起资源冲突的方法。
136. 优先级低的线程获得CPU的机会也比较 小 。
137. 低优先级线程在较长时间内无法获得运行机会的现象就是所谓的饿死。
138. 创建多线程的途径有两种:创建Thread类的子类与实现Runnable
接口。
139. 线程是比进程更 小 的执行单位。
140. 一个进程在其执行的过程中,可以产生 多 个线程。
141. 程序的一次动态执行过程,则称为 进程 。
142. 程序 是一段静态的代码,它是应用软件执行的蓝本。
143. 一个正在执行的线程由于系统或人为原因被迫让出CPU的使用权,这种现象称为 阻塞 。
144. 一个进入阻塞状态的线程,只有当引起阻塞的原因被消除时,线程才可以转入 就绪 状态。
145. 假若一个正在执行的线程被人为中断,那么该线程会暂时中止自己的执行,进入 就绪 状态。
146. 线程的优先级范围用数字表示:0~10,那么一个线程的默认优先级是
5 。
147. 线程释放分配给线程对象的内存,就是所谓的 死亡 状态。
148. 进入线程的生命周期的第一个状态是 新建 状态。
149. 假若要实现Runnable接口,就必须具体实现接口中的 run()方法。
33
150. 线程调用 start 方法来启动线程。
151. 当一个线程执行完run()方法时,线程进入 死亡 状态。
152. 线程调用 sleep() 方法来使自己放弃处理器资源,休眠一段时间。
153. sleep(int)方法中,休眠时间的单位为 毫秒 。
154. 判断当前正在占有CPU的线程的方法是 currentthread() 。
155. Runnable接口中只有一个 run 方法。
156. 线程同步机制中,调用 wait() 方法使线程进入等待状态。
157. 通知线程状态的变化并唤醒另一个等待线程,需应用 notify() 方法。
158. 所有等待的线程将无休止地等待下去,就是所谓的 死锁 。
159. 当两个或多个线程要同时访问共享数据时,一次只允许一个线程访问共享 资源,支持这种互斥机制称为 同步 。
160. Java多线程编程中,用 Synchronized 来标识的区域或方法为锁定的资源。
161. 在Java中,运行环境使用 监视器 来解决线程同步的问题。
162. 线程同步执行过程中,wait()方法与 notify() 方法是匹配使用,否则易造成死锁。
163. 在特定应用程序中所有的线程处在等待状态,并且相互等待其他线程唤醒,这种现象称为 死锁 。
164. 程序运行过程中出现的非正常现象称为 异常 。
165. 异常处理 是一种对异常情况进行技术处理的技术。
166. 所谓异常处理机制是对各种可能设想到的错误情况进行判断,以 匹配
特定的异常,并对其进行相应的处理。
167. 在Java中,把异常分为异常情况和 错误 两大类。
168. 在异常类定义中, 是指程序本身存在非法的情形,这些情形常常是因为代码存在着问题而引起的。
169. Java应用程序在运行时如果出现了一个可识别的错误,就会产生一个与该错误相对应的异常类的对象,这个过程称为 异常的抛出 。
170. 抛出异常的方法有两种:系统自动抛出的异常和throw抛出 。
171. 异常处理 主要包括捕捉异常、程序流程的跳转和异常处理语句块的定义。
172. 当一个异常被抛出时,有专门的语句来捕获这个被抛出的异常对象,这个过程称为 异常捕获 。
173. 异常处理的方法有两种:应用try…catch…finally结构对异常进行捕捉和处理、通过throws与 throw 语句抛出异常进行处理。
174. 异常处理过程中,一个try程序块可以对应 多 个catch块。
175. 假若多个catch块有父子继承关系,则应该将子类的catch块放置到父类的catch块之 前 。
176. 根据流的运行方向,流分为输入流和 输出流 。
34
177. 包提供了处理输入/输出任务的类。
178. Java中的数据流包括字节流和 字符 流两种。
179. 在包中有4个基本类:InputStream、OutputStream、Reader
及 Writer 类。
180. 在io类库中,InputStream和 OutputStream 是处理字节数据的基本输入/输出类。
181. 类库中,处理字符数据的基本输入/输出的类是 Reader 和
Writer 。
182. 用于字符流读写缓冲存储的类是BufferedReader和BufferedWriter 。
183. 对于文件输入流,要实现读取数据的操作,需使用 read() 方法。
184. 用于字符文件的输入/输出的类是 FileReader 和FileWriter。
185. 对于文件输出流,使用 write() 方法把数据发送到输出流通道。
186. 要实现对数据的 读写 操作,需要读方法和写方法来完成。
187. 从输入流中按行读取字符的方法是 readLine() 。
188. 为了将尚未填满的缓冲区的数据送往输出流通道,使用 flash() 方法来实现。
189. 数据的读写操作完毕后,应用 close() 方法来关闭流并释放资源。
190. 数据流类分为DataInputStream和 DataOutputStream 。
191. 允许程序按机器无关的格式读取Java原始数据的输入流类是DataInputStream 。
192. Java可以将对象作为一个整体通过OutputStream 流进行传输和存储。
193. 通常把描述对象状态的数值写入字节流的过程称为 串行化 。
194. 用户自己定义的类需要序列化时,必须实现 serializable 接口。
195. 网络中的每台计算机都必须有一个唯一的 IP 地址作为标识。
196. 通常IP地址写作一组有 “.”号分隔的 十 进制数。
197. IPv4规定的IP地址都是 32 位地址。
198. IPv6的地址是 48 位无符号整数。
199. 假若要编写一个网络通信程序,则需在程序最开头引用
类包。
200. 通常IP地址均有4个部分组成,每个部分的范围都是0~ 255 。
201. 在包中,IP地址由一个称为 InetAddress 的特殊的类来描述。
202. 通常端口号的取值范围为0~ 65535 之间。
203. 通常0~ 1023 间的端口号作为保留端口号。
204. UDP 协议不保证数据传输的可靠性。
205. 在网络通信程序中,使用 端口号 来标识正在运行的进程。
35
206. 两种常用的网络通信协议是 TCP 和 UDP 。
207. TCP 是面向连接的通信协议。
208. UDP 是无连接的通信协议。
209. Transmission Control Protocol指的是 传输控制协议 。
210. UDP的英文全称为 Use Datagram Packet 。
211. TCP 协议提供的是可靠无差错的数据传输。
212. 在TCP/IP中, socket 是由IP地址与端口号组成。
213. 在建立套接字连接过程中,通常把负责监听的一方称为 服务器 。
214. 客户端使用 Socket 类建立套接字连接。
215. 编写网络服务器程序说,使用 ServerSocket 类来创建服务器端的连接。
216. Socket提供了两台不同计算机上执行的应用程序之间进行连接的功能。
217. 服务器端使用 accept 方法监听客户端发起的连接请求。
218. Socket获取输入/输出流的两个主要方法是:getInputStream()和getOutputStream() 。
219. 网络数据通信,通常采用 流式通信 模式。
220. 在服务器端程序中应用 多线程 技术同时处理多个客户端的连接请求。
221. 基于UDP网络程序设计中,使用 DatagramSocket 类来创建套接字连接。
222. DatagramSocket类的实例对象使用 send() 方法发送数据。
223. DatagramSocket类的实例对象使用 receive() 方法接收数据。
224. DatagramPacket 类用于将要发送的数据打包或将已经接收到的数据进行拆包。
225. 关闭套接字需使用 close() 方法。
三、程序填空
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)
{
36
(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”);
(lbl);
(txt);
(btn);
//给按钮注册监听器
37
(3)
//使用窗体可见,并设置大小
(4)
}
//定义内部类监听ActionEvent事件
(5)
{
public void actionPerformed(ActionEvent e){
t(t());
}
}
public static void main(String[] args){
new MyFrame();
}
}
4、设计程序实现带菜单的窗口,包含 “File” 和 “Edit”二个菜单,在 “File”下又包含 “New”, “Open”, “Exit”三个菜单项,选择 “Exit”项时退出应用程序。(提示:涉及到的类有MenuBar, Menu, MenuItem)
import .*;
import .*;
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)
//给窗口添加菜单条
uBar(bar);
//给exitItem注册事件
(3)
//设置窗口的可见性
e(200,200);
ible(true);
}
//定义内部类处理菜单事件
38
class MenuHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
//如果用户点击了exit菜单项则退出程序
(4)
(0);
}
}
//定义main方法
(5)
}
5、定义接口Student,该接口中有一个无参、无返回值的方法prtMsg;定义类College,包括的私有属性有id和name,包括一个接收学生学号和姓名的构造方法,并且实现Student接口。
interface Student{
(1)
}
(2) //College类的声明,实现Student接口
{
(3) //定义私有成员变量id和name,类型自定
(4)//构造方法声明和定义,接收二个参数
(5)//实现prtMsg方法的声明
{
//prtMsg的方法体
n(id + name);
}
}
写程序实现包括一个复选框的窗体,并处理用户选取事件。
import .*;
import .*;
(1) //类声明,类名为MyCheck,继承自Frame类
{ //类体
public MyCheck(){
(2) //创建Panel的一个实例,并设置其布局为FlowLayout
Checkbox cbx = new Checkbox(“isPassed”);
(3) //向面板中加入组件cbx,并为组件注册监听器
add(p);
(4) //把窗体设为可见,并设置大小
}
public static void main(String[] args){
39
new MyCheck();
}
//定义内部类实现监听,相应的监听接口为ItemListener
(5) //内部类的声明
{
public void itemStateChanged(ItemEvent e){
n(e);
}
}
}
定义类Stu,并把该类放在当前目录下的包com中:
包括的成员变量有:常量classid,类变量school,公共成员变量id和name,私有成员变量age。
包括的方法有:一个具有二个参数的构造方法;公共静态方法getSchool();主方法。
(1) //把该类放在当前目录下的包com中
public class Stu{
(2) //字符串常量classid
(3) //字符串类变量school,并把其值初始化为 “YEU”
private int age;
public String id;
public String name;
(4) //构造方法声明,接收二个参数ids和names
{
id = ids;
name = names;
}
(5) //公共静态方法getSchool()的声明
{
return school;
}
//主方法
public static void main(String[] args){
n(ool());
n();
}
}
使用默认表格模型类创建一个Java Swing表格,并在窗体中显示。
//(1)引入相应的package
40
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,并重写其中的isCellEditabl和getColumnClass方法;并使用CustomTableModel类创建一个Java Swing表格。
import .*;
import .*;
import .*;
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);
41
}
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 .*;
import .*;
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);
42
}
}
11. 处理树结点选择事件,事件类为TreeSelectionEvent,事件监听接口为TreeSelectionListener。
import .*;
//(1)引入其它的相关包
public class TreeDemo{
public TreeDemo(){
DefaultMutableTreeNode root =
new DefaultMutableTreeNode(“Room”);
DefaultMutableTreeNode r1 =
new DefaultMutableTreeNode(“R1”);
DefaultMutableTreeNode r2 =
new DefaultMutableTreeNode(“R2”);
//(2)创建树,其根结点为root, 根结点下有二个子结点r1和r2
//(3)为树注册监听器
JFrame fr = new JFrame();
tentPane().add(tree);
e(300,300);
ible(true);
}
//(4)声明内部类TreeHandler,实现监听
{
public void valueChanged(TreeSelectionEvent){
//得到事件源对象,并强制转换为JTree类型
JTree tree = (5);
TreeNode node = (TreeNode)tSelectedPathComponent();
n(“You selected:” + ng());
}
}
}
12. 定义类ThdTest,其父类为Thread类;并在主方法中创建一个ThdTest的对象,同时启动该线程对象。
//声明类ThdTest,其父类为Thread类
(1)
{
public void run(){
43
for(int i = 0; i < 10; i++){
//输出当前线程的名字和i的值
(2)
try{
//让当前线程休眠100ms
(3)
}catch(Exception e){ tackTrace ();}
}
}
}
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的值
n(tThread().getName() + “:” + i);
try{
//让当前线程休眠100ms
(2)
}catch(Exception e){ tackTrace ();}
}
}
}
public class Demo{
public static void main(String[] args){
//创建一个ThdDemo的对象td
(3)
//使用td创建线程对象
(4)
//启动线程对象,使其进入就绪状态
(5)
}
44
}
14.制作一个窗体,包括一个带图标的按钮(JButton类对象),并设置边框,当用户点击按钮时,弹出一个确认对话框。
import .*;
import .*;
import .*;
class ViewDemo{
JFrame fr;
public ViewDemo(){
//用ImageIcon类包装一张图片(),
//该图片在当前目录的img子目录下
(1)
//创建一个带有图标的按钮btn
(2)
/**使用线形边框类的构造方法LineBorder(Color c, int n),
*创建一个边框对象bd,其中c为边框的颜色,n为边框的粗细。
*/
(3)
der(bd);
//给按钮注册监听事件
(4)
fr = new JFrame();
Container c = tentPane();
(btn);
e(300,300);
ible(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 .*;
import .*;
//(1)声明AppletDemo类,其父类为Applet,并实现接口ActionListener
45
{
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){
(t());
}
}
网页文件为:
四、程序改错
1、改正下面程序段中的错误(共5处)
public Class Test {
public static void main(String args) {
int i1,i2,i3;
float f;
char c;
n("int:" + i1);
c = “A”;
f = 3.0;
}
}
46
2、改正下面程序段中的错误(共5处)
public class Test {
public void main(String[] args) {
boolean isValid = 0;
int scores[5] = {65,70,69,98,86};
if( isValid ) then{
n(scores[5]);
}else{
n(“No information”);
}
}
}
3、改正下面程序段中的错误(共5处)
public class Student{
String id;
Strng name;
int salary;
public void Test(String id, String name, int salary){
= id;
= name;
= salary;
}
public void changeInfo(String id, int salary){
boolean result;
if(id == ){
= salary;
result = TRUE;
}else{
result = false;
}
return result;
}
public boolean changeInfo(String ids, int salarys){ //5
……
}
}
47
4、改正下面程序段中的错误(共5处)
import .*;
import .*;
public class MyFrame extends Frame{
public MyFrame(){
Button btn = new Button(“Exit”);
setLayout(BorderLayout);
add(btn);
ionListener(this);
setSize(300,300);
setVisible(TRUE);
}
public static void main(String[] args){
MyFrame fr = MyFrame();
}
class MyHandler extends ActionListener{
public void actionPerformed(ActionEvent e){
(0);
}
}
}
48
版权声明:本文标题:Java期末考试习题库(选择题+填空题+改错题学生) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1703353496a448127.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论