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