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