面試題 | 《Java常見面試題集 》- 第一套

說明:以下面試題中,選項背景爲這個顏色的,則代表爲正確答案,後續會繼續總結其它面試題系列,持續做題關注。

01

下面程序運行的結果爲?

import java.io.*;
import java.util.*;
public class foo{
   public static void main(){
        String s;
        System.out.println("s="+s);
   }
}

A.

代碼得到編譯,並輸出“s=”

B.

代碼得到編譯,並輸出“s=null”

C.

由於String s 沒有初始化,代碼不能編譯通過

D.

代碼得到編譯,但捕獲到NullpointException異常

解析

考點:String類型的使用

Java中String不是基本類型,String 類型默認初始爲 Null,即爲空未分配對象;如果使用String類型定義的變量並且有返回值,則必須進行初始化;

02

是否可以繼承String類?

A.

B.

解析

考點:是否看過String源碼、final修飾的用法

String在Java中是這樣定義的:

public final class String extends Object.....

被final修改的類,不能被其它類再次繼承;

03

如下代碼,輸出是什麼?

class Super{
   public Integer getLength(){
     return new Integer(4);
   }
   public class Sub extends Super{
      public Long getLength(){
         return new Long(5);
      }
      public static void main(String[] args){
         Super sooper = new Super();
         Sub sub = new Sub();
         System.out.println(spper.getLenght().toString()+""+sub.getLenght());
      }
   }
}

A.

4 4

B.

4 5

C.

5 4

D.

5 5

E.

編譯失敗

解析

考點:重載、重寫

重寫:方法名,參數,類型,個數,返回類型必須保持一致

04

如下代碼,結果是什麼?

class Base{
  Base(){
    System.out.print("Base");
  }
}
public class Alpha extends Base{
  public static void main(String[] args){
     new Alpha();
     new Base();
 }
}

A.

Base

B.

BaseBase

C.

編譯失敗

D.

代碼運行,但是沒有輸出

E.

運行時拋出異常

解析

考點:繼承、構造器

子類可以繼承父類的無參構造器

05

在Servlet的生命週期中,容器只調用一次的方法是?

A.

Service

B.

init

C.

getServletConfig

D.

destroy

解析

考點:Servlet生命週期

通過調用init()方法進行初始化

調用service()方法來處理客戶端的請求

調用destroy()方法終止結束

Servlet是由JVM的垃圾回收器進行垃圾回收的

06

對於import java.util包,以下說法錯誤的是?

A.

Vector類屬於java.util包

B.

Vector類放在..../java/util/目錄下

C.

Vector類放在java.util文件中

D.

Vector類是Sun公司的產品

解析

考點:java工具包的使用

Vector是list集合的四大實現類之一,屬於java.util包中

07

在WEB-INF目錄下,必須存放的文件是?

A.

class文件

B.

jar文件

C.

web.xml

D.

html文件

解析

考點:web容器

web project工程中,必須存在web.xml啓動容器,纔可以部署到應用服務器中使用,且存放到WEB-INF目錄下

08

下面的語句會產生怎麼樣的輸出?

System.out.println(4&7);

A.

5

B.

6

C.

4

D.

7

解析

考點:位運算符、二進制

&:位運算是對整數的進制位進行操作

二進制與運算規則:1&1=1 1&0=0 0&0=0

4的二進制:0100

7的二進制:0111

結構值爲: 0100 == 4

09

以下哪種方法插入行5是錯誤的?類定義如下

1public class Test1{    
2    public float aMethod(float a,float b){
3        return 0;  
4    }
5   //行5
6}

A.

public float aMethod(float a,float b,float c){return 0;}

B.

public float aMethod(float c,float d){return 0;}

C.

public int aMethod(int a,int b){return 0;}

D.

private float aMethod(int a,int b,int c){return 0;}

解析

考點:重載

重載:方法參數類型,順序,個數,返回值類型至少保證一個不相同

10

break語句()

A.

只中斷最內層的循環

B.

只中斷最外層的循環

C.

藉助於符號,可以實現任何外層循環中斷

D.

只中斷某一層的循環

解析

考點:break語句

break語句可以中斷當前所在循環,繼續執行循環外其它代碼

11

在配置Tomcat虛擬目錄時,需要打開哪個文件?

A.

index.jsp

B.

web.xml

C.

server.cnf

D.

server.xml

解析

考點:tomcat配置使用

可以修改\tomcat\conf文件下的server.xml文件進行目錄、端口、session複製、負載等內容信息的修改

12

下面哪個不是表單標記?

A.

input

B.

radio

C.

checkbox

D.

tr

解析

考點:前端表單標籤

input:文本輸入框

radio:單選框

checkbox:複選框

tr:表格行

13

下面哪項不是response對象的方法?

A.

setContentType(String contentTypestr)

B.

setHeader(String headername,String headervalue)

C.

getParameter(String str)

D.

sendError(int errorcode)

解析

考點:response對象API

getParameter(String str)屬於request對象方法

14

以下()是編寫Servlet必須導入的包?

A.

java.sql.*

B.

java.servlet.*

C.

java.util.*

D.

java.lang.*

解析

考點:servlet導入的包結構

使用servlet需要導入servlet-api.jar包,並且類路徑引入爲:java.servlet.*

15

if(-0.0 == 0.0) 是相等還是不等?

A.

相等

B.

不相等

C.

編譯報錯

解析

考點:==號比較的是對象的地址

16

一個抽象類是否可以沒有抽象方法?

A.

可以

B.

不可以

解析

考點:抽象類、抽象方法

抽象類中可以沒有抽象方法,如果繼承某個抽象類,則該類必須繼承抽象類中所有的抽象方法

17

假設字符串s="HelloWorld",則s.indexOf("ello")返回的值爲?

A.

1

B.

2

C.

3

D.

4

解析

考點:String類的API使用

indexOf(""),返回的字符的下標,從0開始

18

Math.round(11.5)和Math.round(-11.5)的值爲?

A.

12和11

B.

12和-11

C.

11和-12

D.

11和11

解析

考點:round四捨五入

round方法,表示“四捨五入”,算法爲Math.floor(x+0.5),即將原來的數字加上0.5後再向下取整

19

關於try..catch...finally結構,描述正確的是?

A.

只能有一個catch

B.

可以有多個catch

C.

可以沒有catch

D.

finally必須有

解析

考點:捕獲異常try..catch結構使用

必須有try,至少有一個catch,可以沒有finally

20

下面程序段執行後t1的結果爲?

int x1 = 9 x2 = 6 t1;
t1 = x1 > x2 ? x1:x2;

A.

6

B.

9

C.

11

D.

3

解析

考點:三元表達式

三元運算符是軟件編程中的一個固定格式,語法是“條件表達式?表達式1:表達式2”。使用這個算法可以使調用數據時逐級篩選。

語法爲:條件表達式?表達式1:表達式2

說明:問號前面的位置是判斷的條件,判斷結果爲bool型,爲true時調用表達式1,爲false時調用表達式2。其邏輯爲:“如果爲條件成立或者滿足則執行表達式1,否則執行第二個。”常用在設置默認值,例如某個值不一定存在,則判斷這個值是否存在,不存在給默認值(表達式2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章