java

位置:IT落伍者 >> java >> 浏览文章

Java笔试试卷二


发布日期:2023年03月19日
 
Java笔试试卷二

试题
已知变量a和obj的定义如下
    Object[] a = { &#;a&#; &#;b&#; &#;c&#; };
    Object obj = a;
    则下面语句运行时会抛出异常的是( )
A Object[] a = (Object[])obj;
B String str = (String)((Object[])obj)[]
C String[] a = (String[])obj
D String str = (String)a[]

试题
已知类Foo的定义如下
    public class Foo {
int value;
Foo(int value) {
thisvalue = value;
}
    }
    运行下面程序段
    Foo[] a = { new Foo() new Foo() new Foo() };
    Foo[] a = new Foo[alength];
    Systemarraycopy(a a alength);
    Systemoutprintln((a == a) + &#;&#; + (a[] == a[]));
    控制台输出的结果是( )
A falsetrue
B falsefalse
C truetrue
D truefalse

试题
已知类Foo的定义如下
    public class Foo {
int value;
Foo(int value) {
thisvalue = value;
}
public boolean equals(Object obj) {
if (obj instanceof Foo) {
Foo foo = (Foo) obj;
return value == foovalue;
} else {
return false;
}
    }
    运行下面程序段
    ArrayList list = new ArrayList();
    HashSet set = new HashSet();
    listadd(new Foo());
    setadd(new Foo());
    Systemoutprintln(listcontains(new Foo()) + &#;&#;
+ setcontains(new Foo()));
    控制台输出的结果是( )

Atruefalse
B truetrue
C falsefalse
D falsetrue

试题
已知类ABC和接口D的定义如下
    public class A{…}
    public class B extends A implements D {…}
    public class C extends A {…}
    public interface D {…}
    变量abcd的定义如下
    A a = new A();  B b = new B();
    C c = new C();  D d = null;
    则下列语句会有编译错误的是( )

A a = b;
B d = b;
C d = (D)a;
D c = (C)b;

试题
运行如下代码
    class COne {
        public void f() {
        Systemoutprintln(&#;COnef&#;);
        }
    }

    class CTwo extends COne{
public void f() {
Systemoutprintln(&#;CTwof&#;);
        }
    }

    class CThree {
public void g(COne one) {
Systemoutprintln(&#;g(Cone)&#;);
onef();
    }

    public void g(CTwo two) {
Systemoutprintln(&#;g(Ctwo)&#;);
twof();
        }
    }
    public class Main {
public static void main(String[] args) {
COne one = new CTwo();
        CThree three = new CThree();
threeg(one);
        }
    }
    控制台输出的结果是( )

A g(Cone)
       CTwof
B g(Cone)
       COnef
C g(Ctwo)
       CTwof
D g(Ctwo)
       COnef

试题
运行如下代码
    class Foo {
private int value = ;
public Foo() {
Systemoutprintln(&#;Foo()&#;);
Systemoutprintln(value);
        }
    }

    class Bar extends Foo{
private int value = ;
public Bar() {
Systemoutprintln(&#;Bar()&#;);
Systemoutprintln(value);
        }
    }

    public class Main {
public static void main(String[] args) {
Bar bar = new Bar();
        }
    }
    控制台输出的结果是( )

ABar()
      
       Foo()
      
B Foo()
      
       Bar()
      
C Bar()
      
       Foo()
      
D Foo()
      
       Bar()
      

试题
实现Point类的equals方法具体逻辑为成员变量x和y分别相等的Point对象被视为相等
    public class Point {
private int x;
private int y;
&#;
public boolean equals(Object obj) {
<填入代码>
}
    }
    以下代码正确的是( )

A
if(objx == thisx || objy == thisy){
         return true;
    }
    return false;
B
if(objx == thisx &#;&#; objy == thisy){
         return true;
    }
         return false;
C
if(!(obj instanceof Point)) return false;
    if(((Point)obj)x == ((Point)obj)y &#;&#; thisx == thisy){
         return true;
    }
         return false;
D
if(!(obj instanceof Point)) return false;
    if(((Point)obj)x == thisx &#;&#; ((Point)obj)y == thisy){
         return true;
    }
            return false;

试题
运行如下代码
    List list = new ArrayList();
    //向list中插入内容{}
    listset( listset(listget()))
    Systemoutprintln(list);
    控制台的输出结果是( )

A [ ]
B [ ]
C [ ]
D [ ]

试题
运行如下代码
    List list = new ArrayList();
    //向list中插入内容{}
    &#; &#; &#;
    listsubList( )clear();
    Systemoutprintln(list);
    控制台的输出结果是( )

A [ ]
B [ ]
C [ ]
D [ ]

试题
题示代码的功能为将两个有序的ArrayList合并为一个有序的ArrayList
     对于两个存放Integer对象的ArrayList
     内容分别为list{} 和 list{}
     合并后的list: {}

&#;
     List list = new ArrayList();
     int size = listsize() + listsize();

     for (int i = j = k = ; k < size; k++) {
   <  填入的代码  >
}
     System.out.println(list3);
        …

     完成该功能应该填入的代码是( )。tw.wiNgwIT.cOm

A.
if (j >= listsize() || i > listsize()
    &#;&#; listget(i) < listget(j)) {
listadd(listget(i++));
    } else {
listadd(listget(j++));
    }
B
if (j >= listsize() || i < listsize()
    &#;&#; listget(i) < list2.get(j)) {
list3.add(list1.get(i++));
    } else {
list3.add(list2.get(j++));
    }
C.
if (j >= listsize() || i < list1.size()
    && list1.get(i) > listget(j)) {
listadd(listget(i++));
    } else {
listadd(listget(j++));
    }
D
if (j >= listsize() || i < listsize()
    || listget(i) < list2.get(j)) {
list3.add(list1.get(i++));
    } else {
list3.add(list2.get(j++));
    }

      试题11
运行如下代码:
     String ss = "abcdefcde";
     int i = ss.indexOf("cde", 3);
     System.out.println(i);
     控制台输出的结果是( )。

A. 6
B. 3
C. 2
D. 7

      试题12
运行如下代码:
     String ss = "abcdefcde";
     char cc = ss.charAt(3);
     System.out.println(cc);
     控制台输出的结果是( )。

A. b
B. e
C. c
D. d

试题13
运行如下代码:
     String ss = "abcdefcde";
     String s = ss.substring(2, 4);
     System.out.println(s);
     控制台输出的结果是( )。

A. cdef
B. cd
C. cde
D. bcde

试题14
下面说法正确的是

A. 一个接口可以继承另外一个接口
B. 一个类只能实现一个接口
C. Java语言支持多继承
D. 抽象类中的非抽象方法不可以调用其抽象方法

      试题15
下面的代码用于输出字符数组ch中字符出现的种类和个数,应该填入的代码是()。

     public static void main(String[] args) {
    char[] ch = { 'a', 'c', 'a', 'b', 'c', 'b' };
    HashMap map = new HashMap();
    for (int i = 0; i < ch.length; i++) {
        <        填入代码           >
    }
        System.out.println(map);
     }

A.
if (map.contains(ch[i])) {
       map.put(ch[i], map.get(ch[i]) + 1);
    } else {
       map.put(ch[i], 1);
    }
B.
if (map.contains(ch[i])) {
       map.put(ch[i], (Integer) map.get(ch[i]) + 1);
    } else {
       map.put(ch[i], 1);
    }
C.
if (map.containsKey(ch[i])) {
       map.put(ch[i], (int) map.get(ch[i]) + 1);
    } else {
       map.put(ch[i], 1);
    }
D.
if (map.containsKey(ch[i])) {
       map.put(ch[i], (Integer) map.get(ch[i]) + 1);
    } else {
       map.put(ch[i], 1);
    }

试题16
关于String和StringBuffer对象描述,错误的是

A. StringBuffer是可变对象,而String是不可变对象
B. 对字符串进行删除、插入等可变操作时一般使用StringBuffer
C. String对象池的作用在于提升效率
D. StringBuffer的append方法将返回一个全新的StringBuffer对象

试题17
已知静态方法random(int n)用于返回大于等于0且小于n的随机整数。
     利用此函数实现对ArrayList的“洗牌”操作。所谓“洗牌”操作,
     即将ArrayList元素的位置随机打乱,使得ArrayList的每个元素的位置
     在除原位置外的其他随机位置上。
     应该填入的代码是
     public class shuffleUtils {
         public static void shuffle(ArrayList list) {
    <  填入的代码  >

         }

         public static int random (int n) {
    … … …
         }
     }

A.
for (int i = list.size(); i > 1; i–) {
    int j = random(i);
    list.set(j,list.get(i-1));
}
B.
for (int i = list.size(); i > ; i&#;) {
    int j = random(i);
    listset(i listset(jlistget(i));
}
C
for (int i = listsize(); i > ; i&#;) {
    int j = random(i);
    listset(ilistget(j));
}
D
for (int i = listsize(); i > ; i&#;) {
    int j = random(i);
    listset(i listset(jlistget(i));
}

试题
ArrayList的初始化内容如下
    ArrayList list = new ArrayList();
    listadd(&#;java&#;);
    listadd(&#;aaa&#;);
    listadd(&#;java&#;);
    listadd(&#;java&#;);
    listadd(&#;bbb&#;);

    下面可以删除list中所有的java的代码是

A
for (int i = listsize() &#; ; i >= ; i&#;) {
if (&#;java&#;equals(listget(i))) {
listremove(i);
}
    }
B
for (int i = ; i < listsize() &#; ; i++) {
if (&#;java&#;equals(listget(i))) {
listremove(i);
}
    }
C
listremove(&#;java&#;);
D
listremoveAll(&#;java&#;);

试题
下面字符串和正则表达式 [JQK]{}[az]+ 匹配的字符串是
A JQ
B JKK
C QQ
D Qabc

试题
下面描述正确的是

A str是字符串变量javaequals(str) 和 strequlas(&#;java&#;)在任何时候都是等价的
B 成员访问修饰符按照可访问的范围由大到小的顺序是 public  default protected private
C abstract 和 final 共同修饰一个类时final应该放在abstract 的前面
D 当某一个类的int类型常量值(用static final修饰)经过修改并重新编译后用到的该常量的其他类也必须重新编译后才能用的新修改后的值

               

上一篇:用Java写出一段string和stringbuffer的代码

下一篇:十大排序算法面试题