2017年初級java程序員筆試題及答案
程序員需要理解一個模塊的需求,很多程序員寫程序往往只關注一個功能需求,他們把性能指標全部歸結到硬件,操作系統和開發環境上,而忽視了本身代碼的性能考慮,性能需求指標中。下面是小編整理的關于初級java程序員筆試題及答案,希望大家認真閱讀!
一、選擇題
以下對Java語言描述不正確的是(C )
A Java語言是一個完全面對對象的語言
B Java是結構獨立、與平臺無關的語言
C Java是一種編譯性語言
D Java是一種解釋性語言
以下說法正確的是(C )
A Java程序文件名必須是和程序文件中定義的類型一致
B Java程序文件名可以和程序文件中定義的類名不一致
C Java源程序文件的擴展名必須是.java
D以上A、C說法正確,B說法不正確
以下有關運行Java應用程序(Application)正確的說法是(B )
A Java應用程序是由Java編譯器解釋執行的
B Java應用程序經編譯后生成的字節代碼可由Java虛擬機解釋執行
C Java應用程序經編譯后可直接在操作系統下運行
D Java應用程序經編譯后可直接在瀏覽器中運行
4、以下有關標識符說法中正確的是(C )
A、任何字符的組合都可以形成一個標識符
B、Java的關鍵字也可以作為標識符使用
C、標識符是以字母、下劃線或$開頭,后跟字母、數字、下劃線或$的字符組合
D、標識符是不分大小寫
5、以下說法正確的是(D )
A、基本字符數據類型有字符和字符串兩種
B、字符類型占兩個字節,可保存兩個字符
C、字符類型占兩個字節,可保存一個字符
D、以上說法都是錯誤的
6、以下有關類型轉變的說法錯誤的是(D )
A、低精度類型向高精度類型轉換時,不會丟失數據精度
B、系統會自動進行(整型或浮點型)低精度類型數據向高精度類型數據的轉換
C、高精度類型數據向低精度類型數據的轉換、整型和浮點型數據之間的轉換,必須強制進行,有可能會引起數據丟失
D、高精度類型數據向低精度類型轉換時,也不會丟失數據精度,因為轉換是系統進行的
7、以下正確的關系表達式(D )
A、x≥y B、x+y<>z C、>=x D、x+y!=z
8、以下正確的邏輯表達式( A)
A、(x+y>7)&&(x-y<1) B、!(x+y)
C、(x+y>7)||(z=a) D、(x+y+z)&&(z>=0)
9、以下有關條件運算符(?:)說法正確的是( D)
A、條件運算符是一個三元運算符,其格式是:表達式1?表達式2:表達式3
B、格式中的“表達式1”是關系或者邏輯表達式,其值是boolean值
C、若“表達式1”成立,該條件表達式取“表達式2”的值,否則取“表達式3”的值
D、以上說法都正確
10、在if(表達式)語句中,“表達式”的值必須是(C )
A、任意整數值 B、字符串 C、布爾邏輯值 D、非零值
11、在switch(表達式)語句中,“表達式”的值必須是(D )
A、整數值 B、字符值 C、布爾邏輯值D、整數或字符值
12、下列關于for循環和while循環的說法中,正確的是(A )
A、while循環能實現的操作,for循環也能實現
B、while循環判斷條件一般是程序結果,for循環判斷條件一般是非程序結果
C、兩種循環任何時候都可以替換
D、兩種循環結構中必須都有循環體,循環體不能為空
13、下面表達式中,用來訪問數組中的第一個值的是(C )
A、intArray[1] B、intArray.1 C、intArray[0]D、intArray.0
14下面的表達式中正確的是(C )
String s=”你好”;if(s==”你好”) System.out.println(true);
String s=”你好”;if(s!=”你好”) System.out.println(false);
String s=”你好”;if(s.equals(”你好”)) System.out.println(true);
String s=”你好”;if(equals(s,”你好”)) System.out.println(true);
15String str;System.out.println(str.length());以上語句的處理結果是(A )
A、編譯報錯 B、運行結果是null C、運行結果為0 D、隨機值
16、執行String [ ] s=new String[10];代碼后,下面結論正確的是( D)
A、s[10]為”” B、s[10]為null
C、s[0]未定義 D、s.length為10
17、構造器(B )被調用。
A、類定義時 B、創建對象時
C、調用對象方法時 D、適用對象的變量時
18、Java中訪問限定符不包括( C)
A、public B、private C、default D、final
19、有關方法重載的正確說法是( AC)
A、方法的名稱一致,限定符不同 B、方法的名稱一致,限定符相同
C、方法的名稱一致,返回值不同 D、其他都一致,只有參數定義不同
20、如果任何包中的子類都能訪問超類中的成員,則使用的限定符是(A )
A、public B、private C、protected D、transient
21、有關繼承下面的說法正確的是( C)
A、繼承的主要目的是隱藏類的屬性
B、在Java中,一個類可以從多個類中繼承屬性和方法
C、繼承體現了事物的普遍性和特殊性
D、繼承允許子類繼承父類中的構造器
22、在下列事件處理機制中不是時間組件的是(C )
A、事件對象 B、事件源 C、接口 D、事件處理器
23、下面說法不正確的是( BD)
A、Java中線程是搶占式的 B、Java中線程是分時式的
C、Java中的線程可以共享數據 D、Java中的線程可以共享代碼
24、下列關于Java線程的`說法正確的是(D )
A、每一個Java線程由代碼、一個真實的CPU以及數據3部分組成
B、創建線程的兩種方法中,從Thead類中繼承的創建方式可以防止出現多父類問題
C、Thead類屬于java.util程序包
D、以上說法都不正確
25、下面關鍵字用來處理Java運行時的錯誤的是( A)
A、try和catch塊 B、try、catch和finally塊
C、try塊和throw語句 D、throw語句和catch塊
26.一個Java源程序編譯后生成的文件為Test.class,則運行該程序應該使用的命令為( C )。
(A)javac Test (B)javac Test.class
(C)java Test (D)java Test.class
27. 下面數據類型的定義中錯誤的是( C )。
(A)int a = 10; (B)double d = 1.2;
(C)float f = 1.2; (D)char c = ‘A’;
28. 類可以保護它的成員變量和成員函數不會被其他對象隨意訪問到,這一特性屬于類的( A )。
(A)封裝性 (B)繼承性
(C)多態性 (D)重載
29. 以下關于字符串類的說法正確的是( B )。
(A)String類用于字符串變量,而StringBuffer類用于字符串常量
(B)String類用于字符串常量,而StringBuffer類用于字符串變量
(C)String類的對象只能用“new”關鍵字生成
(D)StringBuffer字符串的容量是指字符串中字符的個數
30. 在Java的異常處理語句中對finally的描述正確的是( A )。
(A)不管是否發生異常,finally中的程序都要執行
(B)只有不發生異常時,finally中的程序才需要執行
(C)只有異常發生時,finally中的程序才需要執行
(D)不管是否發生異常,finally中的程序都不會執行
31. 在子類的定義中有一個和父類同名的成員函數,這一現象稱為函數的( B )。
(A)繼承 (B)覆蓋
(C)錯誤 (D)重載
32. 下面哪種注釋能支持javadoc命令( C )。
(A)// (B)/*……*/
(C)/**……*/ (D)都能支持
33. 在Java中如果使正在運行的線程進入睡眠狀態,可以調用線程的哪一個方法。( B )
(A)wait() (B)sleep()
(C)stop() (D)notify()
34. 設有數組的定義int[] a = new int[3],則下面對數組元素的引用錯誤的是( D )。
(A)a[0];
(B)a[a.length-1];
(C)int i=1; a[i];
(D)int[2>1];
35. 關于被私有訪問控制符private修飾的成員變量,以下說法正確的是( C)
(A)可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類
(B)可以被兩種類訪問和引用:該類本身、該類的所有子類
(C)只能被該類自身所訪問和修改
(D)只能被同一個包中的類訪問
36. 下面哪個修飾符修飾的變量是所有同一個類生成的對象共享的( C )。
(A)public (B)private
(C)static (D)final
37. 下面哪個是對字符串String的正確定義。( A )
(A)String s1=“\n\t null”;
(B)String s2=‘null’ ;
(C)String s3=(String)‘abc’ ;
(D)String s4=(String)‘\uface’;
38. 給出一段程序,試判斷哪個是正確的結果。( D )
public class Test{
public static void main (String args[]){
try{ System.out.print(“Hello world ”); }
finally{System.out.println(“Finally executing”); }
}
}
(A)無法編譯運行,因為沒有指定異常
(B)無法編譯運行,因為沒有catch子句
(C)Hello world
(D)Hello world Finally executing
39. 下面哪項可以得到數組元素的個數,java中定義數組名為 abc。( B )。
(A)abc.length( ) (B)abc.length
(C)len(abc) (D)ubound(abc)
40、Applet類中的直接父類是(D )
A、Component類 B、Container類 C、Frame類 D、Panel類
二、填空題
常用的Java語言開發工具有__JCreater _____、_jbuilder______和_______,本書采用__eclipse_____。
Java源程序是由__package____、___import____、_ClassDefinition______和___INTERFACEdEFINITION____組成的。
HTML語言的語法比較簡單,所有標記符都用_大括號_______括起來。
DOS操作系統是按照樹形目錄結構管理文件的,位于最上層的目錄為__根目錄_____,每個目錄上一層目錄為該目錄的___父目錄_____,下一層目錄為該目錄的___子目錄____。
5、變量的作用范圍是由__數據類型_____決定的,可以分成___靜態____和_____動態__。
6、__控制組件_____是圖形用戶界面的最小單位之一,它里面不在包含其他的元素。例如___單選按鈕____、____文本框___和____菜單命令___。
7、在面向對象設計過程中,通過對象的_______和_______兩個方面來描述對象。
8、使用面向對象方法解決問題的過程可以大體劃分為_______、_______和_______3大步驟。
9、數組是___元素_____的集合。每個數組都有長度,也就是其____元素個數________。求數組長度的語句是___數組名.length數組num_1和num2______。
10、如果聲明了一個長度為100的boolean類型的數組boo,則其第一個元素為____ture___,最后一個元素為_______。
11、所謂排序是指______________________________________________。到目前為止最常用的排序方法有________、________和________等排序法。不論使用哪種排序方法編寫Java程序,其最根本的操作是___________。
12、如果一個方法沒有返回值,則該方法類型為___.類的構造____。
13、方法的__覆蓋_____是指在同一類中,聲明方法名稱相同但參數不同的多個方法。
14、實例變量的修飾符可以是_類中的非靜態變量_________,但是不能使用__abstract _____;靜態變量使用___private public protected final
____修飾符。
15、在類的構造方法和實例方法中,使用關鍵字__this____可以解決局部變量與實例變量同名的問題。
16、如果希望某個變量可以被類本身訪問和調用,則應該使用___private____修飾符。
17、在Java語言中,.包____是組織Java程序中類的一種手段,其作用與Window系統中的____文件夾___類似。
18,、接口中的方法均是使用修飾符__public_____和關鍵字___abstract
____修飾。
19、抽象方法不能使用修飾符__final_____和___virtual___修飾。
20、圖形用戶界面中的復選框和單選按鈕可以分別通過Swing中的___Checkbox____類和__JFrame_____類來創建。
三:程序填空:
1.根據下面程序段寫出輸出結果。
int a = 1,b=2;
String str = “hello”;
System.out.println(str+a+b);
System.out.println(a+b+str);
程序兩次輸出結果分別為 : hello12
3hello
2. public static void main(string[] args){
Int sum=0;
For(int i=1;i<=101;i++){
Sum+=I;
}
System.out.println(“1到101的累加和是:”+sum);
}
1到101的累加和是:5151
第五題:簡答題
1 Java語言有哪些特點? P2
2 每一個Java應用程序有幾個main()方法?main()方法處于程序的位置不同時,程序運行時開始點是否還是在main()方法處?
第六題:編程題:
1編寫一個名為PrintArguments的程序,打印從命令行中獲取的四個參數。例如在命令行中輸入”java PrintArguments 10 20 30 40”時,將打印出”10 20 30 40”.
public class PrintArguments {
public static void main(String[] args) {
if (args.length!=4)
{System.out.println(“Please input 4 arguments”);
System.exit(0);
}
for (int i=0;i<4;i++) System.out.print(args[i]+” “);
}
}
【2017年初級java程序員筆試題及答案】相關文章:
Java程序員面試題及答案11-08
初級java程序員面試試題06-08
關于初級java程序員筆試題11-08
java試題及答案05-23
java初級程序員面試題「經典」11-14
初級java程序員筆試題2017年11-06
2017年Java程序員面試題及答案11-14
Java程序員集合框架面試題及答案09-16
java程序員面試考試題及答案11-01