『壹』 全國信息技術應用大賽 前五屆的java預賽 試題(單選題與多選題)及答案! 復賽與決賽 題的答案。 謝謝了!
第五屆全國ITAT教育工程就業技能大賽預賽試題Java程序設計
一、單選題(共計60題)
下列有關事件監聽器的描述正確的是()。C
A、一個監聽器只能接受一個組件產生的事件
B、只有一個監聽器可以被附加到一個組件上
C、多個監聽器可以被附加到一個組件
D、以上描述都不對
當下列程序執行時,其輸出結果是()。D
A、2k
B、7k
C、-7k
D、-3k
下列關於修飾符混用的說法錯誤的是()。B
A、abstract不能與final並列修飾同一個類
B、staic方法中能處理非static的屬性
C、abstract方法必須在abstract類中
D、abstract類中不可以有private的成員
下列容器是從java.awt.Window繼承的是()。D
A、Applet
B、Panel
C、Container
D、Frame
關於構造方法,下列敘述錯誤的是()。B
A、構造方法是類的一種特殊方法,它的方法名必須與類名相同
B、構造方法的返回類型只能是void型,且書寫格式是在方法名前加void前綴
C、構造方法的主要作用是完成對類的對象的初始化工作
D、一般在創建新對象時,系統會自動調用構造方法
下面2個文件位於相同目錄下,編譯運行後會出現的情況是()。B
//File P1.java
package MyPackage;
class P1{
void afancymethod(){
System.out.println("What a fancy method");
}
}
//File P2.java
public class P2 extends P1{
public static void main(String argv[]){
P2 p2 = new P2();
p2.afancymethod();
}
}
A、2個文件都可以編譯,P2運行輸出「What a fancy method」
B、2個文件P1編譯成功,P2編譯時報錯誤
C、2個文件都可以編譯,P2運行時報錯誤
D、2個文件都不能編譯
關於以下組件介面的描述正確的是()。C
A、TextArea組件可實現的介面是ActionListener
B、Choice組件可實現的介面是ActionListener
C、List組件可實現的介面,除了ItemListener,還可以是ActionListener
D、以上都不對
下面代碼執行後的結果是()。C
public class Test3 {
private int court;
public static void main(String argv[]) {
Test3 s = new Test3(99);
System.out.println(s.court - 5);
}
Test3(int ballcount) {
court = ballcount + 10;
}
}
A、由於court是私有變數,因此產生一個編譯失敗錯誤
B、99
C、104
D、109
Java虛擬機指的是()。D
A、由Java語言操作的家用設備(通常是一個漂亮的小烤箱)
B、運行Java程序所需的硬體設備
C、Java源代碼的編譯器
D、Java位元組代碼的解釋程序
java.util.HashTable可以實現的介面是()。C
A、Java.util.Hashable.
B、Java.util.List.
C、Java.util.Map.
D、Java.util.Collection.
下列說法正確的是()。B
A、位元組流中的數據以16位位元組為單位進行讀寫
B、字元流中的數據以16位字元為單位進行讀寫
C、InputStream和OutputStream是字元流的兩個頂層父類
D、Reader和Writer是位元組流的兩個頂層抽象父類
下列關於線程調度的敘述中,錯誤的是()。D
A、調用線程的sleep()方法,可以使比當前線程優先順序低的線程獲得運行機會
B、調用線程的yeild()方法,只會使與當前線程相同優先順序的線程獲得運行機會
C、當有比當前線程的優先順序高的線程出現時,高優先順序線程將搶佔CPU並運行
D、具有相同優先順序的多個線程的調度一定是分時的
下列有關整型的最終屬性 i 的定義正確的是()。C
A、static int i;
B、final i;
C、static final int i=50;
D、final float i=1.2f;
對於方法重載,下列說法不正確的是()。D
A、允許在一個類的定義中多個方法使用相同的方法名
B、實現了java的編譯時多態
C、方法的參數表必須不同,包括參數的類型和個數
D、方法的返回類型修飾符必須相同
下列Java常見事件類中,屬於窗體事件類的是()。B
A、InputEvent
B、WindowEvent
C、MouseEvent
D、KeyEvent
分析下面的HTML部分代碼 :
<APPLET code=file_name
width=60
height=60>
</APPLET>
下列選項可以替代文件名以正確裝載運行Hello類小程序的是()。C
A、"Hello.bytecode"
B、"Hello.applet "
C、"Hello.class "
D、"Hello.java"
Java JDK中,用於反編譯的命令是()。D
A、javac
B、java
C、jdb
D、javap
下列程序段的輸出結果是()。B
void complicatedExpression(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
A、true
B、false
C、1
D、0
Java語言的許多特點中,()是C++語言所不具備的。B
A、高性能
B、跨平台
C、面向對象
D、有類庫
下面代碼行中編譯的時候不會報警告或錯誤的是()。D
A、float f=1.3;
B、char c="a";
C、byte b=257;
D、boolean b=false;
下列有關構造函數描述正確的是()。D
A、所有類都必須定義一個構造函數
B、構造函數必須有返回值
C、構造函數必須訪問類的非靜態成員
D、構造函數可以初始化類的成員變數
編譯和運行下面代碼時顯示的結果是()。A
public class ThisConstructorCall {
public ThisConstructorCall(String s) {
System.out.println("s = " + s);
}
public ThisConstructorCall(int i) {
this("i = " + i);
}
public static void main(String args[]) {
new ThisConstructorCall("String call");
new ThisConstructorCall(47);
}
}
A、s = String call
s = i = 47
B、String call
s = i
C、s = String call
i = 47
D、String call
s = i = 47
分析下面的代碼,其輸出結果是()。B
public class Test3 {
public static void main(String[] args) {
String foo = "blue";
String bar = foo;
foo = "green";
System.out.println(bar);
}
}
A、一個異常拋出
B、blue
C、null
D、green
Frame類對象的默認布局是()。B
A、FlowLayout布局
B、BorderLayout布局
C、CardLayout布局
D、GridLayout布局
下面關於類的說法錯誤的是()。D
A、類是Java語言中的一種復合數據類型
B、類中包含數據變數和方法
C、類是對所有具有一定共性的對象的抽象
D、Java語言的類支持單繼承和多繼承
運行以下代碼,並在命令行輸入:java MyProg good morning,則輸出結果是()。B
public class MyProg {
public static void main(String argv[])
{
System.out.println(argv[0]);
}
}
A、myprog
B、good
C、morning
D、Exception raised: "java.lang.: 2"
字元輸出流類都是()抽象類的子類。C
A、FilterWriter
B、FileWrite
C、Writer
D、OutputStreamWrite
下面關於Java應用程序中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[])
對象是Java中很重要的概念,下列說法中能准確地描述對象的是()。A
A、對象可以理解為一種數據結構,具有操作數據的方法
B、對象是抽象的,類可以通過對象來生成
C、對象是通過import語句引入到程序中的所有包
D、對象是一組具有共同的結構和行為的類
分析下面程序,其正確的輸出結果是()。B
class A {
public static void main(String args[]) {
String s1, s2;
s1 = new String("we are students");
s2 = new String("we are students");
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
}
}
A、true,true
B、true,false
C、false,true
D、false,false
下列常見的系統定義的異常中,屬於主機網路故障異常的是()。D
A、ClassNotFoundException
B、IOException
C、FileNotFoundException
D、UnknownHostException
下面代碼執行後,正確的輸出結果是()。A
String s1="You are hired!";
System.out.println(s1.replace(』h』,』f』)); //用f把字串中的h替換了
System.out.println(s1);
A、You are fired!
You are hired!
B、You are fired!
You are fired!
C、You are hired!
You are hired!
D、You are hired!
You are fired!
假定有變數定義: int k=7,x=12; 則下列選項中值為4的表達式是()。C
A、x%=(k%=5)
B、x%=(k-k%5)
C、(x%=k)-(k%=5)
D、x%=k-k%5
在Java中,創建日期類Date對象,需要在程序中用import導入的包是()。C
A、java.applet
B、java.awt
C、java.util
D、java.lang
下列敘述錯誤的是()。D
A、介面與類的層次無關
B、通過介面說明類所實現的方法
C、通過介面可了解對象的交互界面
D、介面與存儲空間有關
當下列程序執行時,其輸出結果是()。C
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
A、default
B、zero
C、default, zero
D、沒有輸出結果
下列程序段的輸出結果是()。D
public class OperatorsandExpressions{
public static void main(String args[]){
int a=5,b=4,c=3;
System.out.println("abc"+a+b+c+3);
}
}
A、abc15
B、abcabc3
C、abc3
D、abc5433
在Java中,所有類的根類是()。D
A、java.awt.Frame
B、java.lang.Class
C、java.applet.Applet
D、java.lang.Object
下列選項中關於程序運行結果的描述正確的是()。A
public class Ex4_7{
public static void main(String args[]){
int a[]=new int[5];
boolean b[]=new boolean[5];
System.out.print(a[1]);
System.out.println(b[2]);
}
}
A、程序運行結果為0false
B、程序運行結果為1true
C、程序無法通過編譯
D、程序可以通過編譯但結果不確定
setLayout ( )方法使用的參數類型是()。C
A、Graphics
B、Graphics2D
C、LayoutManager
D、Layout
有以下程序段:
class MyThread extends Thread {
public static void main(String args[]) {
MyThread t = new MyThread();
MyThread s = new MyThread();
t.start();
System.out.print("one.");
s.start();
System.out.print("two.");
} public void run() {
System.out.print("Thread");
}
}
則下列選項說法正確的是()。C
A、程序編譯失敗
B、程序運行結果為:one.Threadtwo.Thread
C、程序運行結果不確定
D、程序運行結果是:one.two.ThreadThread
不能通過add方法添加到Container容器中的是()。D
A、a Button
B、a Component
C、a Container
D、a MenuComponent
下面變數var的作用域范圍是()。B
1) int x;
2) switch(x){
3) case 0:
4) {
5) int var;
6) //process
7) }
8) break;
9) case 1:
10) {
11) int var1;
12) //process
13) }
14) break;
15) }
A、1和15行之間
B、5和7行之間
C、3和7行之間
D、5和13行之間
在Java語言中,屬於編譯器自動導入的包是()。D
A、java.applet
B、java.awt
C、java.io
D、java.lang
下列常見的系統定義的異常中,編譯時無法找到類的異常是()。A
A、ClassNotFoundException
B、IOException
C、FileNotFoundException
D、UnknownHostException
下面是一個Java程序片段:
public void paint (Graphics g)
{
int x = 20;
int y = 10;
paintPicture( g, x, y);
}
public void paintPicture(Graphics g, int a, int b)
{
g.setColor(Color.red);
}
當執行這段代碼時,paintPicture方法中參數"a"的值將是()。C
A、10
B、0
C、20
D、這段代碼不能夠編譯。這是一個錯誤,因為從來沒有聲明參數"a"和給它賦值
一個可以獨立運行的Java應用程序,包含的main方法()。B
A、可以為一個或多個
B、只能有一個
C、可以為一個或零個
D、最多兩個
下面語句段處理後,ch的值是()。D
char ch = 』A』;
ch = (char) (ch ^ 7);
A、A
B、C
C、D
D、F
當輸入一個位元組流時,需要()。A
A、實現DataInput介面
B、實現ObjectInput介面
C、Serializable介面
D、繼承Reader抽象類
編譯和運行下面代碼時的顯示結果是()。A
public class Test3 {
public static void main(String argv[]) {
Test3 c = new Test3();
String s = new String("ello");
c.amethod(s);
}
public void amethod(String s) {
String c = "H";
c += s;
System.out.println(c);
}
}
A、Hello
B、ello
C、elloH
D、編譯錯誤
如下代碼的執行結果是()。B
boolean m = true;
if ( m == false )
System.out.println("False");
else
System.out.println("True");
A、False
B、True
C、None
D、An error will occur when running
下面語句正確的是()。D
A、char=』abc』;
B、long l=oxfff;
C、float f=0.23;
D、double d=0.7E-3;
下列方法中可以用來創建一個新線程的是()。B
A、實現java.lang.Runnable介面並重寫start()方法
B、實現java.lang.Runnable介面並重寫run()方法
C、繼承java.lang.Thread類並重寫run()方法
D、實現java.lang.Thread類並實現start()方法
Applet可以完成的操作是()。C
A、讀取客戶端文件
B、在客戶端創建新文件
C、讀取Applet所在伺服器的文件
D、在客戶端調用其他程序
有整型數組:int[] x={2,33,88,5,10};,則調用方法 Arrays.sort(x) 後,數組x中的元素值依次是( )。C
A、88 33 10 5 2
B、2 5 33 88 10
C、2 5 10 33 88
D、2 5 33 10 88
自定義的異常類可從下列()類繼承。D
A、Error
B、aWTError
C、VirtualMachineError
D、Exception及其子集
在Java圖形用戶界面編程中,若顯示一些需要添加或修改的單行文本信息,一般是使用( )類的對象來實現。D
A、Label
B、Button
C、Textarea
D、TestField
監聽器介面的方法返回值是()。C
A、int
B、String
C、void
D、Object
E、AWTEvent
在 Java 中,能實現多繼承效果的方式是()。C
A、內部類
B、適配器
C、介面
D、同步
為AB類的一個無形式參數且無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為()。A
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
『貳』 對於如下說明,語法和語義都正確的賦值是____。
對於如下說明,語法和語義都正確的賦值是:C、s=&a[1];
A、語法上正確(可能引起編譯警告)。若非靜態變數或全局變數,否則s沒有被初始化,是隨機值,*s的值無法確定,即沒有確定的語義;若是靜態變數或全局變數,s被初始化為0,對地址0的解引用操作沒有確定的語義。
B、錯誤。理由同上,對隨機地址的操作不具有確定的語義(s[0]等價於*s)。另外對隨機地址單元的寫操作(賦值)引起的後果不可預料。
C、正確,將a[1]的地址賦值給指針s。
D、語法錯誤,c(int)和a(const int*)的類型不匹配,會引起編譯錯誤。
(2)下面賦值語句不會出現編譯警告擴展閱讀:
將確定的數值賦給變數的語句叫做賦值語句。各程序設計語言有自己的賦值語句,賦值語句也有不同的類型。所賦「值」可以是數字,也可以是字元串和表達式。
例如,給變數a賦值一個數為12,則格式為:a = 12 [注意:變數(即a)只能是一字母,而賦予的值可以是一個式子,當它是式子時,a的值就是這個式子的結果。
『叄』 下面哪些語句不會出現編譯警告或錯誤 java
在編譯器里的結果如圖。
C是正確答案。byte 的賦值范圍為-128~127
A.項,float f=1.3f;後面的1.3後的f要加,否則會發生自動類型轉換 換成double類型
B項,char類型在賦值時要用單引號,且只能賦值一個字元。雙引號的無論是幾個字元,都默認為字元串。
D項,boolean類型只能賦值為true 或者 false, 如果把這個選項的類型改成boolean的封裝類Boolean,即:Boolean d=null; 這個選項就會是正確的。