java2011学生复习题(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.一个容器是用于容纳_________的组件
A.组件★
B.容器
C.窗口
D.部件
2.哪个选项不可以作为Java图形用户界面上的容器?
A.Frame
B.Panel
C.TextField ★
D.Dialog
3.找出返回值类型是字符型的方法:
A.length()
B.charAt(int x) ★
C.toLowerCase()
D.substring(int x)
4.找出语法表述正确的程序段:
A.String mm = " Java Programme ";
B.String mm = "Java Programme ";
String nn = mm - " Programme "; String nn = mm.toUpperCase;
C.String mm = "Java Programme ";
D.String mm = "Java Programme ";
String nn; String nn = " Learning ";
nn = mm[8] + "Java"; String ss = nn + mm; ★
5.下面哪个选项不是Java程序设计语言的面向对象要素?
A.安全模型★
B.类与对象
C.变量与方法
D.特性与行为
6.找出正确表述Java语言面向对象特性的选项:
A.Java程序设计语言提供了丰富的API文档。
B.Java程序设计语言将类作为部分特性和行为事务的抽象。
C.Java程序设计语言的运行与平台无关
D.Java程序设计语言具有封装、继承和多态的特性。
★
7.选出将十进制数256的十六进制表示形式赋值给decbin变量的正确表达式
A.long decbin =0x100L ★
B.long decbin =040L
C.long decbin =0400L
D.long decbin =0x256L
8.指出下列哪个方法与方法public void change(int x, int y){}为不合理的重载方法。
A.public void change(int x){}
B.public int change(int x, int y){} ★
C.public long change(long x, long y){}
D.public float change(float x, float y){}
9.关于接口,找出下列错误的叙述:
A.类与接口类似的是:接口中也含有数据(成员变量)和方法。
B. 接口中的数据(成员变量)必须被赋初值,且程序运行过程中不可更改
C. 接口中的方法都必须全部声明为抽象方法
D. 可以直接由接口来创建对象。
★
9.选出下列代码执行后的输出结果。
class Person{
public int age;
public Person(){
age=20;
}
public void show(){
System.out.println(""Person's age is ""+age);
}
}
class Student extends Person{
public int age;
public void show(){
super.show();
age=super.age+age;
System.out.println(""Student's age is ""+age);
}
}
class Test{
public static void main(String args[]){
int initAge=10;
Student tt=new Student();
tt.age=initAge;
tt.show();
}
}
A.Person's age is 20
B.Person's age is 0
C.Person's age is 0
D.Person's age is 20 Student's age is 20 Student's age is 10 Student's age is 0 Student's age is 30 ★
10.中文语句“如果x和y都不等于z,或者x等于y,则输出'x'。
”可以写成下列哪一个Java语句?
A.if (x != z|| y != z && x == y) System.out.println('x');
B.if (x && y != z || x == y) System.out.println('x');
C. if (!(x == z) && !(y == z) && x == y) System.out.println('x');
D.if (!(x == z || y == z) || x == y) System.out.println('x'); ★
11.有关多态性的正确说法是:
A.在一个类中不能有同名的方法存在。
B.子类中不能有和父类中同名的方法。
C. 子类中可以有和父类中同名且参数相同的方法。
D.多态性就是方法的名字可以相同,但返回的类型必须不同
12.在Applet的运行过程中,下列什么方法只能执行一次?
A.init() ★
B.start()
C.stop()
D.paint()
13.找出下列代码的输出结果。
class TestException{
public static void main(String[] args){
try{
oneMethod( );
}
catch(Exception e){
System.out.println("there is an exception");
}
}
static void oneMethod( ){
try{
anotherMethod( );
System.out.println("normal");
}
catch(ArithmeticException e){
System.out.println("there is an arithmeticexception");
}
finally{
System.out.println("in finally");
}
System.out.println("outside try block");
}
static void anotherMethod( ){
throw new NullPointerException( );
}
}
A.normal
B.in finally
outside try block there is an exception ★
C.there is an arithmeticexception
D.程序无法处理该异常,异常由系统处理in finally
there is an exception
14.Object类是Java类层次的根,请写出awt包中Object类中次一层的两大子类名称:1.__ ________; 2.___ ____________
答:1. java 2. lang
设类名为ThreadTest,写出创建线程的两种形式:
1.__________________________________
2.__________________________________
答1.通过继承Thread类创建线程
public class ThreadTest extends Thread{…}
答2.通过继承接口Runnable来创建线程
public class ThreadTest implements Runnable{…}
15.当下面代码编译时,第_ __行将引起错误?
#1 class Person {
#2 private String name;
#3 public Person(){}
#4 }
#5 public class Student extends Person {
#6 private String department;
#7 public Student() {}
#8 public String getValue(){ return name; }
#9 public static void main(String arg[]) {
#10 Person p = new Person();
#11 }
#12 }
答 #8
16.下面的小应用程序用于显示meth.jpeg图像文件。
找出程序中存在的三个错误之处并以“#XX 行改为YYY”的形式进行解答。
下列代码左边的#1、#2、……是附加的行号。
#1 import java.awt.*;
#2 import java.applet.Applet;
#3
#4 public class LoadImg extends applet {
#5 private Image img;
#6 public void init () {
#7 img = new Image( getDocumentBase(), "meth.jpeg" );
#8 }
#9 public void paint( Graphics g ) {
#10 g.drawImage( img, 0, 0, this );
#11 g.drawImage(img, 0, 40, getWidth(), getHeight() - 40, this)
#12 }
#13 }
改错误
#4 public class LoadImg extends Applet{
#7 img=getImage(getDocumentBase(),"meth.jpeg");
#11 g.drawImage(img,0,40,getWidth(),getHeight()-40,this);
16.Java程序中,_ _ _方法不需要类的实例化对象,可以直接通过类名来调用。
答 static(静态)
**************************************************************************** 一.选择题(每题一分)
(1)程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)对象成分 B)变量成分 C)语句成分 D)传输成分
答: D
(2)下列哪个选项是合法的标识符?
A)123 B)_name C)class D)1first
答:B
(3)下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?
A)java.exe B)javadoc.exe C)jdb.exe D)javaprof.exe
答:C
(4)下列的哪个选项可以正确用以表示八进制值8?
A)0x8 B)0x10 C)08 D)010
答:D
(5)下列的哪个赋值语句是不正确的?
A)float f = 11.1; B)double d = 5.3E12; C)float d = 3.14f ; D)double f=11.1E10f;
答:A
(6)下列的哪个赋值语句是正确的?
A)char a=12; B)int a=12.0; C)int a=12.0f; D)int a=(int)12.0;
答:D
(7)给出下列的代码,哪行在编译时可能会有错误?
① public void modify(){
② int i, j, k;
③ i = 100;
④ while ( i > 0 ){
⑤ j = i * 2;
⑥ System.out.println (" The value of j is " + j );
⑦ k = k + 1;
⑧ }
⑨ }
A)line 4 B)line 6 C)line 7 D)line 8
答:C
(8)下列关于继承的哪项叙述是正确的?
A)在java中允许多重继承 B)在java中一个类只能实现一个接口
C)在java中一个类不能同时继承一个类和实现一个接口
D)java的单一继承使代码更可靠
答:D
(9)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?
A)private B)无修饰符 C)public D)protected
答:B
(10)给出下列代码,如何使成员变量m 被方法fun()直接访问?
class Test
{
private int m;
public static void 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
答:C
(11)已知有下列类的说明,则下列哪个语句是正确的?
public class Test
{
private float f = 1.0f;
int m = 12;
static int n=1;
public static void main(String arg[])
{
Test t = new Test();
}
}
A)t.f; B)this.n; C)Test.m; D)Test.f;
答:A
(12)给出下列代码,则数组初始化中哪项是不正确的?
byte[] array1,array2[];
byte array3[][];
byte [][] array4;
A)array2 = array1 B)array2=array3 C)array2=array4 D)array3=array4 答: A
(13)下列代码的执行结果是
public class Test
{
public int aMethod()
{
static int i=0;
i++;
System.out.println(i);
}
public static void main(String args[])
{
Test test = new Test();
test.aMethod();
}
}
A)编译错误 B)0 C)1 D)运行成功,但不输出
答:A
(14)下列关于内部类的说法不正确的是
A)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用
B)内部类可以使用它所在类的静态成员变量和实例成员变量
C)内部类不可以用abstract修饰符定义为抽象类
D)内部类可作为其他类的成员,而且可访问它所在类的成员
答:C
(15)顺序执行下列程序语句后,则b的值是
String a="Hello";
String b=a.substring(0,2); substring(0,3)
A)Hello B)hello C)Hel D)null
答:C
(16)在oneMethod()方法运行正常的情况下,程序段将输出什么?
public void test()
{
try { oneMethod();
System.out.println("condition 1");
} catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("condition 2");
} catch(Exception e)
{
System.out.println("condition 3");
} finally
{
System.out.println("finally");
}
}
A)condition 1 B)condition 2 C)condition 3 D)condition 1
答:D
finally
(17)下列常见的系统定义的异常中,哪个是输入、输出异常?
A)ClassNotFoundException B)IOException
C)FileNotFoundException D)UnknownHostException 答:B
(18)下列哪个不是nio包的新特点?
A)内存映射技术 B)文件锁定 C)字符及编码 D)阻塞I/O
答:D
(19)下列哪个选项是正确计算42度(角度)的余弦值?
A)double d=Math.cos(42); B)double d=Math.cosine(42);
C)double d=Math.cos(Math.toRadians(42));
D)double d=Math.cos(Math.toDegrees(42));
答:C
(20)下列InputStream类中哪个方法可以用于关闭流?
A)skip() B)close() C)mark() D)reset()
答:B
(21)下列方法中哪个是执行线程的方法?
A)run() B)start() C)sleep() D)suspend()
答:A
(22)下列关于Frame类的说法不正确的是
A)Frame是Window类的直接子类 B)Frame对象显示的效果是一个窗口
C)Frame被默认初始化为可见D)Frame的默认布局管理器为BorderLayout 答:C
(23)下列Java常见事件类中哪个是鼠标事件类?
A)InputEvent B)KeyEvent C)MouseEvent D)WindowEvent
答:C
(24)在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?
A)init() B)start() C)paint() D)destroy()
答: D
(25)下列哪个是面向大型企业级用容器管理专用构件的应用平台?
A)J2EE B)J2ME C)J2SE D)J2DE
答: D
(26)下列哪个选项的java源文件代码片段是不正确的?
A)package testpackage; public class Test{ }
B)import java.io.*; package testpackage; public class Test{ }
C)import java.io.*; class Person{ } public class Test{ }
D)import java.io.*; import java.awt.*; public class Test{ }
答: B
(27)下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?
A)System类 B)Class类 C)Thread类 D)Object类
答:B
(28)在Java源文件中什么类最多只能有一个,其他类的个数不限?
A)public B)private C)protected D)没有这种类
答:A
(29)下列哪个选项是short型数据的取值范围?
A)-128 ~ +127 B)-32768~ +32767
C)-2147483648~ +2417483647 D)-3.40282347E38 ~ +3.40282347E38
答:B
(30)下列哪项是将一个十六进制值赋值给一个long型变量?
A)long number = 123L; B)long number = 0123;
C)long number = 0123L; D)long number = 0x123L;
答:D
(31)下列程序段执行后的输出结果为
int x=3; inty=10;
System.out.println(y%x);
A)0 B)1 C)2 D)3
答:B
(32)下列的哪个程序段可能导致错误?
A)String s = " hello"; String t = " good "; String k = s + t;
B)String s = " hello"; String t; t = s[3] + "one";
C)String s = " hello"; String standard = s.toUpperCase();
D)String s = "hello";String t = s + "good";
答:B
(33)在下列程序的划线处应填入的语句是
class Person
{
private int a;
public class Man extends Person
{
public int b;
public static void main(String arg[])
{
Person p = new Person();
Man t = new Man ();
int i;
}
}
A)i = w; B)i = b; C)i = p.a; D)i = t.b;
答:D
(34)有如下程序段
if (x>0){ System.out.println("first"); }
else if (x>-4){ System.out.println("second"); }
else { System.out.println("third"); }
x的取值在什么范围内时,将打印出字符串"second"?
A)x > 0 B)x > -4 C)x <= -4 D)x <= 0 & & x > -4
答:D
(35)下列程序的输出结果是
public class fff
{
void printValue(int m)
{
do { System.out.println("The value is"+m);}
while( --m > 10 )
}
public static void main(String arg[])
{
int i=10;
Test t= new Test();
t.printValue(i);
}
}
A)8 B)9 C)10 D)11
答:C
(36)下列关于变量的叙述哪个是错的?
A)实例变量是类的成员变量 B)实例变量用关键字static声明C)在方法中定义的局部变量在该方法被执行时创建
D)局部变量在使用前必须被初始化
答:B
(37)给出下列的程序,其叙述正确的是
public class Man
static int arr[] = new int[10];
public static void main(String a[])
{
System.out.println(arr[1]);
}
}
A)编译时将发生错误 B)编译时正确但是运行时出错
C)输出为0 D)输出为null
答:C
(38)下列常见的系统定义的异常中,哪个是数组越界异常?
A)ArrayIndexOutOfBoundsException B)IOException
C)NullPointerException D)ArithmeticException 答:A
(39)下列哪个关键字通常用来对对象进行加锁,该标记使得对对象的访问是排他的?
A)transient B)serialize C)synchronized D)static 答:C
(40)下列有关线程的叙述哪个是正确的?
A)一旦一个线程被创建,它就立即开始运行
B)调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C)主线程不具有默认优先级
D)Java中线程的优先级从低到高以整数0~9表示
答:B
(41)resume()方法负责恢复被哪个方法挂起的线程?
A)stop() B)sleep()C)wait()D)suspend()
答:D
(42)下列哪个选项不是FilterInputStream的子类?
A)CheckedInputStream B)BufferedInputStream
C)PushbackInputStream D)FileInputStream
答:D
(43)下列哪个选项不是InputStream类中的方法?
A)public abstract int read()throws IOException
B)public final void writeInt(int v)throws IOException
C)public void close()throws IOException
D)public int available()throws IOException
答:B
(44)下列哪个选项可能包含菜单条?
A)Panel B)Frame C)Applet D)Dialog 答:B
(45)下列哪个选项是创建一个标识有"关闭"按钮的语句?
A)TextField b = new TextField("关闭");
B)TextArea b = new TextArea ("关闭");
C)Button b = new Button("关闭");
D)Checkbox b = new Checkbox("关闭");
答:C
(46)下列哪个选项是javax.swing.JApplet的父类?
A)java.awt.panel B)java.applet.Applet
C)java.awt.frame D)java.awt.Window
答:B
(47)给出下列的代码,则以下哪个选项返回true?
String s= "hello ";
String t = "hello";
char c[] = {′h′,′e′,′l′,′l′,′o′} ;
A)s.equals(t); B)t.equals(c); C)s==t; D)t==c;
答:A
(48)执行完语句int []x = new int[25];后,则下列哪项说法是正确的?
A)x[24]值为0 B)x[24]值未定义C)x[25]值为0 D)x[0]值为空
答:A
(49)在Java语言的下列哪个包是编译器自动导入的?
A)ng B)java.awt C)java.io D)java.applet
答:A
二.填空题
(1)字符串分为两大类,一类是字符串常量,使用String 类的对象表示;另一类是字符串变量,使用______类的对象表示。
答:stringBuffer
(2)在Java程序中,通过类的定义只能实现单重继承,但通过_____的定义可以实现多重继承关系。
答:接口
(3)下列程序段的输出结果为 _______ 。
int a=2;
switch (a)
{
case 2:
System.out.print("Value is 2.");
case 3 :
System.out.println("Value is 3.");
break;
default:
System.out.println("end ");
break;
}
答:Value is 3.
(4)在AWT包中,创建一个具有10行,45列的多行文本区域对象ta的语句为_______。
答:textArea ta=new textArea()
(5)设x = 2 ,则表达式(x + + )* 3 的值是______。
答:6
(6)阻塞状态根据产生的原因可分为_______、等待阻塞和其他阻塞。
答:对象锁阻塞
(7)在线程中普通优先级的线程,其优先级默认值为_______。
答:5
(8)顺序执行下列两个语句的输出结果是 _______ 。
String s = "全国计算机等级考试";System.out.println(s.length());
答: 9
(9)过滤字节输出流都是______抽象类的子类。
答:OutputStream
(10)对话框(Dialog)是______类的子类。
答:Window
(11)在面向对象方法中,类之间共享属性和操作的机制称为________
答:继承
(12)耦合和内聚是评价模块独立性的两个主要标准,其中______反映了模块内各成分之间的联系。
答:内聚
(13)Java语言用_______进行解释执行。
答:字节码
(14)在一个类的内部嵌套定义的类称为________。
答:内部类
(15)设有数组定义:int a[] = { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 则执行下列几个语句后的输出结果是 ________ 。
for ( int i = 0 ; i < a.length ; i ++ )
if(a[i]%3==0 )System.out.println(a[i]+" ")
答: 33 66 99
(16)下面程序的运行结果是 ________ 。
import java.io.* ;
public class ABC
{
public static void main(String args[])
{ int i ;
int a [] = { 11,22,33,44,50,60,70,80,90,100 };
for ( i = 0 ; i <= a.length / 2 ; i ++ )
System.out.print( a[i]+a[a.length-i-1]+" ");
System.out.println();
}
}
答:111 112 113 114 110
(17)若x = 5,y = 10,则x > y && x++ == y --的逻辑值为________。
答:false
(18)设 a = 8,则表达式 a >>> 2 的值是__________。
答:2
(19)Java中访问限定符有__________ ,protected,private和default等。
答: public
1.设计一个Java程序,判断一个年份是否是闰年。
若是闰年,则打印“是”,否则打印“否”。
2.设int n;设计一个Java程序,打印1+3+5+……n之和。
若n是奇数,则累加到n。
若n是偶数,则累加到n-1。
变量n的初始值在程序中指定。
31.设int n;设计一个Java程序,打印出1*2*3*……*n之积。
变量n的初始值在程序中指定。
4.设计一个Java程序,打印出前100个质数。
5.设int n;设计一个Java程序,将n的值反序打印。
如:n=1234,则打印出:4321。
变量n的初始值在程序中指定。
6.设int n;设计一个Java程序,计算1!+2!+……n!。
变量n的初始值在程序中指定。
7.设计一个Java程序,输出所有的水仙花数。
所谓水仙花数,是一个3位数,其各
位数字的立方和等于该数自身,如:153=13
+5
3
+3
3。
8.打印九九乘法表。
9.一个4位数的9倍是该4位数的反序数。
如:4位数1089的9倍是9801。
9801是1089的反序数。
设计一个Java程序,打印出所有具有这种特征的4位数。
10.定义如下的一个int类型的aa二维数组每一行列数不相同
1 3 4 5 9
5 8 6
7 9
1 5 3
并用循环语句按行打印这二维数组aa,请编写一个类名为Test程序
11.定义一个Point类它的对象是指一个平面上的点(x,y),在定义Point类中要定义它的三个构造函数,并且要重写toString()方法。
定义二点距离的方法distance(…),并在main()主程序中调用这些方法,例如Point t=new Point(3.0,5.0); System.out.println(t.toString().); 打印的结果为:[3.0,5.0]。
Point t1=new Point(3.0,7.0);System.out.println(distance(t,t1)); 打印的结果t 和t1二点距离为:2
12.编写一个类Prime,打印300到500之间的所有素数。
13.定义一个Student类它的成员变量有xm(姓名),xh(学号),xb(性别),三门课的成绩yw(语文),xs(数学),yy(英语),还有三门课的zf(总分)和pjf(平均分),定义构造方法Student(String xm,String xh,String xb,int yw,int sx,int yy)还定义求总分方法public int qzf()和求平均分方法public double qpjf(),并且重写toString()方法即打印学生对象所有信息。
在main()方法中构造三个学生对象s1,s2,s3然后打印这三个学生对象的所有信息。