资源描述
期末复习题(一)
一 选择题
1. 下列java标识符,错误的是( D )
A. _sys_varl B. $change
C. User_name D. 1_file
2. 下列不属于简单数据类型的是( B )
A. 整数类型 B. 类
C. 符点数类型 D. 布尔类型
3. 下列属于JAVA关键词的是( C )
A. TRUE B.goto
C. float D. NULL
4.下列声明和赋值语句错误的是( C )
A. double w=3.1415; B. String strl=”bye”;
C. float z=6.74567 D. boolean truth=true;
5. java中,八进制数以( B )开头。
A. 0x B. 0 C. 0X D. 08
6. 自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为(A)
A. char-int-long-float-double B. int-long-float-double-char
B. long-float-int-double-char D. 以上都不对
7.在java中,Integer.MAX_VALUE表示( B )
A. 浮点类型最大值 B. 整数类型最大值
C. 长整型最大值 D. 以上说法都不对
8.JAVA中,数据类型值中不可能出现的符号是( D )
A. d B. f C. e D. /
9. 下列表示单引号的是( B )
A. ‘ B. \\’ C. \\\\’ D. ‘\\
10. 下列语句片断中,four得值为:( D )
int three=3;
char one=‘1’
char four=(char)(three+one);
A. 3 B. 1 C. 31 D. 4
11. 下列不属于整型变量的类型是( C )
A. byte B.short C.float D.long
12. int类型整型变量在内存中的位数为( C )
A. 8 B. 16 C. 32 D. 64
13. 下列数据类型转换,必须进行强制类型转换的是( D )
A.byte→int B.short→long
C.float→double D. int→char
14. java中,用( A )关键字定义常量
A.final B.#define
C.float D.const
15. 关于变量的作用范围,下列说法错误的是( A )
A.异常处理参数作用域为整个类
B.局部变量作用于声明该变量的方法代码段
C.类变量作用于声明该变量的类
D.方法参数作用于传递到方法内代码段
16. 下列属于条件运算符的是( B )
A. + B. ?: C. && D. >>
17. 下列程序test类中的变量c的最后结果为( D )
public class test{
public static void main(String args[]) {
int a=10;
int b;
int c;
if(a>50){
b=9;
}
c=b+a;
}
}
A. 10 B. 0 C. 19 D. 编译出错
18. 下列程序片断的执行,说法正确的是( C )
public class test{
public static void main(String args[]){
byte b=100;
int i=b;
int a=2000;
b=a;
System.out.println(b);
}
}
A. b的值为100 B. b的值为2000
C. 第六行出错 D. 第八行出错
19. 00101010(&)00010111语句的执行结果为( A )
00000010
11111111
00111111
11000000
20. 已知i为整形变量,关于一元运算++i和i++,下列说法正确的是( D )
A. ++i运算将出错
B. 在任何情况下运行程序结果都一样
C. 在任何情况下运行程序结果都不一样
D. 在任何情况下变量i的值都增1
21. 在java中语句:37.2%10的运算结果为( A )
A. 7.2
B. 7
C. 3
D. 0.2
22. 在java语句中,运算符&&实现( B )
A. 逻辑或
B. 逻辑与
C. 逻辑非
D. 逻辑相等
23. 在java语句中,位运算操作数只能为整型或( B )数据
A. 实型
B. 字符型
C. 布尔型
D. 字符串型
24. 00101010(|)00010111语句的执行结果为( C )
A. 00000000
B. 11111111
C. 00111111
D. 11000000
25. ~0010101语句的执行结果为( A )
A. 1101010
B. 0010101
C. 11111111
D. 00000000
26. 复合语句用( B )括起来的一段代码。
A. 小括号() B. 大括号{} C. 中括号〔〕 D. 单引号‘’
27. 下列不属于条件语句关键字的是( D )
A. if B. else C. swich D. while
28. 多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值( C )
A. 整型 B. 实型 C. 接口型 D. 字符型
29.下面不属于java条件分支语句结构的是( D )
A. if结构 B. if-else结构
C. if-else if结构 D. if-else else机构
30. 下列方法method()执行,返回值为( D )
int method(){
int num=10;
if (num>20)
return num;
num=30;
}
A. 10 B. 20 C. 30 D. 编译出错
31. 三元条件运算符ex1?ex2:ex3,相当于下面( A )语句。
A. if(ex1) ex2;else ex3; B. if(ex2) ex1;else ex3;
C. if(ex1) ex3;else ex2; D. if(ex3) ex2;else ex1;
32. java用( A )来实现goto语句所特有的一些功能。
A. break B. default C. continue D. return
33. 一个循环一般应包括哪几部分内容( D )
A. 初始化部分 B. 循环体部分
C. 迭代部分和终止部分 D. 以上都是
34. 关于while和do-while循环,下列说法正确的是( D )
A. 两种循环除了格式不通外,功能完全相同
B. 与do-while语句不通的是,while语句的循环至少执行一次
C. do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D. 以上都不对。
35. 下列程序输出结果为( C ):
public class test {
public static void main(String args[]) {
int a=0;
outer: for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
if(j>i){
continue outer;
}
a++;
}
}
System.out.println(a);
}
}
A. 0 B. 2 C. 3 D. 4
36.下列数组定义及赋值,错误的是( B )
A. int intArray[];
B. intArray=new int[3];
intArray[1]=1;
intArray[2]=2;
intArray[3]=3;
C. int a[]={1,2,3,4,5};
D. int[][]=new int[2][];
a[0]=new int[3];
a[1]=new int[3];
37. 在java中,字符串由java.lang.String和( B )定义
A. java.lang.StringChar
B. java.lang.StringBuffer
C. java.io.StringChar
D. java.io.StringBuffer
38. java程序的执行过程中用到一套JDK工具,其中javac.exe指( A )
A. java语言编译器
B. java字节码解释器
C. java文档生成器
D. java类分解器
39. java的API结构中,不属于类库主要包括的核心包的是( C )
A. java包
B. javax
C. javadoc包
D. org扩展包
40. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有( A )类或者界面是公共的
A. 一个
B. 两个
C. 四个
D. 任意多个
41. 在当前的java实现中,每个编译单元就是一个以( A )为后缀的文件
A. java
B. class
C. doc
D. exe
42.在Java编程中,Java编译器会将Java源程序转换为( A )。
A.字节码 B.可执行代码 C. 机器代码 D. 以上所有选项都不正确
43.关于Applet和Application,下列说法错误的是( B )
A.Applet自身不能运行 B.Applet可以嵌在Application中运行
C.Application以main()方法为入口 D.Applet可嵌在浏览器中运行
44.整型数据类型中,需要内存空间最少的是( D )。
A.short B.long C. int D. byte
45.下面的代码段,输出结果是( B )。
int x=015;
System.out.println(x);
A. 015 B.13 C.15 D.编译错误
46.若有以下程序段:
int a=1,b=2,c;
c=1/b*a;
执行后,c的值是( A )。
A. 0 B. 0.5 C. 1 D. 2
47.下列关于数组的定义中,不正确的是( C )
A.int[] a=new int[5];
B.int a[]={1,2,3,4};
C.int a[][]= new int[][9];
D.int a[][]={{1}{1,2}{1,2,3}};
48.已知x=5;y=7;经过表达式(x++>5)&&(++y>0)的运算,x和y的值分别是( D )
A.5和7 B. 5和8 C. 6和7 D. 6和8
49.下面描述正确的是: ( A )
A.声明变量时必须指定一个类型
B.java认为变量number和Number相同
C.java中唯一的注释方式是“//”
D.源文件中public类可以有0个或多个
50.下面有关抽象类定义合法的是( D )。
A.class Animal{ abstract void growl();}
B.abstract Animal{abstract void growl();}
C.class abstract Animal{abstract void growl();}
D.abstract class Animal{abstract void growl();}
51.根据下面的代码
if (x>0) { System.out.println("第一"); }
else if (x>-3) { System.out.println("第二"); }
else { System.out.println("第三"); }
判断x的取值在什么范围内时将打印字符串“第二”?( D )
A. x > 0 B. x > -3 C. x <= -3 D.x <= 0 & x > -3
52.要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,则( A )。
A.该类不使用任何关键字
B.使用private关键字
C.使用final关键字
D.使用protected关键字
53.以下关于接口不正确的说法是 ( D ) 。
A.一个类可以实现多个接口类似于多重继承
B.接口没有构造函数和析构函数
C.接口可以继承
D.接口包含的方法既可以有实现,也可以没有实现
54.对于可以独立运行的Java应用程序,下列( D )说法是正确的。
A.无须main方法
B.必须有两个main方法
C.可以有多个或零个main方法
D.必须有一个main方法
55.以下关于继承的叙述正确的是( A )。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
56.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。
A.init() B.start() C.destroy() D.stop()
57.Java源文件和编译后的文件扩展名分别为( B )。
A..class 和 .java B..java和 .class
C..class 和 .class D..java 和 .java
58.Java语言不是( C )。
A.高级语言 B.编译型语言
C.结构化设计语言 D.面向对象设计语言
59.Java语言中创建一个对象使用的关键字为 ( C )
A.class B.interface C.new D.create
60.设有对象x具有属性a则访问该属性的方法为( C )
A.a.x B.a.x() C.x.a D.x.a()
61.Java中,用package语句说明一个包时,该包的层次结构必须是( B )
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
二、填空题
1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个_Oak__软件,它是java的前身。
2. java是一个网络编程语言,简单易学,利用了_ 面向对象__的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。
3. java可以跨平台的原因是__ java虚拟机__
4. JAVA的产品主流操作系统平台是Solaris、___ Windows __和Macintosh.
5. JAVA系统运行时,通过___垃圾回收___机制周期性的释放无用对象所使用的内存,完成对象的清除。
6. 在JAVA语言中,将后缀名为__ java ____的源代码文件编译后形成后缀名为.class的字节码文件。
7. JAVA语言的执行模式是半编译和___半解释型___。
8. JAVA类库具有___跨平台__的特点,保证了软件的可移植性。
9. 在JAVA语言中,为将源代码翻译成___字节码___文件时产生的错误称为编译错误。而将程序在运行中产生的错误称为运行错误。
10. Java Application应用程序的编写和执行分3步进行:编写源代码、编译源代码、___解释执行__。
11. 每个java应用程序可以包括许多方法,但必须有且只能有一个__ main ___方法。
12. JAVA源文件中最多只能有一个__ public或公共___类,其它类的个数不限。
13. JAVA的体系结构中,最下层是移植接口,上面一层是虚拟机,虚拟机的上层是__ java基本类___和基本API,它们都是具有可扩展性。
14. JAVA解释器采用生成与体系结构无关的____字节代码__指令的技术,只需安装JAVA运行系统,就可保证JAVA程序可以在网络的任何地方运行。
15. 把对象实例化可以生成多个对象,使用___ new ___运算符为对象分配内存空间。
16. java程序引入接口的概念,是为了弥补只允许类的___单继承_____的缺憾。
17. java语言以____类___为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
18. 抽象方法只能存在于抽象类中。抽象方法用关键字____ abstract ____来修饰。
19. java语言中____ Object ___是所有类的根.
20. 在java中有一种叫做___构造方法____的特殊方法,在程序中用它来对类成员进行初始化.
21. new是___创建___对象的操作符.
22. 继承主要强调子类在父类的基础上取”长”补”短”,而___多态性___主要强调的是类与类之间的传输
23. 我们在java程序中,把关键字____ supper ____加到方法名称的前面,来实现子类调用父类的方法
24. 定义一个类包括定义类头和定义____类体__两个部分
25. 在java程序里,同一类中重载的多个方法具有相同的方法名和__不同的___的参数列表.重载的方法可以有不同的返回值类型
26. java是面向对象语言,对象是客观事物的____实体___,对象与之是一一对应的,它是很具体的概念.
27. java语言通过接口支持__多重____继承,使类继承具有更灵活的扩展性
28. 一个对象的生命周期包含三个阶段:生成, ___使用___ 和清除
29. java语言中,调用方法时,参数传递是___值___调用,而不是地址调用
30. 接口是一种只含有抽象方法或___常量___的一种特殊抽象类
31. 创建一个类就是创建一个新的数据类型,而类在java中属于___ 复合___数据类型。
32. abstract方法____不能____(不能或能)与final并列修饰同一个类
33. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的____参数个数____必须是不同的,这种现象称为方法的重载。
34.Java中用___extends______关键字指明继承关系,用___implement __关键字指明对接口的实现。
35.在Java语言中,有一个类是所有类和接口的父类,这个类的名称是__Object___。
36.在Java程序中,类只能实现__单__ 继承,但通过接口的定义可以实现_多重__ 继承。
37. __构造方法___是类中的一种特殊方法,用来实例化对象的初始状态。
38.某Java源程序中有一个类的定义为:public class MyPrg,则该源程序的完整文件名应该为: MyPrg.java 。
39.面向对象的模型中,最基本的概念是__类___和__对象___。
40.有一种方法,仅有方法头,没有具体方法体和操作实现的方法,该方法必须定义在抽象类中,该方法称为 抽象方法 。
三.程序阅读题
(1)
import java.io.*;
class Parent{
void printMe(){
System.out.println("parent");
}
}
class Child extends Parent{
void printMe(){
System.out.println("child");
}
void printAll(){
super.printMe();
this.printMe();
printMe();
}
}
public class Class1{
public static void main(String args[]){
Child myC=new Child();
myC.printAll();
}
}
运行结果为:
parent
child
child
(2)
public class Class2{
public static void main(String[] args){
A a1=new A(); a1.printa();
B b1=new B(); b1.printb(); b1.printa();
}
}
class A{
int x=1;
void printa() {System.out.println(x);}
}
class B extends A{
int x=100;
void printb(){
super.x=super.x + 10;
System.out.println("super.x=" + super.x + " x= " + x);
}
}
运行结果为:
1
super.x=11 x= 100
11
(3)
interface A{
int x=1;
void showX();
}
interface B{
int y=2;
void showY();
}
class InterfaceTest implements A,B{
int z=3;
public void showX(){System.out.println("x=" + x); }
public void showY(){
System.out.println("y=" + y);
}
public void showMe(){
System.out.println("z=" + (z+x+y));
}
}
public class Class3{
public static void main(String args[]){
InterfaceTest myObject=new InterfaceTest();
myObject.showX();
myObject.showY();
myObject.showMe();
}
}
运行结果为:
x=1
y=2
z=6
(4)
public class Class4{
static String s;
public static void main(String[] args){
System.out.println(“s= ”+s);
}
}
运行结果为:
s=null
(5)
public static void main(String[] args){
int j=10;
int i=1;
do{
if(i++>--j)
continue;
}while(i<5)
}
运行结果为:
i=5
j=6
(6)
import java.io.* ;
public class Class6{
public static void main(String args[ ]){
int i, s = 0 ;
int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
for ( i = 0 ; i < a.length ; i ++ )
if ( a[i]%3 = = 0 ) s += a[i] ;
System.out.println("s="+s);
}
}
运行结果为:
s = 180
(7)
class Class7 {
public static void main(String[] args){
char myChar='c';
switch(myChar){
default:
case 'a':System.out.println("a");break;
case 'b':System.out.println("b");break;
}
}
}
运行结果为:a
(8)
class Class8
int var;
Tester(double var) {
this.var = (int)var;
}
Tester(int var) {
this("hello");
}
Tester(String s) {
this();
System.out.print (s);
}
Tester() {
System.out.print("goodbye");
}
public static void main(String[] args) {
Tester t = new Tester(5);
}
}
运行结果为:goodbye hello
(9)
public class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Person c = new Person("Peter", 17);
System.out.println(c.name + " is " + c.age + " years old!");
}
}
运行结果为:Peter is 17 years old!
(10)
public class Class10 {
public static void main(String args[]) {
int x = 10, y = 0;
for(int i=2;i<x;i++){
if(x%i==0) y++;
}
switch(y) {
case 0: System.out.print(0);
case 1: System.out.print(1);break;
case 2: System.out.print(2);
case 3: System.out.print(3);break;
default: System.out.print(4);
}
}
}
运行结果为:23
(11)
class Person{
public Person(){
System.out.println("Hi!");
}
public Person(String s){
this();
System.out.println("I am "+s);
}
}
public class Class11 extends Person{
public Class11(){
this("I am Tony");
}
public Class11(String s){
super(s);
System.out.println("How do you do?");
}
public static void main(String args[]){
Class11 w = new Class11("Tom");
}
}
运行结果为:
hi
I am Tony
How do you do?
(12)
public class Class12{
String str=new String("Hello");
char ch[]={'J','a','v', 'a'};
public static void main(String args[]){
Class12 ex=new Class12();
ex.change(ex.str,ex.ch);
System.out.println(ex.str);
System.out.println(new String(ex.ch));
}
public void change(String str,char ch[]){
str="World";
ch[0]= 'Y';
}
}
运行结果为:
Hello
Yava
13
展开阅读全文