资源描述
JAVA习题锦集(含答案)
一、 判断题
1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承
2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数
3.(×)A subclass inherits all methods ( including the constructor ) from the superclass
4.(×)Java中所有的类都是java.lang的子类
5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址
6.(×)abstract方法不一定要声明在abstract类中
7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误
8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号
9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目
10.(×)最终方法只能存在于最终类中
二、单选题
1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B
(A)安全性 (B)多线性 (C)跨平台 (D)可移植
2、下列选项中不是JAVA语言特点的是( )D
(A)面向对象 (B) 平台无关 (C)安全性高 (D)单线程
3、异常包含下列那些内容?( )D
(A)程序中的语法错误 (B)程序的编译错误
(C)程序执行过程中遇到的事先没有预料到的情况
(D)程序事先定义好的可能出现的意外情况
4、JAVA语言中的语句是以( )为结尾的。B
(A)句号 (B)分号 (C)双引号 (D)逗号
5、下列选项中,哪一个是打印语句的正确表达式:( )A
(A)System.out.println(); (B)System.out.Println();
(C)System.Out.print(); (D)System.Out.println();
6、下列哪一个是合法的JAVA语句标示符( )C
(A)#xyz (B)10Year (C)_Hello (D)@yahoo
7、下列哪一个是JAVA语言的关键字( )B
(A)hello (B)void (C)num_01 (D)abc
8、关于数据类型转换下面描述错误的是( )D
(A)当两个数据的类型不统一时,必须先进行数据类型的转换,再运算或赋值
(B)byte类型数据可以转换为short,int,long类型数据
(C)long类型数据有可能转换为byte,short,int类型数据
(D)在语句int i=(int) 78.67;中,变量 i的值为79
9、下列定义String变量s的语句中,错误的是( )A
(A)String s=new “Yes!”;
(B)String s=new String(“yes!”) ;
(C)String s; (D)String s=”Yes!”;
10、下列关于注释语句的描述错误的是( )D
A、多行注释语句的内容,从/*开始,到*/结束
B、多行注释语句也可以是单行语句
C、文档注释语句的内容,从/**开始,到*/结束
D、单行注释语句的内容,从//开始,以分号为结尾句
11、定义一个长整型变量a的语句是( )D
A、int a ; B、a long ; C、float a ; D、long a;
12、下列哪个是反斜杠字符的正确表示( )A
A、\\; B、*\\; C、\; D、\’\’;
13.Main()方法的返回类型是( )B
A、int B、void C、boolean D、static
14. 编译运行以下程序后,关于输出结果的说明正确的是 ( )B
public class Con{
public static void main(String args[ ]){
int x=2;
System.out.println(“value is “+ ((x<1) ?22:2));
}
}
A、输出结果为:value is 22.2 B、输出结果为:value is 2
C、输出结果为:value is 2.0 D、编译错误
15.给出下面代码:
public class test{
static int a[] = new a[10];
public static void main(String args[]) {
System.out.println(arr[10]);
}
}
那个选项是正确的?( )A
A、编译时将产生错误; B、编译时正确,运行时将产生错误;
C、输出零; D、输出空。
16、switch语句不能用于下列哪种数据类型( )A
A、double B、byte C、short D、char
17、下列哪个数代表十六进制整数( )D
A、0123 B、1900 C、fa00 D、0xa2
18、定义整型变量:int n=456;,表达式的值为5的是( )A
A、n/10%10 B、(n-n/100*100)/100
C、n%10 D、n/10
19、设有定义语句int a[]={66,88,99};则以下对此语句的叙述错误的是( )C
A、定义了一个名为a的一维数组 B、a数组有3个元素
C、a数组的下标为1~3 D、数组中的每个元素是整型
20、若已定义:int a[]={0,1,2,3,4,5,6,7,8,9};则对a数组元素正确的引用是( )B
A、a[-1] B、a[9] C、a[10] D、a(0)
21、下列选项中,用于实现接口的关键字是(B )
A、interface B、implements C、abstract D、class
22、在Java Applet程序用户自定义的Applet子类中,一般需要覆盖父类的( )方法来完成一些画图操作( D)
A、start( ) B、stop( ) C、 init( ) D、paint( )
23、下面的逻辑表达式中合法的是_____( C )
A、7+8)&&(9-5) B、(9*5)||(9*7) C、9>6&&8<10 D、(9%4)&&(8*3)
24、java语言是1995年由____公司发布的( A)
A、Sun B、Microsoft C、Borland D、Fox Software
25、以下的变量定义语句中,合法的是______(D )
A、int _long=324233L; B、byte $_b1=114562;
C、float _*5=123.456F; D、double a=Double.MAX_VALUE
26、关于被私有访问控制符private修饰的成员变量,以下说法正确的是____( C)
A、可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的
子类 B、可以被两种类访问和引用:该类本身、该类的所有子类
C、只能被该类自身所访问和修改 D、只能被同一个包中的类访问
27、下列属于JAVA关键词的是( C )
A、TRUE B、goto C、float D、NULL
28、下列______是合法的char类型数据(A)
A、'\142' B、'\u00' C、'\rn' D、'\u0xc0
29、下列说法中,正确的是______(A)
A、类成员变量在使用之前可以不初始化 B、局部变量在使用之前可以不初始化 C、所有的变量在使用之前必须初始化 D、参数变量在使用之前必须初始化
30、Java语言具有许多优点和特点,下列选项中______是通过Java虚拟机实现的特点(D )
A、分布式 B、多线程 C、安全性 D、可移植
31、下列数据类型中______属于Java简单数据类型( D)
A、结构类型 B、接口 C、无符号整数类型 D、字符类型
32、下列选项中,表示终极方法的修饰符是(B )
A、interface B、final C、abstract D、implements
33、下列关于类和对象的描述中,不正确的一项是______( D)
A、一组对象构成一个程序,对象之间通过发消息通知彼此该做什么
B、现实世界中,可以把每件事物都看作是一个对象
C、有共同属性的对象可以抽象为一个类
D、一个类只能实例化一个对象
34、下列命令中,______是Java的编译命令(A )
A、javac B、javadoc C、javah D、java
35、下列变量定义错误的是( D)
A、int a; B、double b=4.5; C、boolean b=true; D、float f=9.8;
36、在Java applet程序中,用户自定义的Applet子类常常覆盖父类的____方法来完成applet界面的初始化工作(C )
A、start( ) B、stop( ) C、init( ) D、paint( )
37、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为____(B )
A、java B、class C、html D、exe
38、下列关于Java程序结构的描述中,不正确的一项是______( C)
A、一个Java源文件中可以包括多个类定义,但是只能有一个public类 B、一个Java源文件中可以包括一个package语句 C、一个Java源文件中可以有多个public类 D、源文件名与程序类名必须一致
39、Java程序中最多只能定义______个公共类( B)
A、0 B、1 C、2 D、大于2
40、以下关于Java语言继承的说法正确的是(C )
A、Java中的类可以有多个直接父类 B、抽象类不能有子类
C、Java中的接口支持多继承 D、最终类可以作为其它类的父类
41. 下列有关Java 语言的叙述中,正确的是(B)
A、Java 是不区分大小写的 B、源文件名与public 权限的类名必须相同
C、源文件名其扩展名为.jar D、源文件中public 类的数目不限
42. 在Java 中,负责对字节代码解释执行的是(B)。字节就是class 文件
A、垃圾回收器B、虚拟机C、编译器D、多线程机制
43. 在Java 程序设计中,由Java 编译器默认导入的包是(D)
A、java.applet B、java.awt C、java.util 输入语言D、java.lang
44. 编译Java application 源程序文件将产生相应的字节码文件,这些字节文件的扩展名为(B)
A、.java B、.class C、.html D、.exe
45. 在Java 中,用package 语句定义一个包时,该包的层次结构即是(b)
A、与文件的结构相同 B、与文件目录的层次相同
C、与文件类型相同 D、与文件大小相同
46. 有时在程序设计中采用分治算法而选择递归,“递归”的基本思想是(c)
A、“让别人反复调用自己” B、“自己反复调用别人”
C、“自己反复调用自己” D、以上说法都不对
47.main 方法是Java Application 程序执行的入口,含有main 方法的类是主类,
且main 方法的定义是唯一的,以下哪项是正确的(b)
A、public static void main()
B、public static void main(String args[ ])
C、public static int main(String arg[])
D、public void main(String arg[])
48. 按照Java 的标识符的行业命名规范,下列分别表示一个类和一个方法的标识符比较合适的是(b)
A、Helloworld,GetSwimmingScore B、HelloWorld,getSwimmingScore
C、helloworld,getswimmingscore D、helloWorld,Getswimmingscore
49. 以下程序的运行结果为(d)
public class IfTest{
public static void main(String args[]){
int x=3;
{
int y=1;
}
if(x==y)
System.out.println(“equal”);
else
System.out.println(“Not Equal”);
}
}
A、Not equal B、Equal C、无输出D、编译出错,找不到y
50. 下列说法不正确的是(c)
A、IOException 必须被捕获或抛出
B、java 语言不自动初始化变量的值
C、java 语言不允许同时继承一个类并实现一个接口
D、java 语言会自动回收内存中的垃圾
51. 在Java 中,所有类的根类是(a)
A、java.lang.Object B、java.lang.Class
C、java.applet.Applet D、java.swing.Jframe
52. 下列方法中可以用来创建一个新线程的是(b)
A、实现java.lang.Runnable 接口并重写start()方法
B、实现java.lang.Runnable 接口并重写run()方法
C、实现java.lang.Thread 接口并重写run()方法
D、实现java.lang.Thread 类并重写start()方法
53. 启动Applet 小程序时,即调用类似于应用程序main 方法的入口方法(b)
A、stop() B、init() C、start() D、destroy()
54. Java 的字符类型采用的是Unicode 编码方案,每个Unicode 码占用____个比特位。( b )
A、8 B、16 C、32 D、64
55. 下面哪个选项是Java 语言中的关键字?(c)
A.toString B.Class C.instanceof D.Int
56. 以下哪个选项是字符串对象的长度?(d)
A.size B.Length C.max_value D.length()
57. 下面程序段的执行结果是什么?(b)
public class Exp{
public static void main(String[] args){
try{ int f=12;return;}
catch(Exception e){ System.out.println(e.getMessage());}
finally{System.out.println(“Finally!”);}
}}
A、程序正常运行,但不输出任何结果 B、程序正常运行,并输出Finally
C、编译能通过,但运行时会出现例外 D、因为catch 语句块不对应,所以不能通过编译
58. class MethodOverload{
public void setValue(int a, int b, float c){}
}
下列哪个方法定义是setValue 的重载方法:(c)
A.public void setValue (int a, int c, float b){}
B. public void setVar(int a, int b){}
C. public int setValue(int a, float c, int b){return a;}
D. public float setValue(int a, int c, float b){return a;}
59. 下列叙述中哪个是不正确的?(d)
A、final 类不可以有子类
B、abstract 类不可以有abstract 的静态方法
C、不可以同时用final 和abstract 修饰一个方法
D、abstract 类中可以有非abstract 方法,但该方法不可以用final 修饰
接口中只能有常量和抽象方法;抽象类中可以有抽象方法和非抽象方法;
60. Swing 与AWT 的区别不包括:(d)
A、Swing 是由纯Java 实现的轻量级构件 B、Swing 没有本地代码
C、Swing 不依赖操作系统的支持 D、Swing 支持图形用户界面都支持
61. 容器JFrame 及JPanel 默认的布局管理器分别是(b)
A、FlowLayout 和GridLayout B、BorderLayout 和FlowLayout
C、FlowLayout 和FlowLayout D、CardLayout 和BorderLayout
62.在开发一个JAVA GUI 程序时,通常都要对按键事件作出响应和处理,
一般需要在程序的开头写上(d)语句。
A、import java.awt.*; B、import java.applet.*;
C、import java.io.*; D、import java.awt.event.*;
63. 每个使用Swing 组件的程序必须有一个(d)
A、按钮 B、标签 C、菜单 D、容器
64. 下列哪个声明是错误的?()
A. int i=10;
B. float f=1.1;
C. double d=34.4;
D. byte b=127;
65. 下面哪个不是java中的关键字?()
A. Public B. True C. Main D. class
66. 下面哪个语句不会产生编译错误?( )
A. float a =2.0; B. char c =”a”;
C. byte b =25; D. boolean d=0;
67. 下面程序哪个语句是正确的
A. byte a=0,b=3; byte c =a+b; B. short s =23; s=s+12;
C. short s=23; s+=12; D. float f = 23+23.23;
68. byte类型的大小是
A. -128 ~ 127 B. -228 ~128
C. -255 ~ 256 D. -255 ~ 255
69. 下面程序执行的结果是?()
public class Test()
{
public static void main(String[] args)
{
System.out.println(“”+’a’+1);
}
}
A. 98 B. a1 (注意!) C. 971 D. 197
70. 下面程序执行的结果是?()
int i = 100;
while(true)
{
If ( i++ > 100 )
break;
System.out.println(i);
}
A. 100
B. 101 (i++=100 并不大于100,所以输出i,i=101,当i=101时,直接出循环,所以i依然还是101)
C. 102
D. 103
71. 下面程序执行的结果是?()
int a=2;
switch(a)
{
case 1:
a+=1;
break;
case 2:
a+=2;
case 3:
a+=3;
break;
case 4:
a+=4;
break;
default:
a=0;
}
System.out.println(a);
A. 5 B. 6 C. 7 D. 8
72. 下面程序的运行结果是 ( )
int a=3, b=1;
if(a==b)
System.out.println("a="+a);
A. a=1 B. a=3 C. 编译错误 D. 正常运行但没有输出
73. 下面程序的运行后,a,b,c的值正确的是:
int a=1,b=2;
int c=(a+b>3?a++:++b);
A. a=2,b=3 B. a=1,b=3 C. a=1,b=2 D. c=2
74. 下面程序的运行结果
public class Demo
{
public static int fun(int c)
{
return c+=2;
}
public static void main(String[] args)
{
int temp=fun(2);
System.out.println(temp);
}
}
A. 2 B. 4 C. 6 D. 8
75. 下面程序的运行结果,哪个是正确的
int b=1;
while(++b<3)
System.out.println("LOOP");
A. 程序将会进入死循环导致无输出 B. 输出一次LOOP
C. 会输出多次LOOP D. 程序中含有编译错误
76. 下面数组定义错误的是()
A. int [] arr ={23,45,65,78,89};
B. int [] arr=new int[10] ;
C. int [] arr=new int[4]{3,4,5,6}; //第二个中括号中必须为空
D. int [] arr={‘a’, 23 , 45 , 6}; //‘a’代表的是97
三、多选题
1、属于Java关键字的是?( ABCDE)
A、if
B、else
C、do
D、while
E、case
2、下列说法正确的是____( ABE)
A、类的定义包括类得声明和类体
B、类包装的了一类对象的状态和方法
C、成员变量和局部变量的作用域相同
D、局部变量与成员变量同名时,局部变量将被隐藏
E、参数也被视为是局部变量
3、以下属于Java关键字的有?(AD )
A、new
B、create
C、instanceOf
D、instanceof
E、elseif
4、下列描述中正确的是_____(ABC )
A、C++不是纯面向对象的,它兼容C语言
B、Java是纯面向对象语言,不兼容以往的任何语言
C、在Java语言中,使用对象时必须先声明
D、Java语言和C++一样有指针
E、Java摒弃了指针和数组
5、下列数组定义正确的是____( BCD)
A、int[] a[]= new float[2]
B、int my[][]=new int[3][3]
C、String[] str=new String[3]
D、byte b[][]=new byte[3][]
E、double d[][]=new double[][4]
6、面向对象的基本特征是?(ACD )
A、封装性
B、消息传递性
C、 继承性
D、多态性
E、抽象性
7、关于java应用程序,下列说法正确的是?( ACD)
A、一个应用程序必须有一个类含有main方法
B、任意一个类都可作为应用程序的主类
C、java程序的main方法必须被说明为public static void
D、main方法是程序开始执行的位置
E、如果源文件有多个 类,任意一个类名斗可作为该源文件的名称
8、关于标识符,下列说法正确的是_____( ABC)
A、标识符是java中命名的规则
B、标识符由字母、下划线、美元符号和数字组成
C、Girl_为合法的标识符
D、34_$为合法的标识符
E、标识符中的字母不区分大小写
9、在创建对象时有几种方法为对象的成员变量赋初值?(BE )
A、在创建对象之前先为对象的成员变量赋初值
B、缺省情况下成员变量会自动赋值或空值
C、不能为对象的成员变量赋初值
D、为成员变量赋指定的初值
E、利用构造函数为成员变量赋初值
10、下列属于软件开发周期组成的有?( BCDE)
A、问题定义
B、可行性研究
C、需求分析
D、总体设计
E、详细设计
12. 下面关于函数描述正确的是(AD)
A. 函数是对功能代码块的封装
B. 函数没有返回值的时候什么都不用写
C. 没有返回值的函数,不能有return 语句
D. 函数是可以没有形参的
13. 下面关于循环描述正确的是(AD)
A. while循环先判断循环条件,后执行循环操作
B. while 至少会执行一次
C. do-while先进行循环条件判断,后执行循环操作
D. do-while循环至少执行一次,后进行循环判断
四、 填空题
1、在Java程序中,使用关键字_throws___用于声明一个方法会抛出哪些异常,
而__throw__是在方法体中实际执行抛出异常的动作
2、要编译一个文件名为Test的Java源程序,需在命令控制台窗口输入编译命
令:_javac Test.java___
3、如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实
现这个接口的话,就必须实现其中的_methodA()___方法
4、程序运行过程中出现的非正常现象称为_异常___
5、Java中的数据流包括字节流和__字符流__流两种
6、在select语句中,使用_where___条件从句来设定查询标准
7、向链表的末尾添加一个新的几点的方法是__add()__
8、在Java中,两个连续等号(==)是等于运算符,那么一个等号是_赋值___运算符
9、下列语句序列执行后,k 的值是__10__
int i=4,j=5,k=9,m=5;
if(i>j||m<k) k++; else k--;
10、Java的数据类型可以分为两大类:__基本数据类型__和引用数据类型
11、 设有数组定义:int a[] = { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 则执行下列几个语句后的输出结果
是_33_66_99__ 。
for( int i = 0 ; i < a.length ; i ++ )
if( a[i]%3==0 )System.out.print(a[i]+" ");
12、 每个JAVA 应用程序都要有且只有一个_main_方法,它是程序的开始点,该方法的格式永远是:
public static void main (String [] args)________。
13、逻辑表达式:(34<=25)&&(68!=90)||(48*2<100)的值为__true__。
14、执行下列代码后的结果是什么?
int x,a=2,b=3,c=4; x=(++a)+(b++)+(c++);
x=__10_,a=_ 3___,b=__4_,c=___5__。
15、在Java语言中,逻辑常量只有____true___和___false__两个值。
16、Java的跳转语句中__不包含__(包含/不包含)goto语句。
17、Math.min(-25,-9)=__-25__; Math.sqrt(16)=__4__;
18、在一个Java源文件中定义了3个类和15个方法,编译该Java源文件时会产生_ 3 _个字节码文件,
其扩展名是_class_。
19、Java语言的各种数据类型之间提供两种转换:_强制__和__自动__转换。
20、Java语言中,如数字后没有任何字母,计算机默认为__double__类型。
21. JAVA 源程序是由包定义语句、导入语句、类定义、方法定义和执行语句等五部分组成的。
22. 根据类定义的格式,类体里一般有内部类、属性(成员变量) 和方法。
23. 面向对象程序设计的三个基本特征分别是抽象、封装、继承、多态。
24. 算术运算异常、下表数组越界异常类都源于Exception这个父类。
25. 在Java 程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承。
26. 接口的所有成员属性都默认且必须是public 、static和Final 的。
27. 方法的重载是指在同一个类中,声明方法名称相同但参数不同的多个方法。
28. Java 语言的各种数据类型之间提供两种转换: 自动类型转换和强制转换。
29. 在类的构造方法和实例方法中,使用关键字this 可以解决局部变量与实例变量同名的问题。
30. this 关键字代表当前对象,而super 关键字是指当前对象的父类。
31. 抽象方法不能使用修饰符final 和static 修饰。
32.在进行Java GUI 程序设计时,一般都要用到swing 特性,因此必须在程序的开头写上
_import javax.swing.*;_语句。
12 / 12
展开阅读全文