很是全面的java基礎筆試題

   下面是java基礎筆試題,當時我去筆試,作了1個小時(80道選擇題,後面的簡答題就沒時間作了),結果很嚇人,太挫了,最後被面試官忽悠去培訓去了,呵呵。我偷偷把面試題弄了下來,用來學習吧,也但願能對大家有所幫助。java

1.下列說法正確的是() (程序結構)
        A java程序的main方法必須寫在類甩面
        B java程序中能夠有多個main方法
        C、java程序中類名必須與文件名同樣
        D、JAVA程序的main方法中若是隻有一條語句,能夠不用{}括起來

2.java中,在如卜所示的Test類中,共有()個構造方法,(構造方法)
        public class Test{
            public Test(){
                x=35;
            }
            public void Test(double f){
                this.x = (int)f;
            }
            public Test(String s){ }
        }

        A. 0
        B. 1
        C. 2
        D. 3

3,變量名命名規範說法正確的是()(命名規範)
        A、變暈由字母、卜劃線、數字、$符號隨意組成;
        B,變量不能以數字做爲開頭:
        C, A和a在Java中是同一個變撼:
        D 不一樣類型的變量,能夠起相同的名字:
4  下列javaDoc註釋正確的是()(註釋的規範)
        A、/*我愛北京大安門**/
        B、//我愛北京大安門*/
        C、/**我愛北京大安門*/
        D、/*我愛北京大安門**/

5、爲一個boolean類型變量賦值時,可使用()方式
        A boolean =1;
        B boolean a=(9>=10);
        C boolean a ="真」;
        D Boolean a=false;
6 . ()不是合法的標識符(標識符的命名規)
        A、STRING
        B、x3x;
        C、void
        D、de$f

