【312天】我愛刷題系列071(2017.12.14)

叨叨兩句

  1. 打算改變一下,之後天天先只作5道題,把更多時間用於項目

牛客網——java專項練習050

1

What will happen when you attempt to compile and run the following code?html

public class Test{
static{
   int x=5;
}
static int x,y;
public static void main(String args[]){
   x--;
   myMethod( );
   System.out.println(x+y+ ++x);
}
public static void myMethod( ){
  y=x++ + ++x;
 }
}

正確答案: D
A compiletime error
B prints:1
C prints:2
D prints:3
E prints:7
F prints:8java

1.靜態語句塊中x爲局部變量,不影響靜態變量x的值
2.x和y爲靜態變量,默認初始值爲0,屬於當前類,其值得改變會影響整個類運行。
3.java中自增操做非原子性的 
main方法中:
執行x--後 x=-1
調用myMethod方法,x執行x++結果爲-1(後++),但x=0,++x結果1,x=1 ,則y=0
x+y+ ++x,先執行x+y,結果爲1,執行++x結果爲2,獲得最終結果爲3

2

下列描述錯誤的是?
A 類只能繼承一個父類,可是能夠實現多個接口
B 抽象類自身能夠定義成員而接口不能夠
C 抽象類和接口都不能被實例化(忽略匿名內部類)
D 一個類能夠有多個基類和多個基接口編程

正確答案: B D瀏覽器

A 、java爲單繼承,多實現。能夠實現多個接口。 
B、接口容許定義成員,但必須是常量。
C、抽象類和接口類的沒法實例化,任何編譯器中直接使用new會報錯。
D、同A,單繼承,多實現。

3

下面哪項技術能夠用在WEB開發中實現會話跟蹤實現?
正確答案: A B C D
A session
B Cookie
C 地址重寫
D 隱藏域服務器

會話跟蹤是一種靈活、輕便的機制,它使Web上的狀態編程變爲可能。
HTTP是一種無狀態協議,每當用戶發出請求時,服務器就會作出響應,客戶端與服務器之間的聯繫是離散的、非連續的。當用戶在同一網站的多個頁面之間轉換時,根本沒法肯定是不是同一個客戶,會話跟蹤技術就能夠解決這個問題。當一個客戶在多個頁面間切換時,服務器會保存該用戶的信息。
有四種方法能夠實現會話跟蹤技術:URL重寫、隱藏表單域、Cookie、Session。
1).隱藏表單域:<input type="hidden">,很是適合步須要大量數據存儲的會話應用。
2).URL 重寫:URL 能夠在後面附加參數,和服務器的請求一塊兒發送,這些參數爲名字/值對。
3).Cookie:一個 Cookie 是一個小的,已命名數據元素。服務器使用 SET-Cookie 頭標將它做爲 HTTP
響應的一部分傳送到客戶端,客戶端被請求保存 Cookie 值,在對同一服務器的後續請求使用一個
Cookie 頭標將之返回到服務器。與其它技術比較,Cookie 的一個優勢是在瀏覽器會話結束後,甚至
在客戶端計算機重啓後它仍能夠保留其值
4).Session:使用 setAttribute(String str,Object obj)方法將對象捆綁到一個會話

4

看如下代碼:
文件名稱:forward.jspsession

<html>  
     <head><title> 跳轉  </title> </head> 
     <body>  
         <jsp:forward page="index.htm"/>     
     </body>
 </html>

若是運行以上jsp文件,地址欄的內容爲
正確答案: A 你的答案: C (錯誤)
A http://127.0.0.1:8080/myjsp/forward.jsp
B http://127.0.0.1:8080/myjsp/index.jsp
C http://127.0.0.1:8080/myjsp/index.htm
D http://127.0.0.1:8080/myjsp/forward.htmapp

forward和redirect是最常問的兩個問題
forward,服務器獲取跳轉頁面內容傳給用戶,用戶地址欄不變
redirect,是服務器向用戶發送轉向的地址,redirect後地址欄變成新的地址
所以這個題是A

5

下面程序的輸出是:()jsp

String x="fmn";
x.toUpperCase();
String y=x.replace('f','F');
y=y+"wxy";
System.out.println(y);

正確答案: D 你的答案: D (正確)
A FmNwxy
B fmnwxy
C wxyfmn
D Fmnwxy網站

使用String str=「xxx」時,JVM會在字符串常量池中建立「xxx」,即在編譯時就可計算出來的字符串值,是不可改變的。若是改變str就會在字符串常量池裏產生新的實例。 題目裏調用toUpperCase()確實返回了大寫字符串,可是沒有覆蓋原來的,因此字符串仍是小寫的。
相關文章
相關標籤/搜索