西交《Java语言》在线作业
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.下列程序段执行后的结果是( )。 String s=new String("abcdefg"); for(int i=0;i<s.length();i+=2){ System.out.print(s.charAt(i)); }
A.aceg
B.ACEG
C.abcdefg
D.abcd
2.下面哪个函数是public void aMethod(){...}的重载函数?( )
A.void aMethod( ){...}
B.public int aMethod(){...}
C.public void aMethod ( ){...}
D.public int aMethod ( int m){...}
3.class Person{ String name,department; int age; public Person(String n){name=n;} public Person(String n, int a){name=n;age=a;} public Person(String n,String d,int a){ //doing the same as two arguments version of constructer //including assignment name=n,age=a } } 下列哪一个选项可以添加到“//doing the same....”处?
A.Person(n,a)
B.this(Person(n,a))
C.this(n,a)
D.this(name,age
4.下面的表达式哪个是正确的( )
A.String s="你好";int i=3; s+=i;
B.String s="你好";int i=3; if(i==s){ s+=i};
C.String s="你好";int i=3; s=i+s;
D.String s="你好";int i=3; s=i+;
5.在创建对象时必须()
A.先声明对象,然后才能使用对象
B.先声明对象,为对象分配内存空间,然后才能使用对象
C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D.其它说法都对
6.Java语言提供了一个()线程,自动回收动态分配的内存
A.异步
B.消费者
C.守护
D.垃圾收集
7.有以下程序片段,下列哪个选项不能插入到行1。( ) 1. 2.public class Interesting{ 3.//do sth 4. }
A.import java.awt.*;
B.package mypackage;
C.class OtherClass{ }
D.public class MyClass{ }
8.执行语句int i=1,j=++i;后i与j的值分别为()。
A.1与1
B.2与1
C.1与2
D.2与2
9.Java类可以作为()
A.类型定义机制
B.数据封装机制
C.类型定义机制和数据封装机制
D.其它都不对
10.运行下列程序,会产生什么结果: class Outer1{ private int a; void foo(double d,final float f){ String s; final boolean b; class Inner{ void methodInner(){ System.out.println("in the Inner"); } } } public static void main(String args[]) { Outer1 me=new Outer1(); me.foo(123,123); System.out.println("outer"); } }
A.in the Inner outer
B.outer
C.in the Inner
D.编译不通过
11.以下关于继承的叙述正确的是()。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
12.System.out.println("5"+2);的输出结果应该是()。
A.52
B.7
C.2
D.5
13.下面是有关子类调用父类构造函数的描述正确的是(? )
A.子类定义了自己的构造函数,就不会调用父类的构造函数
B.子类必须通过super关键字调用父类没有参数的构造函数
C.如果子类的构造函数没有通过super调用父类构造函数,那么子类会先调用父类不含参数的构造函数,再调用子类自己的构造函数
D.创建子类对象时,先调用子类自己的构造函数,然后调用父类的构造函数
14.Java编程所必须的默认引用包为()
A.java.sys包
B.java.lang包
C.java.util包
D.其他都不是
15.下面哪个为构造函数的特性定义( )。
A.在类中声明构造函数时,名称须与类名相同
B.具有重载特性,可以建立多个相同名称
C.使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初始值进行内存的分配
D.其他都是
16.Java 类可以作为()
A.类型定义机制
B.数据封装机制
C.类型定义机制和数据封装机制
D.其他都不对
17.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪个layout( )。
A.FlowLayout
B.CardLayout
C.North and South of BorderLayout
D.East and West of BorderLayout
18.阅读下列代码 public class Test2005{ public static void main(String args[]){ String s=″Test″; Switch(s){ case″Java″:System.out.print(″Java″); break; case″Language″:System.out.print(″Language″); break; case″Test″:System.out.print(″Test″); break; } } } 其运行结果是_________。
A.Java
B.Language
C.Test
D.编译出错
19.下面哪种注释方法能够支持javadoc命令: ( )
A./**...**/
B./*...*/
C.//
D./**...*/
20.关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )。
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
21.在Java中用什么关键字修饰的方法可以直接通过类名来调用?()
A.static
B.final
C.private
D.void
22.System类在哪个包中? ( )
A.java.util
B.java.io
C.java.awt
D.java.lang
23.下面关于Applet的说法正确的是
A.Applet也需要main方法
B.Applet必须继承自java.awt.Applet
C.Applet能访问本地文件
D.Applet程序不需要编译
24.下面哪种注释方法能够支持javadoc命令:
A./**...**/
B./*...*/
C.//
D./**...*/
25.类Test1、Test2定义如下: 1. public class Test1 2.{ public float aMethod(float a,float b) throws 3. IOException { } 4. } 5. public class Test2 extends Test1{ 6. 7.} 将以下哪种方法插入行6是不合法的。( )
A.float aMethod(float a,float b){ }
B.public int aMethod(int a,int b)throws Exception{ }
C.public float aMethod(float p,float q){ }
D.public int aMethod(int a,int b)throws IOException{ }
26.下列关于修饰符混用的说法,错误的是( )
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.static方法中能处理非static的属性
D.abstract方法必须在abstract类中
27.看下面一段程序: class Aclass{ void go(){ System.out.println("Aclass"); } } public class Bclass extends Aclass{ void go{ System.out.println("Bclass"); } public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); } 以上程序运行结果是:( )
A.Aclass Aclass
B.Bclass Bclass
C.Aclass Bclass
D.Bclass Aclass
28.给出下面代码,关于该程序以下哪个说法是正确的?( ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } }
A.编译时将产生错误
B.编译时正确,运行时将产生错误
C.输出零
D.输出空
29.下列语句序列执行后,i 的值是( )。 int i=8, j=16; if( i-1 > j ) i--; else j--;
A.15
B.16
C.7
D.8
30.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( )
A.CardLayout
B.FlowLayout
C.BorderLayout
D.GridLayout
二、多选题 (共 10 道试题,共 20 分)
31.下面的Java语句错误的是( )。
A.Double a=1.0;
B.double a=1.0;
C.out.println("hello");
D.DatagramSocket a = new DatagramSocket()
32.下面哪个方法可以在任何时候被任何线程调用? ( )
A.notify()
B.wait()
C.notifyAll()
D.sleep()
E.yield()
F.synchronized(this)
33.下面的表达式哪个是正确的? ( )
A.String s="你好";int i=3; s+=i;
B.String s="你好";int i=3; if(i==s){ s+=i};
C.String s="你好";int i=3; s=i+s;
D.String s="你好";int i=3; s=i+;
E.String s=null; int i=(s!=null)&&(s.length>0)?s.length():0;
34.下列方法属于java.lang.Math类的有(方法名相同即可):
A.random()
B.abs()
C.sqrt()
D.sin()
35.定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为: ( )
A.private class MyClass extends Object
B.class MyClass extends Object
C.public class MyClass
D.public class MyClass extends Object
36.下列说法正确的是()
A.java语言里的线程是没有优先级的
B.String类在java.lang包中
C.java语言支持类的序列化
D.能序列化的类必须实现java.io.Serializable接口
37.下列正确的有()
A.call by value不会改变实际参数的数值
B.call by reference能改变实际参数的参考地址
C.call by reference不能改变实际参数的参考地址
D.call by reference能改变实际参数的内容
38.Java程序的种类有()
A.类(Class)
B.Applet
C.Application
D.Servlet
39.下面关于Java代码安全的说法哪些是正确的?
A.程序执行过程中需要的所有类都是通过字节码校验程序装入的。
B.代码的运行是由Java运行环境中的解释器完成的。
C.在运行时,字节码要经过装入,校验之后,才能在解释器中执行。
D.在缺省的安全配置条件下,Java Applet不能访问任何本地资源。
40.执行下列代码后,哪个结论是正确的String [] s=new String[10];()
A.s[10]为"";
B.s[9]为null;
C.s[0]为未定义
D.s.length为10
三、判断题 (共 10 道试题,共 20 分)
41.方法System.out.println只在命令窗口中显示(或打印)一行文字。()
42.通过点运算符与类对象的引用相连,可以访问此类的成员。( )
43.UDP是面向连接的协议。( )
44.interface中定义的变量全部是final static变量
45.程序员必须创建System.in,System.out和System.err对象。()
46.类和方法一般可以实现满足所有用户需要的错误处理。( )
47.Java异常处理适用于方法检查到一个错误却不能解决它的场合,这时该方法会抛出一个异常,但不能保证会有一个异常处理程序恰好适合于处理此类异常。( )
48.在随机存取中查找指定记录时不必检查每一条记录。( )
49.StringTokenizer类的hasMoreTokens方法确定在字符串中是否还有语言符号返回。()
50.注释的作用是使程序在执行时在屏幕上显示//之后的内容。( )