7.表達式((11+3*8)/4%3的值是()(操做符的運算)
        A、31
        B、0
        C、1
        D、2
8.()表達式不能夠做爲循環條件
        A、i++;
        B、i>5;
        C、bEqual=str.equals("q");
        D、count==i;

9、運算符優先級別排序正確的是()(運算符優先級)
        A、由高向低分別是:()、!、算術運算符、關係運算符、邏輯運算符、賦值運算符
        B、由高向低分別是:()、關係運算符、算術運算符、賦值運算符、!、邏輯運算符
        C、由高向低分別是:()、算術運算符、邏輯運算符、關係運炸符、!、賦值運算符
        D、由高向低分別是:()、!、關係運算符、賦值運算符、算一術運算符、邏輯運算符



十、如下程序的運行結果是:()(++操做)
    public class Increment{
        public static void main(String args[]){
            int a;
            a=6;
            System.out.print{a);
            System.out.print{a++);
            System.out.print(a);
        }
        A.666
        B.667
        C.677
        D.676

11、下列值不爲true的表達式有().(運算符)
        A."john"=="john"
        B."john".equals("john")
        C."john"="john"
        D."john".equals(new String("john"))



12.下列輸出結果是()(switch語句)
        int a=0;
        white(a<5){
            switch(a){
            case 0:
            case 3:a=a+2;
            case 1:
            case 2:a=a+3;
            default:a=a+5;
            }
        }
        System.out.print(a)
        A、0
        B、5
        C、10
        D、其餘
13、下列代碼輸出結果是()( while循環)
    int i=l0;
    while(i>0){
        i=i+1;
        if(i==10){
            break;
        }
    }
        A. while循環執行to次
        B.死循環
        C,循環一次都不執行
        D.循環執行一次
14, 下面有關for循環的描述正確的是()(for循環)
        A ,for循環體語句中,能夠包含多條語句,但要用大括號括起來
        B ,for循環只能用於循環次數己經肯定的狀況
        C ,在for循環中,不能使用break語句跳出循環
        D ,for循環是先執行循環體語句,後進行條件判斷.


15、下列()屬於引用數據類型(選擇兩項)(引用數據類型)
        A、String
        B、char
        C  用戶自定義的Student類型
        D int


16.對象的特徵在類中表示爲變量,稱爲類的()(對象的特徵)
        A.對象
        B。屬性
        c。方法
        D。數據類型

17.在java中下面關於自動類型轉換說法正確的是()(基本數據類型轉換)
        A。基本數據類型和String相加必定是字符串類型
        B.char類型和整形相加必定是字符
        C。double能夠自動轉換爲int
        D。char+double+int 結果必定是double

18.關於類的敘述正確的是(選擇兩項)()(類的描述)
        A。在類中定義的變量稱爲成員變量,在別的類中能夠直接使用
        B。局部變量的做用範圍僅在定義它的方法內,或者在定義它的控制流中
        C。使用別的類的方法僅僅須要引用方法的名稱便可
        D。一個類的方法使用同類中另外一個方法時能夠直接引用方法名

19.下列關於字符串描述錯誤的是()(選擇兩項)(String和StringBuffer)
        A.字符串是變量
        B。String對象存儲字符串的效率比StringBuffer效率高
        C。可使用StringBuffer sb=「這裏是字符串」來聲明並初始化StringBuffer對象sb
        D。String類提供了不少用來操做字符串的方法:鏈接,提取,查詢

20.如下( )代碼中,可以對數組進行初始化(或者默認初始化) (數組)
        A。int[] a;
        B.a ={1,2,3,4,5};
        C.int[] a=new int[5]{1,2,3,4,5};
        D.int[] a= new int[5];

21.score是一個整形數組,有五個元素,已經正確初始化並賦值,仔細閱讀如下代碼,程序的運行結果是()(數組)
        tmp =score[0];
        for(int index=1;index<5;index++){
            if(score[index] < tmp)
                tmp =score[index];
        }
        A.求最大值
        B。求最小值
        C。找到數組最後一個元素
        D。編譯出錯



22. 下面關於數組的說法中,錯誤的是()(選擇兩項)(數組)
        A.在類中聲明一個整數數組做爲成員變量,若是沒有給它賦值,數組元素值爲空
        B.數組能夠在內存空間連續存儲任意一組數據
        C.數組必須先聲明、而後才能使川
        D.數組自己是一個對象


23. 在,Java中下而代碼是()條語句
    int i;j=123;
    int j=0,k=0;
    System.out.println(i+";"+";"+j+""+k);
        A、3
        B、4
        C、5
        D、6
24,在java中、關於構造方法。下列說法錯誤的是()(構造方法)
        A、構造方法的名稱必須與類名相同
        B、構透方法能夠帶參數
        C、構透方法不能夠重載
        D,構造方法絕對不能有返問值


25,執行下面代碼結果()( for語句)
        for(int i=0 ;;){
            system.out.println("這是"+i);
            break;
        }
        A,語法錯誤,缺乏表達式2和表達式3
        B、死循環
        C,程序什麼都不輸出
        D、輸出:這是0
26. 下面代碼輸出結果是()。(流程控制)
        int i=0,s=0;
        do{
        if (i%2 ==0){
            i++;
            continue;
        }
        i++;
        s=s+i;
        }while(i<7)
        system.out.println(s);
    A.16
    B.12
    C.28
    D.21

27.下面()不是String類提供的合法的方法。(String 類)
    A.equal(string)
    B.trim()
    C.append()
    D.indexof()

28. 在java中,如下()類的對象以鍵值對的方式存儲對象(集合)
    A.java.util.List
    B.java.util.ArrayList
    C.java.util.HashMap
    D.java.util.LinkedList

29. 給定以下所示的java代碼,運行時,會產生()類型的異常(異常)
    String s=null;
    s.concat("abc");
    A.ArithmeticException
    B.NullPointException
    c.IOException
    D.ClassNotFoundException

30. 給定java代碼以下所示,在A處新增下列()方法,是對cal方的重載(選擇兩項)(方法重載)
    public class Test{
        public void cal(int x,int y, int z){
        }
        //A
    }
    A. public int cal(int x,int y,float z){return 0;}
    B. public int cal(int x,int y,int z){return 0;}
    C. public int cal(int x,int z){}
    D. public int cal(int z,int y,int x){}

31.給定以下java代碼片斷,編譯運行這段代碼 結果是()
    java.util.HashMap map =new java.util.HashMap();
    map.put("name",null);
    map.put("name","Jack");
    System.out.println(map.get("name"));    
        A null
        B Jack
        C nullJack
        D 運行時出現異常
32. 給定如下JAVA代碼,這段代碼編編譯運行後輸出的結果是()(異常),
       public class Test   {
           public static int aMathod(int i) throws Exception{
               try{
                   return i/10;
               }catch{Exception ex)
                   throw new Exception {"exception in a aMothod")
               }finaily{
                   System.out.print("finally");
               } 
           }
           public static void main(String[]args){
               try{
                   aMethod(0);
               }catch(Exception ex){
                   System.o}}t.print("exception in main");      
           }
           System.out.print{"finished");
       }
        A、finallyexception in mainfinished
        B、exception in mainfinally
        C、finallyfinished
        D、tinallyexception in mainfinished

