1. 程式人生 > >Java日常刷題第六天

Java日常刷題第六天

一、選擇題

1.下列關於Java語言的特點,描述錯誤的是(C。Java是面向過程的程式語言)
A。Java是跨平臺的程式語言
B。Java支援分散式計算
C。Java是面向(物件)的程式語言
D。Java支援多執行緒
2.下列那個類的宣告是正確的?(D)
A。abstract final class Hi{}
B。abstract private move(){}
C。protected private number;
D。public abstract class Car{}
解析:
A。final是最終類,不能被繼承;abstract類是抽象類,只能被繼承,兩者衝突。
B。private修飾符定義的屬性及方法不能被子類實現,而抽象類的子類必須實現所有的抽象方法。二者衝突
C。修飾符重複,而且沒有定義資料型別。修飾符public、protected、private只需要使用其中一個修飾變數,也可以不使用修飾符,例如:int age;
D。這是抽象類的通常寫法。
抽象類中的抽象方法(其前有abstract修飾)不能用private、static、synchronized、native訪問修飾符修飾。
總結:
1.修飾方法:abstract不能與final、static、private共用
2.修飾外部類:abstract不能與final、static共用(外部類public修飾)
3.修飾內部類:abstract不能與final,公用(內部類四個訪問控制符都可以)
3.有這樣一段程式:

public class Test{
	public static void main(String [] args){
		List list=new ArrayList();
		list.add("a");
		list.add("b");
		list.add("c");
		Set set=new HashSet();
		set.add("a");
		set.add("b");
		set.add("c");
		System.out.println(list.size()+","+set.size());
		}
}

請問執行主要程式會打印出的是什麼(C)
A。2,2
B。2,3
C。3,2
D。3,3
解析:
(1)List和Set的區別,set不能重複
(2)set 中重複的定義,未定義自己的equels方法的話,呼叫預設的,也就是直接==
4.一個以“.java”為字尾的原始檔(C)
A。只能包含一個public類,類名必須與檔名相同
B。只能包含與檔名相同的public類以及其中的內部類
C。只能有一個檔名相同的public類,可以包含其他非public類(不考慮內部類)
D。可以包含任意public類
解析:.java檔案可以包含多個類,唯一的限制就是:一個檔案中只能有一個public類,並且此public類必須與檔名相同。而且這些類和寫在多個檔案中沒有區別。
5.下列程式碼的輸出結果是(false)

boolean b=true?false:true==true?false:true;
System.out.println(b);

A.true
B.false
C.null
D.空字串
解析:
==優先順序高於三目運算子,先判斷true ==true,此時返回為true,這時表示式為boolean b=true?false:true?false:true
此時三目運算子從右往左執行,true?false:true,返回false
這時表示式為 boolean b=true?false:false;
結果為 boolean b=false;
6.Java程式中類名稱必須與存放該類的檔名相同(錯 ×)
解析:一個檔案中可以有多個類,如果沒有public類,則可以與任意類名相同,如果有public類則檔名必須與類名相同,因為一個檔案只能有一個public 類。如果檔案中只有一個類,則檔名必須與類名相同。
7.關於以下程式程式碼的說明正確的(D)

class HasStatic{
	private static int x=100;
	public static void main(String args[] ){
		HasStatic hs1=new HasStatic();
		hs1.x++;
		HasStatic hs2=new HasStatic();
		hs2.x++;
		hs1=new HasStatic();
		hs1.x++;
		HasStatic.x--;
		System.out.println("x=" +x);
	}
}

A。5行不能通過編譯,因為引用了私有靜態變數
B。10行不能通過編譯,因為x是私有靜態變數
C。程式通過編譯,輸出結果為:x=103;
D。程式通過編譯,輸出結果為:x=102;
解析: private修飾的變數,訪問許可權僅在本類之中。
如果變數被static修飾,那麼 該變數屬於類,該類的所有物件操作的都是同意個變數。
8.關於Socket通訊程式設計,以下描述錯誤的是:(D)
A。伺服器端通過new ServerSocket()建立TCP連結物件
B。伺服器端通過TCP連線物件呼叫accept()方法建立通訊的Socket物件。
C。客戶端通過new Socket()方法建立Socket物件。
D。客戶端通過new ServerSocket()建立TCP連線物件。
解析:
Socket套接字
就是源IP地址,目標IP地址,源埠號和目標埠號的組合
伺服器端:ServerSocket提供的例項
ServerSocket server=new ServerSocket(埠號)
客戶端:Socket提供的例項
Socket soc=new Socket(ip地址,埠號)
9.URL u=new URL(“http://www.123.com”);。如果www.123.com不存在,則返回(A)
A。http://www.123.com
B。" "
C。null
D。丟擲異常
解析:
new URL()時必須捕獲檢查異常,但這個異常是由於字串格式和URL不符導致的,與網址是否存在無關。URL的to String方法返回字串,無論網址是否存在。

public String toString() {return toExternalForm();}