java程序设计练习题一
一、单项选择题
1、下面哪个不是Java的关键字?( )
A、integer B、double C、float D、char 2、常见的面向对象的程序设计语言包括( )。
A、Pascal B、Fortran C、Java D、C 3、在Java语言中,程序中最基本单位是哪一个?( )
A、方法 B、类 C、语句 D、接口 4、while循环和do??while循环的区别是( )?
A、没有区别,这两个结构任何情况下效果一样 B、while循环比do??while循环执行效率高
C、while循环是先循环后判断,所以循环体至少被执行一次 D、do??while循环是先循环后判断,所以循环体至少被执行一次 5、下面描述错误的有( )。
A、抽象类可以被继承 B、抽象类不可以被实例化
C、如果一个类中有抽象方法,则这个类一定是抽象类。 D、如果一个类是抽象类,那么这个类中一定有抽象方法。 6、实现一个线程有几种方法?( )
A、一种 B、两种 C、三种 D、三种以上 7、下列哪一项不是Applet的生命周期方法?( )
A、start() B、getCodeBase() C、destroy() D、init() 8、下列标识符中,合法的一个是( )。
A、a#@!$ B、a--$ C、2aas D、$11$ 9、为了实现多线程程序中线程间通讯,需要使用的是( )
A、File stream B、Piped stream C、Random access stream D、Filter stream x+=10;
A、10 B、15 C、20 D、25 11、执行下列程序段之后,输出的结果为( )。 public class aa{
public static void main(String[ ]args){ int a=5; int b=5; int c=10; c/=(++a/(b--)); System.out.println( c); } }
10、设有定义int x=5;则执行以下语句后,x的值为( )。
A、0 B、5 C、10 D、15 12、下列哪些语句关于内存回收的说明是正确的? ( )
A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 13、下列描述中,哪一项不属于finally语句应该执行的功能( )?
A、释放资源 B、关闭文件 C、分配资源 D、关闭数据库 14、下列说法中,错误的一项是( )。
A、MouseAdapter是鼠标运动适配器 B、WindowAdapter是窗口适配器 C、ContainerAdapter是容器适配器 D、KeyAdapter是键盘适配器 15、JApplet的默认布局管理器是( )。
A、FlowLayout B、BorderLayout C、GridLayout D、BoxLayout 16、为了使包ch4在当前程序中可见,可以使用的语句是( )。
A、import ch4.*; B、package ch4.*; C、ch4 imporl,; D、ch4 package; 17、设有定义int a=11;则执行以下语句后,a的值为( )。
a*=11;
A、121 B、11 C、22 D、0 18、编译,运行下列代码后的结果是:( )。 public class Test {
static int age;
public static void main (String args[]) {
age = age + 1;
System.out.println(\} }
A、 编译,运行后没有输出 B、编译,运行后输出:The age is 1 C、 能通过编译,但运行时产生错误 D、不能通过编译 19、下列描述中不正确的一项是( )。
A、Java是纯面向对象语言 B、c++不是纯面向对象的,它兼容c语言 C、在Java语言中,使用对象时必须先声明 D、Java语言和c++一样有指针 20、哪个关键字可以对对象加互斥锁? ( )
A、 transient B、 synchronized C、 serialize D、 static 21、下列不属于Java保留字的一个是( )。
A、else B、Unicode C、char D、static 22、下列选项中属于Java语言的垃圾回收机制的一项是( )。
A、语法检查 B、堆栈溢出检查 C、跨平台 D、内存跟踪 23、float类型数据和double类型数据做加法,得到结果的类型是( )。
A、int类型 B、short类型 C、double类型 D、float类型 24、以下字符常量中不合法的一个是( )。
A、’l’ B、?\\? C、”\n” D、?我? 25、下列说法中,不正确的一项是( )。
A、Java程序有两类:Application和Applet B、类的方法只能由public修饰
C、面向对象的程序设计的优点有:可重用性、可扩展性、可管理性 D、Java语言通过接口支持多重继承
26、下列哪个不是面向对象程序设计方法的特点?( )
A、抽象 B、继承 C、多态 D、结构化 27、下列选项中,列出用于定义类成员的访问控制权的一组保留字是( )。
A、class,float,double,public B、float,boolean,int,long C、char,extends,float,double D、public,private,protected
28、有双精度浮点数a和b,a为负无限值,b为正无限值,下列哪一个是正确的a/b的值?( A、负无限 B、正无限 C、0.0 D、NaN 29、下列单精度浮点数fValue的赋值语句中,不正确的一个是( )。
A、fValue=(double)-23.234f; B、fValue=(char)-12.34f; C、fValue=(char)-56.78d; D、fValue=(int)23.234f; 30、下列说法中错误的一个是( )。
A、$1$eabc是合法的Java标识符 B、局部变量必须先声明后使用 C、void不是合法的Java保留字 D、类名是用标识符命名的
31、对于一个二位的十进制正整数x,求它的十位数字Y(Y为整型)的表达式是( )。
A、Y=x—x/10%10 B、Y=(x—x/10*10)%10 C、Y=x%10 D、Y=x/10 32、阅读下列代码段,选出该代码段的正确的文件名( )。 class A{
void methodl(){
System.out.println(”methodl in class A”): } }
public class B void method2(){
System.out.println(”method2 in class B”):
}
public static void main(String args[]){
System.out.println(”main()in class B”): } }
A、A .java B、A.class C、B.class D、B.java 33、现有一个整型数组a [4],它的所有数组元素是( )。
A、a0,a1,a2,a3 B、a[0],a[1],a[2],a[3] C、a [1],a [2],a[2],a[4] D、a [0],a[1],a [2],a[3],a[4] 34、下列关于 Java语言和c++语言之间差别的描述中,不正确的一项是( )。
A、Java虽然提供了安全机制,但是还是没有c++安全
)
B、Java的内存管理优于c++的内存管理 C、Java没有全局变量,但是c++有全局变量 D、Java没有指针,但是c++的指针最灵活 35、下列程序中的循环体将会被执行( )。 public class ex6{
public static void main(String[ ]args){
int x=3; do{
System.out.println(“Hello!”); x--;
}while(x>=0); } }
A、1次 B、2次 C、3次 D、4次 36、若有定义int a=3;则执行完语句a-=a+=a*a;后,a的值是( )。
A、0 B、3 C、9 D、-9
37、在使用interface声明一个接口时,只可以使用哪一个修饰符修饰该接口?( )
A、private B、protected C、private protected D、public
38、现有一个变量声明为boolean bl;,下面赋值语句中正确的是( )。
A、b1=true; B、b1=True; C、bl=”true”; D、bl=0; 39、Java语言属于下列哪一种语言?( )
A、面向机器的语言 B、面向对象的语言 C、面向过程的语言 D、面向操作系统的语言 40、下列方法中哪一个不能用于获取异常信息( )?
A、toString ( ) B、getMessage( ) C、drawline( ) D、printStackTrace() 41、下列关于注释语句的描述中,正确的一项是( )。
A、以//开始的是多行注释语句 B、以/*开始,*/结束的是单行注释语句
C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句 D、以/**开始,*/结束的是单行注释语句 42、对下面的语句序列正确的说法是( )
int c=’A’/3; c+=’1’%5; System.out.println(c);
A、产生编译错误 B、输出结果25 C、输出结果21 D、输出结果2 43、算术表达式1+2/3—4*5的值为 ( )
A、1 B、-19 C、-5 D、0
44、运行下列代码中的方法divide(int a, int b) ,传递4,0,结果是:( )
public void divide(int a, int b) { try {
int c = a / b; } catch (Exception e) {
System.out.print(\} finally {
System.out.println(\}
A、打印输出: Exception Finally B、打印输出: Finally C、打印输出: Exception D、没有任何输出 45、Applet使用下列哪一项布局管理器?( )
A、BorderLayout B、FlowLayout C、BoxLayout D、GridLayout
46、main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项是合法的?( )
A、public static void main( ) B、public static void main(String args[ ]) C、public static int main(Stnng[ ]arg) D、public Void main(Stnng arg[ ]) 47、下列哪个是正确的字符常量?( )
A、 “DA” B、 ?da? C、 ?字” D、 ?\t? 48、下列标识符中,正确的是( )。
A、1_Back B、$_Money C、$-money D、2-Foward 49、构造方法何时被调用:( )
A、创建对象时 B、类定义时 C、使用对象的方法时 D、使用对象的属性时 50、public void add(int a) {…}方法的重写方法返回类型为:( )
A、void B、int C、任何需要的类型 D、public
二、简答题
1、 线程的状态主要有哪几个,请分别简述。
2、程序中的注释有什么作用,Java程序中有哪几种注释? 3、JAVA当中有几种循环结构?并简述其使用语法。 4、简述Java applet程序的生命周期中所涉及的方法。
5、在Java中对于异常的处理除了默认的异常处理程序(只能处理运行时异常)外,还提供了哪两种方式来处理程序中可能存在的异常?简述这两种方法。
三、程序结果题
1、请给出下面程序的输出结果
public class test {