33、在Java中,下面對於構造函數的描述錯誤的是()(選擇兩項)(構造函數)
        A、類不必定要顯式定義構造函數
        B、構造函數的返回類型是void
        C、若是構造函數不帶任何參數,那麼構造函數的名稱和類名能夠不一樣
        D、一個類能夠定義多個構造函數

34、在Java語言中,下列關於類的繼承的描述,正確的是()。(繼承)
        A、一個類能夠繼承多個父類
        B、一個類能夠具備多個子類
        C、子類可使用父類的全部方法
        D、子類必定比父類有更多的成員方法
35下列選項中關於Java中supe:關鍵字的說法止確的是() (super關鍵字)
        A.super關鍵字是在子類對象內部指代其父類對象的引用
        B. super關鍵字不只能夠指代子類的直接父類,還能夠指代父類的父類
        C. 子類經過super關鍵字只能調用父類的方法,而不能調用父類的屬性
        D. 子類經過super關鍵字只能調用父類的屬性,而不能調用父類的方法

36.在java接口中,下列選項中有效的方法聲明是()(選擇兩項)(接口)
        A、public void aMethod();
        B、void aMethod();
        C、protected void  aMethod():
        D、private void aMethod():


37.在JAVA異常處理模型中,能單獨和finally語句一塊兒使用的塊是()(異常處理)。
        A.try
        B.catch
        C.throw
        D.throws

38.分析以下java代碼,編i爺運行後將輸出()
    public class Test{
        public Test(){}
        static void print(ArrnyList a1){
            al.add(2);
            a1=new ArrayList();
            a1.add(3);
            a1.add(4);
        }
        pubic static; void main(String[] args){
            Test test-=new Test();
            ArrayList al=new ArraList();
            al.add(1);
            print(al);
            System.out.println(al.get(1));
        }
    }
        A.1
        B.2
        C.3
        D.4

39. 在JAVA中,object類是全部類的父親,用戶自定義類默認擴展自Object類,下列選項中的()方法不屬於object類的方法.(object 類)
        A.equals(object obj)
        B.getClass()
        C.toString()
        D.trim()



40. 下列選項中關於java封裝的說法錯誤的是()
        A.封裝就是將屬性私有化,提供共有的方法訪問私有屬性
        B.屬性的訪問方法包括Getter和Setter方法
        C.Setter方法用於賦值,Getter方法用於取值
        D.包含屬性的類都必須封裝屬性,不然沒法經過編譯

41. java中,若是類c是類b的子類,類b是類a的子類,那麼下面描述正確的是()    (繼承)
        A, c不只繼承b中的成員,也繼承了a中的成員
        B、C只繼承了b中的成員
        c、c只繼承a中的成員
        d, C不能繼承A 和b中的成員



42、分析選項選項中關於java中this關鍵字說法正確的是()(this關鍵字)
        A,  this關鍵字是在對象內部指向自身的引用
        B, this關鍵字能夠在類中的任意位置使用
        C、this關鍵字和類關聯,而不是和特定的對象關聯
        D. 同一個類的不一樣對象共用一個對象



43,在JAVA中,l,inkedlist和ArrayList類同屬集合框架類,下列()選項中的方法 是Linkedlaist類有而ArrayList沒有的。
        A、add(Object o)
        B、add(int index, Object o)
        C、remove{Object o)
        D,  removeLast()


