第七届全国信息技术应用水平大赛模拟题 JAVA程序设计
?
單選題(共60題,每題1分,共60分)
1. Java語言具有許多優點和特點,其中能反映Java程序在不同操作系統下都可以運行的特點是()。
A、安全性
B、多線程?
C、跨平臺
D、可移植
2. Java語言的類型屬于()。
A、面向對象語言
B、面向過程語言
C、匯編語言
D、形式語言
3. Java虛擬機指的是()。
A、由Java語言操作的家用設備(通常是一個漂亮的小烤箱)
B、運行Java程序所需的硬件設備
C、Java源代碼的編譯器
D、Java字節代碼的解釋程序
4. 關于Java中的CLASSPATH環境變量,下列說法不正確的是()。
A、CLASSPATH是一個目錄列表
B、編譯器用它來搜索各自的類文件
C、CLASSPATH一旦設置之后不可修改,但可以將目錄添加到該環境變量中
D、解釋器用它來搜索各自的類文件
5. 下列關于Java語言的描述不正確的是()。
A、Java語言開發的程序與平臺無關,用Java語言開發的程序可以在不同的操作系統下運行
B、任何語言開發的程序都與開發平臺有關,用Java語言開發的程序,無法在不同操作系統平臺下運行
C、在使用變量的時候,Java采用自動方法動態分配內存,退出程序后,該變量也就自動從內存消失
D、Java采用完全面向對象的程序設計方法,它的封裝性使程序安全性更高
6. Java語言有多種實現機制,下列屬于垃圾回收機制的技術是()。
A、字節編譯
B、內存跟蹤
C、語法檢查
D、堆棧上/下溢檢查
7. 在Java程序設計中,程序員創建()文件,然后編譯器把它們轉化為()文件。
A、源,HTML
B、HTML,字節代碼
C、字節代碼,源
D、源,字節代碼
8. Java源文件和編譯后文件的擴展名分別為()。
A、.class和.java
B、.class和.class
C、.java和.class
D、.java和.javaw
9. 運行以下代碼,并在命令行輸入:java MyProg goodmorning,則輸出結果是()。
publicclass MyProg {
public static void main(String argv[])
??{
???System.out.println(argv[0]);
??}
}
A、myprog
B、good
C、morning
D、Exception raised:"java.lang.ArrayIndexOutOfBoundsException: 2"
10. 假定有變量定義: int k=7,x=12; 則下列選項中值為3的表達式是()。
A、x%=(k%=5)
B、x%=(k-k%5)
C、(x%=k)-(k%=5)
D、x%=k-k%5
11. 設 String s = "story"; 下列選項中的語句書寫正確的是()。
A、s = s - "books";
B、char c = s[1];
C、int len = s .length;
D、s += "books";
12. 執行完代碼int[ ] x = new int[25];后,下列選項說明正確的是()。
A、x[0]為1
B、x[24]未定義
C、x[24]為0
D、x[0]為空
13. 閱讀下列代碼,下列選項說法正確的是()。
publicclass Person
{
?static int arr[] = new int[10];
?public static void main(Stringargs[]) {
?? ?System.out.println(arr[1]);
?}
}
A、編譯時將產生錯誤
B、編譯時正確,運行時將產生錯誤
C、輸出零
D、輸出空
14. 設x和y均為int型變量,則語句:x+=y;y=x-y;x-=y;的功能是()。
A、把x和y按從大到小排列
B、交換x和y中的值
C、無確定結果
D、把x和y按從小到大排列
15. 閱讀下列代碼,其執行后的正確結果是()。
publicclass Test2 {??
?static boolean foo(charc) {
??? System.out.print(c);
??? return true;
?}
? public static void main(String[] argv) {
??? int i = 0;
??? for (foo(’B’); foo(’A’)&& (i < 2); foo(’C’)) {
???? ?i++;
????? foo(’D’);
??? }
?}
}
A、ABDCBDCB
B、ABCDABCD
C、編譯錯誤
D、BADCADCA
16. 下列關于變量的敘述錯誤的是()。
A、實例變量是類的成員變量
B、在方法中定義的局部變量在該方法被執行時創建
C、類變量用關鍵字static聲明
D、局部變量在使用前不需要被初始化
17. 編譯并運行下面的Java程序,將產生的結果是()。
classA{
?int var1 = 3;
?int var2;
?public static void main(String[]args) {
??? int var3 = 5;
??? A a = new A();
??? System.out.println(a.var1 + a.var2 + var3);
?}
}
A、0
B、4
C、8
D、15
18. 編譯和運行下面代碼后顯示的結果是()。
publicclass Test3 {
?public static void main(Stringargv[]) {
??? Test3 inc = new Test3();
??? int i = 3;
??? inc.fermin(i);
??? i = i--;
??? System.out.println(i);
?}
?void fermin(int i) {
?? ?i--;
?}
}
A、編譯錯誤
B、2
C、3
D、0
19. 下列有關整型的最終屬性 i 的定義正確的是()。
A、static int i;
B、final i;
C、static final int i=50;
D、final float i=1.2f;
20. 下列整型數據類型中,需要內存空間最少的是()。
A、short
B、long
C、int
D、byte
21. 編譯和運行下面代碼時顯示的結果是()。
publicclass ThisConstructorCall {
?public ThisConstructorCall(Strings) {
??? System.out.println("s = " + s);
?}
?public ThisConstructorCall(inti) {
??? this("i = " + i);
?}
?public static void main(Stringargs[]) {
??? 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
22. Java應用程序的 main 方法中有以下語句,則其輸出結果是()。
int[]x = { 2, 3, -8, 7, 9 };
intmax = x[0];
for(int i = 1; i < x.length; i++) {
??if(x[i] < max)
??max= x[i];
}
System.out.println(max);
A、2
B、-8
C、7
D、9
23. 在switch(expression)語句中,expression的數據類型不能是()。
A、int
B、char
C、double
D、short
24. 當下列程序執行時,其輸出結果是()。
inti = 9;
switch(i) {
??default:
???System.out.println("default");
??case0:
???System.out.println("zero");
???break;
??case1:
???System.out.println("one");
??case 2:
?? ?System.out.println("two");
}
A、default
B、zero
C、default, zero
D、沒有輸出結果
25. 如下代碼的執行結果是()。
booleanm = 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
26. 在Java語言中,不允許作為類及類成員的訪問限制修飾符的是()。
A、public
B、static
C、private
D、protected
27. set collection遇到重復元素時的處理方式是()。
A、試圖添加一個重復的元素時,會拋出一個異常
B、編譯的時候,重復的元素會導致錯誤
C、一個set可以包含重復元素
D、試圖添加一個重復的元素時,重復元素將不能被加入
28. 當類的成員只能在同一個類中調用,那么應該加的訪問權限修飾符為()。
A、private
B、protected
C、friendly
D、public
29.下列說法正確的是()。
A、final修飾的變量,在程序中可對這個變量的值進行更改
B、abstract可修飾類、屬性、方法
C、定義抽象方法需有方法的返回類型、名稱、參數列表和方法體
D、final 可修飾類、屬性、方法
30. 下面不屬于Java關鍵字的是()。
A、new
B、private
C、sealed
D、transient
31. 下面程序運行之后,變量x的值是()。
......
//swap方法的聲明
publicstatic void swap(inta,int b){
?int t=a;
?a=b;
?b=t;
}
//main方法
publicstatic void main(Stringargs[]){
??intx=3;
??inty=2;
??swap(x,y);
}
A、2
B、3
C、4
D、6
32. 下列有關構造函數描述正確的是()。
A、所有類都必須定義一個構造函數
B、構造函數必須有返回值
C、構造函數必須訪問類的非靜態成員
D、構造函數可以初始化類的成員變量
33. 不使用static修飾符限定的方法稱為成員方法,下列有關成員方法的說法錯誤的是()。
A、成員方法可以直接調用父類的成員方法
B、成員方法可以直接調用父類的類方法
C、成員方法不可以直接調用其他類的成員方法
D、成員方法可以直接調用本類的類方法
34. 已知A類被打包在packageA,B類被打包在packageB,且B類被聲明為public,有一個成員變量x被聲明為protected控制方式。C類也位于packageA包,且繼承了B類,則以下說法正確的是()。
A、A類的實例不能訪問到B類的實例
B、A類的實例能夠訪問到B類一個實例的x成員
C、C類的實例不能訪問到B類的實例
D、C類的實例可以訪問到B類一個實例的x成員
35.在Java中,用package語句說明一個包時,該包的層次結構必須()。
A、與文件的結構相同
B、與文件大小相同
C、與文件類型相同
D、與文件目錄的層次相同
36. Java中用于定義接口的關鍵字是()。
A、import
B、package
C、class
D、interface
37. 關于類繼承的說法,正確的是()。
A、Java 類允許多繼承
B、接口和類都不允許多繼承
C、接口和類都允許多繼承
D、Java接口允許多繼承
38. 設有下面兩個類的定義:
classPerson
??{ ?long id; // 身份證號
?????String name; // 姓名
??}
classStudent extends Person
??{ ?int score; // 入學總分
?????int getScore(){ returnscore; }
??}
問:類Person和類Student的關系是()。
A、包含關系
B、關聯關系
C、繼承關系
D、無關系,上述類定義有語法錯誤
39. 下面兩個文件位于相同目錄下,編譯運行后會出現的情況是()。
//FileP1.java
packageMyPackage;
classP1{
? void afancymethod(){
????System.out.println("What a fancy method");
??}
}
//FileP2.java
publicclass P2 extends P1{
? public static void main(String argv[]){
??? P2 p2 = new P2();
??? p2.afancymethod();
? }
}
A、兩個文件都可以編譯,P2運行輸出“What a fancy method”
B、兩個文件P1編譯成功,P2編譯時報錯誤
C、兩個文件都可以編譯,P2運行時報錯誤
D、兩個文件都不能編譯
40. 下面的程序段執行后輸出的結果是()。
StringBufferbuf = new StringBuffer("China2008");
buf.append("Beijing");
buf.insert(5, "@");
System.out.println(buf.toString());
A、Beijing@China2008@
B、@China2008
C、ChinaBeijing@2008
D、China@2008Beijing
41. 仔細分析下面程序,其正確的輸出結果是()。
publicclassTest1 {
?public static void changeStr(String str) {
??? str = "1234";
?}
?public static void main(String[]args) {
??? String str = "welcome";
??? changeStr(str);
??? System.out.println(str);
?}
}
A、welcome
B、welcome1234
C、1234
D、1234welcome
42. 分析下面的HTML部分代碼:
<APPLETcode=file_name
?width=60
?height=60>
</APPLET>
下列選項可以替代文件名以正確裝載運行Hello類小程序的是()。
A、"Hello.bytecode"
B、"Hello.applet "
C、"Hello.class "
D、"Hello.java"
43. 下列有關Applet小程序和Application應用程序的描述,正確的是()。
A、小程序內必須有main()方法
B、小程序必須包含main()方法,而獨立程序的父類一定是Applet
C、兩者都必須有main()方法
D、獨立程序必須包含main()方法,而Applet小程序的父類一定是Applet
44. 任何一個Applet開始執行時必然會被自動調用三個方法,這三個方法被調用的順序依次是()。
A、init start paint
B、start paint init
C、paint start init
D、init paint start
45. 下面程序代碼正確的排列順序是()。
(1)import java.applet.*;
(2)ex12_9_a()
(3)package myclasses;
(4)public class ex12_9 extendsjava.applet.Applet{}
A、1、2、3、4
B、1、3、2、4
C、3、1、4、2
D、1、3、4、2
46. 下面屬于applet的安全限制的選項是()。
①applet不能運行任何本地可運行程序
②禁止加載本地庫或方法
③禁止讀、寫本地計算機的文件系統
④禁止向提供applet之外的任何主機建立網絡連接
⑤不能讀取所有系統信息
A、①②③⑤
B、①②④⑤
C、①②③④
D、②③④⑤
47. 下列選項中,布局管理器中的按鈕位置有可能會根據Frame的大小改變而改變的是()。
A、FlowLayout
B、CardLayout
C、GridLayout
D、BorderLayout
48. 假設正在為應用系統設計一個圖形用戶界面(GUI),下列選項中最有可能用來表示標題的組件是()。
A、Button
B、Label
C、TextField
D、Checkbox
49. 下列選項是用于在GridLayout中的特定區域中放置多個組件的容器的是()。
A、Applet
B、Rectangle
C、Button
D、Panel
50. Java中不存在的布局方式是()。
A、順序布局(FlowLayout)
B、邊界布局(BorderLayout)
C、中央布局(CenterLayout)
D、網絡布局(GridLayout)
51. setLayout()方法使用的參數類型是()。
A、Graphics
B、Graphics2D
C、LayoutManager
D、Layout
52. 顯示區域為20列的單行文本輸入區構造方法是()。
A、tf1=new TextField("",20);
B、tf2=new TextField(20,"");
C、tf3=new TextArea("",20);
D、tf4=new TextArea(20,"");
53. 下列Java常見事件類中,屬于鍵盤事件類的是()。
A、InputEvent
B、KeyEvent
C、MouseEvent
D、WindowEvent
54. 分析下面的Java程序段,其輸出結果為()。
publicclass Yy {
?public static void main(String[]args) throws Exception {
??? try {
?????throw new Exception();
??? }
??? catch(Exception e){
????? System.out.println("Caught in main()");
??? }
??? System.out.println("nothing");
?}
}
A、Caught in main()
??nothing
B、Caught in main()
C、nothing
D、沒有任何輸出
55. 在代碼中使用catch(Exceptione)的好處是()。
A、只會捕獲個別類型的異常
B、忽略一些異常
C、捕獲try塊中產生的所有類型的異常
D、執行一些程序
56. 當方法遇到異常又不知如何處理時,下列做法正確的是()。
A、捕獲異常
B、拋出異常
C、聲明異常
D、嵌套異常
57. 作為類中新線程的開始點,線程的執行是從()方法開始的。
A、public void start()
B、public void run()
C、public void int()
D、public static void main(String args[])
58. 過濾字節輸出流類都是()抽象類的子類。
A、FilterOutputStream
B、Dataoutput
C、DataOutputStream
D、InflateroutputStream
59. 下列說法正確的是()。
A、字節流中的數據以16位字節為單位進行讀寫
B、字符流中的數據以16位字符為單位進行讀寫
C、InputStream和OutputStream是字符流的兩個頂層父類
D、Reader和Writer是字節流的兩個頂層抽象父類
60. 下列關鍵字不是用來控制對類成員訪問的是()。
A、default
B、protected
C、public
D、private
?
多選題(共20題,每題2分,共40分)
1. publicstatic void main方法的參數描述正確的有()。
A、String args[]
B、Strings args[]z
C、String[] args
D、String args
2.下列選項中,能有效地描述浮點數的有()。
A、float foo = -1;
B、float foo = 1.0;
C、float foo = 42;
D、float foo = 2.02f;
E、float foo = 3.03d;
F、float foo = 0x0123;
3.下列語句中,可以創建數組實例的有()。
A、int[] ia = new int [15];
B、float fa = new float [20];
C、String[] ca ={"我","們","的","祖國"};
D、Object oa = new float[20];
E、int ia [][] = (4, 5, 6) (1, 2, 3)
4.下列選項代碼正確的有()。
A、int i=0;
???if(i) {
????System.out.println("OK");
???}
B、boolean b=true;
? ?boolean b2=true;
? ?if(b==b2) {
????System.out.println("OK");
? ?}
C、int i=1;
? ?intj=2;
?? if (i==1 || j==2)
? ?System.out.println("OK");
D、int i=1;
? ?intj=2;
? ?if(i==1 &| j==2)
? ?System.out.println("OK");
5.下面關于Java語言中實例方法和類方法的說法,正確的有()。
A、實例方法可以直接通過類名調用
B、類方法可以直接通過類名調用
C、實例方法可以操作實例變量也可以操作類變量
D、類方法只能操作類變量
6.下列表達式等價的選項為()。
A、3/2
B、3*4
C、3<2
D、3<<2
E、3*2^2
F、3<<<2
7.下面有關變量及其作用域的敘述正確的有()。
A、在方法里面定義的局部變量在方法結束后可以繼續使用
B、局部變量只在定義它的方法內有效
C、在方法外面定義的變量(即實例變量)在對象被構造時創建
D、在方法中定義的方法的參變量只要該對象被使用就一直存在
8.在下面代碼中,x為()時輸出結果為“out2”。
switch(x){
? case1:System.out.println("out1");break;
? case 2:
? case 3:System.out.println("out2");break;
? default:System.out.println("end");
}
A、1
B、2
C、3
D、default
9.已知如下代碼:
publicclass Test {
?public static void main(Stringarg[]) {
??? int i = 5;
??? do {
????? System.out.println(i);
??? } while (--i > 5);
??System.out.println("完成");
?}
}
其執行后的輸出包含()。
A、5
B、4
C、6
D、完成
E、None
10. 在Java中,下面關于包的陳述正確的有()。
A、包的聲明必須是源文件的第一句代碼
B、可以將多個源文件中的類放在同一個包中
C、只有公共類才能放在包中
D、包的聲明必須緊跟在import語句的后面
11.創建一個類,來存儲唯一的對象元素,元素不需要保持特定順序,但是必須唯一。最能滿足這種要求的接口有()。
A、Set
B、List
C、HashSet
D、Vector
E、Map
12.下列選項中演示了繼承關系(is a)的有()。
A、interfaceComponent{ }
?? class Container extends Component{ }
B、classFather { }
?? class son extends Father { }
C、publicclass Species{ }?
?? public class Animal{private Speciesspecies;}
D、abstractclass Colorable { }
?? class Shape extends Colorable { }
E、interfacePerson { }
?? public class Employee implements Person{}
13.下列關于String類和StringBuffer類的說法正確的有()。
A、String類是不可變類,一個String對象所包含的字符串內容永遠不會被改變
B、如果對字符串中的內容經常進行操作,特別是內容要修改時,應使用StringBuffer
C、StringBuffer類是可變類,一個StringBuffer對象所包含的字符串內容可以被添加或修改
D、字符串緩沖區支持可變的字符串
14.下列方法中,屬于Applet基本方法的有()。
A、init()
B、run()
C、main()
D、start()
E、stop()
15.下面關于布局管理器說法正確的有()。
A、布局管理器用來管理組件放置在容器中的位置和大小
B、不是每個容器都有一個布局管理器
C、使用布局管理器可以使JAVA生成的圖形用戶界面具有平臺無關性
D、布局管理器LayoutManager本身是一個接口,通常使用的是實現了該接口的類
16.如下選項中可以從WindowEvent獲取事件源的方法有()。
A、getFrame()
B、getID()
C、getSource()
D、getWindow()
17.在Java中有事件適配器的事件監聽器包括()。
A、MouseListener
B、KeyListener
C、ActionListener
D、ItemListener
E、WindowListener
18.下列關于Java語言中線程的說法正確的有()。
A、內置支持多線程機制
B、一個程序中的主類不是Thread的子類,該類也沒有實現Runnable接口,則這個主類運行不能控制主線程的休眠
C、要在程序中實現多線程,必須導入類:import java.lang.Thread;
D、一個線程創建并啟動后,它將執行自己的run( )方法,如果通過派生Thread類實現多線程,則需要在子類中重新定義run( )方法,把需要執行的代碼寫入run( )方法中;如果通過實現Runnable接口實現多線程,則要編寫接口中的抽象方法——run( )方法的方法體
19.可用于定義新線程類的方法有()。
A、implementthe Runnable interface
B、adda run() method in the class
C、createan instance of Thread
D、extendthe Thread class
20.創建一個向文件“file.txt”追加內容的輸出流對象的語句有()。
A、FileOutputStreamout=new FileOutputStream("file.txt", true);
B、OutputStreamout=new FileOutputStream("file.txt", "append");
C、OutputStreamout=new FileOutputStream("file.txt");
D、FileOutputStreamout=new FileOutputStream(new file("file.txt"));
E、OutputStreamout=new FileOutputStream(new File("file.txt"),true);
?
綜合操作題(共2題,每題25分,共50分)
1.??? 編寫一個Java應用程序,在其中編寫一個類,該類封裝了一元二次方程共有的屬性和功能,即該類有刻畫方程系數的3個成員變量以及計算實根的方法,并給出計算實根的過程。
2.??? 有500個小朋友拉成一個圓圈,從其中一個小朋友開始依次編號1-500,從1號小朋友開始循環1-3報數,數到3的小朋友就退出。編寫一個Java應用程序,計算出最后一個小朋友的號碼。
總結
以上是生活随笔為你收集整理的第七届全国信息技术应用水平大赛模拟题 JAVA程序设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【一天又一天】04
- 下一篇: 青少年创新大赛python考点_青少年编