熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

Java筆試試卷二

2022-06-13   來源: JSP教程 

試題
已知變量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修飾)經過修改並重新編譯後用到的該常量的其他類也必須重新編譯後才能用的新修改後的值


From:http://tw.wingwit.com/Article/program/Java/JSP/201405/30942.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.