44,在JAVA中,ArrayList類實現可變大小的數組,便於遍歷元素和隨機訪問元素,已知得到了 ArrayList的對象 bookTypeList,則下列語句中可以實現判斷列表中是否存在字符串
「小說」的是()。(集合)
        A、bookTypeList.add("小說」),
        B、bookTypeList.get("小說」);
        C、bookTypeList.contains(」小說"}.
        D, bookTypeList.remove(」小說」);
45. Java語言具備許多優勢和特色,下列選項中,哪一個選項放映了java程序並行機制的特色: ()(Java的特色)
        A. 安全性
        B、多線程
        C、跨平臺
        D、可移植

46. 抽象方法:() (抽象方法)
        A.能夠有方法體
        B。能夠出如今非抽象類中
    C. 是沒有方法體的方法
    D。抽象類中的方法都是抽象方法


47.關於繼承的說法正確的是:()(繼承)
        A、子類將繼承父類全部的屬性和方法。
        B、子類將繼承父類的非私有屬性和方法。
        C、子類只繼承父類public方法和屬性
        D、子類只繼承父類的方法,而不繼承屬性

48.關於構造函數的說法哪一個正確?()(構造方法)
        A、一個類只能有一個構造函數
        B、一個類能夠有多個不一樣名的構造函數
        C、構造函數與類同名
        D、構造函數必須本身定義,不能使用父類的構造函數

49.關於接口哪一個正確?()(接口)
        A、實現一個接口必須實現接口的全部方法
        B.一個類只能實現一個接口
        C.接口間不能有繼承關係
        D.接口和抽象類是同一回事

50.關於super的說法正確的是()
        A、是指當前對象的內存地址
        B,是指當前對象的父類對象的內存地址
        C、是指當前對象的父類
        D、能夠用在main()方法中

51.請問,如何強制垃圾回收一個指定的對象?(垃圾回收)
        A用finalized()方法。
        B棄全部對象的引用。
        C用全部的內存
        D法強制垃圾回收一個指定的對象。

52:請問,如何放掉一個指定佔據的內存空間?(垃級回收)請選擇一個正確答案:
        A用free()方法。
        B用system.gc方法。
        C值給該項對象的引用爲nu11}
        D序員沒法明確強制垃圾回收器運行

53.請問,下列那些事初始化數組的正確語法格式()多選
        A.int a[]={1,2,3};
        B int x[3]={1,2,3};
        C int[ ]x={0.0.0};
        D char[] x={‘a’、’b'};


54請問,如下哪些是字節型數據的的取彼範圍?(基本數據類型的取值範圍) 請選擇一個正確答案:
        A  0, +255
        B -127,+l28
        C -128,+127
        D  0..65535

55.請問,如下哪些語句用於生命明一個二維數組?( 二維數組)
        A  int a[][)=new ini[ 10,10]:
        B  int a[][]=new int[l0][10];
        C  int a[ 10,10]=new int[ 10][ 10];
        D  int [][]a=new int [10][10]:

56.給出如下代碼,請問該程序的運行結果是什麼?(位運算)
    class Example{
        public static void main(String args[]){
    } 請選擇一個正確答案:
        A印輸出-1,1
        B印輸出1,1
        C印輸出1 ,-1
        D印輸出 -1,-1


57.給出如下代碼,請問該程序的運行結果是什麼?(++操做)
       class Example{
           public static void main(String args[]){
               int var=10;
               int var2=20;
               System.out.pr'sntln(var+var2+++」」+vax2);
           }
       } 請選擇一個正確答案:
        A30 20
        B30 21
        C31 20
        D31 21



58.請問表達式(short)10/10.2*2的運算結果是什麼數據類型,請選擇一個正確答案(類型轉換)
        a short
        b int
        c double
        d float

59.請問,如下哪些描述正確的?(位運算符)
        A >>爲帶符號移位運算符。 >>>爲無符號移位運算符。
        B >>>爲帶符一號移位運算符.>>爲無符號移位運算符。
        C <<爲帶符號移位運算符.<<<爲一無符號移位運算符。
        d <<<爲帶符號移位運算符.<<爲無符號移位運算符。

60.給出如下代碼,請問該程序的運行結果是什麼? (三目運算符)
    claSS Example{
        pnblic static void main(String args[]}{
            String s1 ="ab";
            String s2 ="abcd";
            String s3="cd";
            String s4 =s1+s3;
            s1 = s4:
            System.out.println("s1"+((s1==s2)?"==":"!=")+"s2");
        }
    } 請選擇一個正確答案:
        A   s1==s2
        B   sl!=s2
        C   s1
        D   s1==「abcd」

61.給出如下代碼,請問該程序的運行結果是什麼?(位運算)
    class Example{
        public static vaid main (String args[]){
            System.out.println(111 & 13);
        }
    } 請選則一個正確答案:
        A 3
        B 5
        C 13
        D 9

62.給出如下代碼,請問該程序的運行結果是什麼?(位運算)
    class Example{
        public static vaid main (String args[]){
            System.out.println(8|9 & 10^11);
    } 請選擇一個.正確答案:
        A 8
        B 9
        C 10
        D 11

63.給出如下代碼,請問該程序的運行結果慫什麼
    class Example{
        public static vaid main (String args[]){
            char c=-l;
            System.out.println(c);
        }
    } 請選擇一個正確答案:
        A代碼編譯失敗。
        B代碼編譯成功,打印輸出-1。
        C變量c不表明任何ASCII碼字符。
        D變量c依據表明一個Unicodc編碼字符。

64.給出如下代碼,請問該程序的運行結果是什麼:
    class Check{
       public static vaid main (String args[]){
           int x,a=6,b=7;
           X=a++ +b++;
           System.out.print{「x=」+x);
           System.out.print(「,a=」+a);
           System.out.print(「,b=」+b);
       }
     }
       請選擇一個正確答案:
        A打印輸出x=15, a=7, b=8
        B打印輸出x=15,a=6,b=7
        C打印輸出x=13 , a=7, b=8
        D打印輸出x=13,a=6,b=7

65。給出一條語句,請問如下哪些有關該語句的描述是正確的個
    Private static int i=3;
    請選擇全部正確答案:
        A變量i在被初始化後,其值不能再改變
        B變量i只能被靜態方法改變。
        C變量i的值被全部其所在的類實例共享
        D變量i只能被其所在類訪問

66.給定以下java代碼,編譯運行以後將會輸出()(三目運算符)
    public class Example{
        public static void main(String args[]){
            int a =5;
            System.out.printin(a%2== 1)?(a+1)/2:a/2);
        }
    }(選擇一項)
        A 1 
        B 2
        C 2.5
        D 3

67請問,如下那些修飾符用於聲明一個常量?  請選擇一個正確答案:
        A  static
        B  final
        C  abstract
        D  public

68.請問,如下哪些是抽象方法的幣確形式?(抽象方法) 請選擇一個正確答案:
        A   abstract void Example()
        B   abstract void Example(){}
        C   static abstract void Example()
        D   final abstract void Example()

69.請問,如下哪些描述是正確的?  請選擇一個_正確答案:
        A引用型數據不能進行類型轉換。
        B引用型數據在賦值語句中能夠進行類型轉換,但在向其方法傳入參數時不能進行類型轉換,       
        C引用型數據在向其方法傳入參數時能夠進行類型轉換,但在賦值語句中不能進行類型轉換。
        D引用型數據在賦值語句中和在向其方法傳入參數時都可類型轉換,

70.給出以卜代碼,請問第幾行代碼沒法編譯?  (基本數據類型)
    1.byte b=5;
  2.char c='5';
  3short s= 55;
  4.int i= 555;
  5.float f = 555.5f
  6.b=s;
  7.i=c;
  8.if(f>b}
  9.f=i; 請選擇一個正確答案:
        A第1行
        B第2行
        C第5行
        D第6行



71給出如下代碼,請問第兒行代碼沒法編譯?(基本數據類型)
    1.byte b=2;
    2.byte b 1=3;
    3._b=b*b1;
    請選擇一個正確答案:
        A第1行
        B第2行
        C第3行

72.請問如下哪邊些語句是Java語言中用於中斷循環執行的?(循環) 請選擇一個正確的答案:
        A   continue語句
        B   goto語句
        C   exit語句    
        D   break語句

73.請問如下代碼錯在何處(for循環)
    public class Example{
        public static void main(String args[]){
            for(i=0;j=0,i<10;++i,j+=i){
            k+=i*i+ j*j;
        }
    } 請選擇全部正確答案
        A在語句塊中應超過一條以上的語句
        B.在i=0和j=0之間應使用逗號
        c.使用了2個循環變量
        D 在j=0 和i<10 中間應該使用分號

74. 如下java語句中,String str =」123456789「; str=str.subString(1,3);執行後str中的值爲: (選擇一項)(String類)
        A."23"
        B."123"
        C."12"
        D."234"

75.在java中,要判斷D盤下是否存在文件abc.txt,應該使用如下()判斷語句。(選擇一項) (文件操做)
        A.if(new File("d:abc.txt").exists()==1)
        B.if(File.exists("d:abc.txt")==1)
        C.if(new File("d/abc.txt").exists())
        D.if(File.exists("d/abc.txt"))
76.MVC模式中說法不正確的趨()(mvc模式)
        A MAC是指的表現層·業務層一數據庫這種模式
        B Model層實現系統中的業務邏輯
        C view層用於與用戶的交互
        B Controller層是Model與View之間溝通的橋樑

77.請問如下哪些有關接口的描述的是正確的?  請選擇全部正確答案:
        A在接口中定義的方法默認爲private方法
        B在接口中定義的方法默認爲public,static,final方法
        C一個接口能夠繼承多個接口。
        D關鍵字implements代喪繼承關係。

78.請問如下哪些描述是正確的?  請選擇全部正確答案:
        A native關鍵字代表修飾的方法是有其餘非lava語言編寫的。
        B 可以出如今Java源文件中的import語句前的只有註釋語句。
        c 接口中定義的一方法默認是public和abstract的,不能被private和protected修飾。
        D構造器只能被public或protected修飾。

79請問如下哪些體現了多態?(多態的體現) 請選擇全部正確答案:
        A內部類
        B匿名類
        C方法過載
        D方法重載

80.給出下代碼,請問該程序的運行結果是什麼?(數組)
    public class Example{
        public static void main(String args[]){
            int[] refToArray ={10,11};
            int var =1;
            refToArray[var-1] =var =2;
            System.out.printin(refToArray[0]+" " +refToArray[1]);
        }
    }
請選擇一個正確答案:
        A編譯失敗。
        B運行期異常。
        C打印輸出2 11
        D打印輸出102

1。有一對兔子,從出生後第3個月起每月都生一對兔子,小兔子長到第二個月後每月又生一對兔子,假如兔子都不死,問每月的兔子總數爲多少?(兩種方法,面向對象)

2。請用java實現一個簡單的冒泡排序算法
3.Java中值傳遞和引用傳遞有什麼區別?
4.Overload和Override的區別
5.說說&和&&的區別
6.switch語句可否做用在byte上,可否做用在long上,可否做川在String上?
7.short s1=l; s1=s1+1;有什麼錯?short s1=1; s1+=1;有什麼錯?
8.用最有效率的方法算出2乘以8等於幾?
9.「==」和equals方法究競有什麼區別

10. 靜態變量和實例變量的區別?
11.請說出做用域pubic ,privateprotected,以及不寫時的區別
12.接口是否可繼承接口?抽象類是否可實現(implements)接口? 抽象類是否可繼承具體類(concrete class)?抽象類中是否能夠有靜態的main方法?


13.abstract class和interface有什麼區別?

14.內部類能夠引用它的包含類的成員嗎?有沒有什麼限制?

15.String s="Hello";s=s+」world!」;這兩行代碼執行後,原始的String對象中的內容到底變了沒有?

16.Stringy snew String("xyz");建立了兒個String Object?兩者之間有什麼區別


17.String和StringBuffer的區別

18.如何把一段逗號分割的字符串轉換成一個數組?

19.final, finally, finalize的區別。

20.請寫出你最多見到的5個runtime exception

21.多線程有幾種實現方法?

22.同步有幾種實現方法?

23.當一個線程進入一個對象的一個synchronized方法後,其它線程是否可講入此對象的其它方法?

24.HashMap和Hashtable的區別
25.List和Map區別?
26.說出一些經常使用的類,包,接口,請各舉5個

27.Java中有兒種類型的流?jdk爲每種類的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?

28.heap和stack有什麼區別。

29.GC是什麼?爲何要有GC?

30.建立線程的方式有兒種?分別是什麼?(多線程)

 

 

答案區:面試

現提供一個我筆試的時候的一個圖片,關於正確答案後續會更新上:算法

  

 

80道題,其中有兩道題仍是錯的, 至關於我只作對了45道題,呵呵,比較菜。。。。數據庫

相關文章
相關標籤/搜索