20145209劉一陽《JAVA程序設計》第十五週補充測試

第十五週補充測試

一、實驗樓Linux中能夠經過(ABC)查看用戶登陸狀況。java

A .whogit

B .who am i正則表達式

C .who mom likes算法

D .who are yousql

二、在 Linux 裏面如何知道本身屬於哪些用戶組呢?(A)編程

A .使用 groups 命令數組

B .addgroups安全

C .查看 /etc/group 文件服務器

D .lsgroupsdom

三、表達式15&240的值爲(B)

A .FF

B .0

C .255

D .1

四、下列關於課本P29示例程序的說法,正確的是(ABCD)

A .若是註釋掉第一行「import java.util.*;」,則「System.out.println(Arrays. toString(a));」和「Scanner scanner = new Scanner(System.in);」兩句會報錯。

B .折半查找時,必須保證數組是有序的。

C .該程序所示的排序方法爲冒泡排序法。

D .count>N/2說明查找結束,沒有找到該數字。

五、關於課本P23示例程序的說法,正確的是(BCD)

A .程序等待用戶在命令行輸入數據時,是在Scanner reader = new Scanner(System.in);一句發生阻塞。

B .在命令行運行該程序時,使用ctrl+c能夠結束阻塞。

C .輸入0.00也能夠結束程序的執行,輸出sum的值。

D .當用戶輸入0.3並回車後,程序再次阻塞,該阻塞是因爲執行了x = reader.nextDouble();一句。

六、下列錯誤的初始化語句是(ABD)

A .char str[]="hello";

B .char str[100]="hello";

C .char str[]={'h','e','l','l','o'};

D .char str[]={'hello'};

七、定義float x = 0.5f; double y = 0.5,則x==y結果爲false。(B)

A .true

B .false

八、下列關於建立對象的說法,錯誤的是(CD)

A .建立一個對象包括對象的聲明和爲對象分配變量兩個步驟。

B .使用Student stu;聲明對象變量後,stu的內存中尚未任何數據。 C .引用型成員變量的默認初值爲0。

D .對象的引用存在堆中,對象的實體(分配給對象的變量)存在棧中。

E .String a="ab"+"cd";建立了3個對象。

九、下列說法正確的是(AD)

A .println()方法屬於java.lang.,但因爲其很是經常使用,編譯器自動添加了java.lang.,所以使用println()方法時不須要import。

B .若是一個文件中有class的定義、import、package,則其前後順序爲import、package、class。

C .可使用import java.*;將類庫中的全部的類都包含進去。

D .java.math提供用於執行任意精度整數算法 (BigInteger) 和任意精度小數算法 (BigDecimal) 的類。

十、下列說法正確的是(C)

A .若是想在方法中使用被隱藏的成員變量,可使用關鍵字super。

B .double類型的成員變量的默認值爲0,局部變量沒有默認值。

C .對成員變量的賦值操做只能放在方法中。

D .面嚮對象語言中的「類」至關於C語言中的「函數」。

十一、下列關於UML類圖的說法,正確的是(AC)

A .抽象類和抽象方法通常用斜體表示。

B .通常狀況下,方法的屬性用+表示private,用-表示public。

C .在UML 裏,一個類的屬性能顯示它的名字,類型,初始化值。

D .繼承用一個帶三角的直線表示,由父類指向子類。

十二、將下列(A,B,C,D)哪一個代碼替換下列程序中的【代碼】不會致使編譯錯誤?(B)

interface Com {
    int M = 200;
    int f();
}
class ImpCom implements Com {
   【代碼】
}

A .public int f(){return 100+M;}

B .int f(){return 100;}

C .public double f(){return 2.6;}

D .public abstract int f();

1三、下列關於abstract關鍵字的說法,正確的是(BCDF)

A .可使用static修飾abstract方法。

B .非abstract類中不能夠有abstract方法。

C .不能使用new建立abstract類的對象。

D .不容許使用final和abstract同時修飾一個方法.

E .可使用public abstract void eat(){};來聲明抽象方法eat()。

F .抽象方法只保留方法的功能,而具體的執行,交給繼承抽象類的子類,由子類重寫此抽象方法。

1四、下列關於Override的說法,正確的是(ABC)

A .子類所聲明的成員變量的名字和從父類繼承來的成員變量名字相同但類型不一樣時,子類會隱藏所繼承的成員變量。

B .除了繼承的方法以外,子類新定義的方法能夠操做子類繼承的成員變量。

C .子類重寫的方法,方法名字、參數個數、參數類型和父類的方法徹底相同。

D .重寫方法能夠操做被子類隱藏的成員變量和方法。

1五、如下是File類構造方法的是(ABCD)

A .File(File parent, String child)

B .File(String pathname)

C .File(String parent, String child)

D .File(URI uri)

1六、下列關於內部類的說法,正確的是(ABD)

A .其餘類不能夠用某個類的內部類聲明對象。

B .內部類字節碼文件的名字格式是「外嵌類名$內部類名」。

C .內部類的類體能夠聲明類變量和類方法。

D .內部類在成員位置上,所以能夠被private修飾。

1七、如下關於File類經常使用方法的敘述,錯誤的是(B)

A .public long length():獲取文件長度

B .public int hashCode():計算此文件的哈希碼

C .public String toString():返回此抽象路徑名的路徑名字符串

D .public Boolean isFile():判斷一個文件是不是普通文件,而不是目錄

1八、下列哪一個敘述是正確的?(C)

A .建立File對象可能發生異常。

B .BufferedRead流能夠指向FileInputStream流。

C .BufferedWrite流能夠指向FileWrite流。

D .RandomAccessFile流一旦指向文件,就會刷新該文件。

1九、InputStream類繼承自FileInputStream,能夠以字節爲單位讀取文件。(B)

A .true

B .false

20、下列關於正則表達式的說法,正確的是(ABDE)

A .\ba\w*\b匹配以字母a開頭的單詞

B .\d+匹配1個或更多連續的數字。

C .\b\w{6}\b 匹配6個及以上字符的單詞。

D .[0-9]表明的含意與\d就是徹底一致的:一位數字

E .\S+匹配不包含空白符的字符串。

F .(\d{1,3}.){3}\d{1,3}用來匹配 IP地址。

2一、下列說法正確的是(D)

A .Java 8以前,對日期進行運算,使用DateFormat類。

B .須要人類能理解的時間,建議使用Date類的toString()。

C .如今國際上通用的標準時間是GMT。

D .new Date(System.currentTimeMillis())等價於new Date()

2二、下列哪一個表達式是正確的(無編譯錯誤)?(C)

A .int m =Float.parseFloat("567");

B .int m =Short.parseShort("567")

C .byte m =Integer.parseInt("2");

D .float m =Float.parseDouble("2.9")

2三、下列關於TreeSet<E>泛型類經常使用方法的介紹,正確的是(BCD)

A .public boolean contains(Object o) 若是此 set 包含指定的元素,則返回 true。若是指定對象沒法與該 set 中的當前元素進行比較,或不包含,則返回false。

B .public boolean add(E e)將指定的元素添加到此 set。若是此 set 已經包含這樣的元素,則該調用不改變此 set 並返回 false。

C .public boolean addAll(Collection<? extends E> c)將指定 collection 中的全部元素添加到此 set 中。若是此 set 因爲調用而發生更改,則返回 true。

D .public E lower(E e) 返回此 set 中嚴格小於給定元素的最大元素;若是不存在這樣的元素,則返回 null。

2四、對於以下代碼,下列哪一個敘述是正確的?(D)

public class E {
   public static void main (String args[]) {
     String s1 = args[1];
     String s2 = args[2];
     String s3 = args[3];
     System.out.println(s3); 
   }
}

A .程序出現編譯錯誤。

B .無編譯錯誤,在命令行執行程序:「java E I love this game」,程序輸出this。

C .無編譯錯誤,在命令行執行程序:「java E let us go」,程序無運行異常。

D .無編譯錯誤,在命令行執行程序:「java E 0 1 2 3 4 5 6 7 8 9」程序輸出3。

2五、已知list是一個合法的集合引用,getCollection()返回一個合法集合的引用,下列合法的是?(BE)

A .for(Object o : list)

B .for(Object o : getCollection())

C .for(Object o : list.iterator())

D .for(lterator i ; list.iterator() ; i.hasNext() )

E .for(lterator i=list.iterator(); i.hasNext(); )

2六、What is the output of the following code?(下面代碼的運行結果是?)(F)

LocalDate date = LocalDate.of(2018, Month.APRIL, 40);
System.out.println(date.getYear() + " " + date.getMonth()
 + " "+ date.getDayOfMonth());

A .2018 APRIL 4

B .2018 APRIL 30

C .2018 MAY 10

D .Another date

E .The code does not compile.

F .A runtime exception is thrown.

2七、接口RowSet繼承了接口__,能夠調用RowSet中的方法__來填充其數據區。(C)

①Statement ②ResultSet ③update ④populate

A .①③

B .①④

C .②③

D .②④

2八、假定源文件名爲HelloWorld.java.代碼以下,(B) public class HelloWorld { public static void main(String[] args) { String hw = "Hello World"; System.out.printf("%s\n", hw); System.out.printf("%s\n", 1/0); } }

A .將會產生編譯時錯誤,javac Hello.java沒法執行

B .將會產生運行時錯誤,java Hello沒法執行

C .將會產生邏輯錯誤,1/0 不符合數學邏輯

D .程序能夠正常編譯運行

2九、有關Java密碼學算法,下面說法正確的是(CDF) A .對稱密碼和非對稱密碼的祕鑰都是使用KeyGenerator產生

B .cp.init(Cipher.ENCRYPT_MODE, k);指定祕鑰K進行解密,使用的是對稱算法

C .byte text2[]=cp.doFinal(text1);完成對數據的加密或者解密

D .Java中,RSA算法的加密,解密都是調用modPow()實現的。

E .MessageDigest m=MessageDigest.getInstance("MD5"); //... m.update(x.getBytes("UTF8" ));完成x的摘要計算

F .MessageDigest m=MessageDigest.getInstance("MD5"); //... byte s[ ]=m.digest( );完成摘要計算

30、實驗中客戶端對傳給服務器的後綴表達式進行對稱加密使用的加密算法的選用,下面說法正確的是(BCDF)

A .選用公鑰算法好比RSA算法更安全

B .應該選用對稱算法如DES,AES等,能夠用Cipher cp=Cipher.getInstance(...)指定算法類型

C .非對稱算法經常使用來進行密鑰分發,簽名/驗籤

D .Java中,對稱算法進行加密仍是解密由Cipher 的init()方法指定

E .Java中,對稱算法進行加密仍是解密由Cipher 的nal()方法指定

F .傳輸中要使用混合密碼系統

3一、結對編程時,協做使用到的git命令與我的不一樣的有(D)

A .git add

B .git clone

C .git commit

D .git pull

E .git push

3二、Activity的前臺的生命週期是(C)。

A .從onCreate(Bundle)開始到onDestroy()結束

B .從onStart()開始到onStop()結束

C .從onResume()開始到onPause()結束

D .從onStart()開始到onRestart()結束

3三、Activity 的生命週期存在於(A)

A .從onCreate(Bundle)開始到onDestroy()結束

B .從onStart()開始到onStop()結束

C .從onResume()開始到onPause()結束

D .從onStart()開始到onRestart()結束

3四、有關TDD(Test Driven Devlopment, 測試驅動開發),下面說法正確的是(AE)

A .實驗中實現Java單元測試的工具是JUnit

B .TDD的目標是"Keep the bar green, to Keep the code clean"

C .實驗中assertEquals("不及格", MyUtil.percentage2fivegrade(55));是對邊界狀況進行測試

D .實驗中assertEquals("不及格", MyUtil.percentage2fivegrade(55));是對異常狀況進行測試

E .實驗中assertEquals("不及格", MyUtil.percentage2fivegrade(55));是對正常狀況進行測試

3五、針對如下代碼的的調試,下面說法正確的是(AEG)

1 package ljp;

2 public class HelloJDB {

3 public static void main(String[] args) {

4 int i = 5;

5 int j = 6;

6 int sum = add(i, j);

7 System.out.println(sum); 8

9 sum = 0;

10 for(i=0; i< 100; i++)

11 sum += i;12

13 System.out.println(sum);

14 }

15

16 public static int add(int augend, int addend){

17 int sum = augend + addend;

18 return sum;

19 }

20}

A .IDEA中能夠設置條件斷點 i==50,這樣循環執行到i等於50時停下

B .IDEA中能夠設置條件斷點 i=50,這樣循環執行到i等於50時停下

C .JDB中能夠設置條件斷點 i=50,這樣循環執行到i等於50時停下

D .JDB中能夠設置條件斷點 i==50,這樣循環執行到i等於50時停下

E .IDEA中和JDB中均可以單步運行到i等於50

F .JDB中要想調試程序,用javac編譯時必定帶上-d參數

G .JDB中要想調試程序,用javac編譯時必定帶上-g參數

3六、若是有如下的程序代碼:

Int x=100;
Int y=100;
Integer wx=x;
Integer wy=y;
System.out.println(x==y);
System.out.println(wx==wy);

在JDK5以上的環境編譯與執行,則顯示的結果是(A)

A .true、true

B .true、false

C .false、true

D .編譯失敗

3七、若是有如下的程序代碼:

int x = 200;
int y = 200;
Integer wx = x;
Integer wy = y;
System.out.println(x == wx);
System.out.println(y == wy);

在 JDK5 以上的環境編譯與執行,請問顯示結果爲什麼?(A)

A .true、true

B .true、false

C .false、true

D .編譯失敗

3八、若是有如下的程序代碼:

int[] arr1 = {1, 2, 3};
int[] arr2 = new int[arr1.length]
arr2 = arr1;
for(int value : arr2) {
System.out.printf("%d", value);
}

如下描述何者正確?(A)

A .執行時顯示123

B .執行時顯示12300

C .執行時出現 ArrayIndexOutOfBoundException 錯誤

D .編譯失敗

3九、若是有如下程序代碼:

String[] strs=new String[5];

如下描述正確的是(C)

A .產生5個String 實例

B .產生1個String 實例

C .產生0個String 實例

D .編譯失敗

40、若是有如下程序片斷:

public class Some{
 public int x;
 public Some(int x){
  x=x;
   }
   }

如下描述正確的是(BC)

A .new Some(10)建立對象後,對象成員x值爲10

B .new Some(10)建立對象後,對象成員x值爲0

C .Some s = new Some(10)後,可以使用s.x取得

D .編譯失敗

4一、若是有如下程序片斷:

public class Some{
 private final int x;
    public some(){}
 public Some(int x){
  this.x=x;
 }
   }

如下描述正確的是(D)

A .new Some(10)建立對象後,對象成員x值爲10

B .new Some(10)建立對象後,對象成員x值爲0

C .Some s = new Some(10)後,可以使用s.x取值

D .編譯失敗

4二、若是有如下程序片斷:

class Some{
 void doService(){
  System.out.println("some service");
  }
    }
   class Other extends Some{
 @Override
 void doService(){
  System.out.println("others srrvice");
  }
    }
 public class Main{
  public static void main(String[] args){
   Other other = new Other();
   other.doService();
  }
    }

如下描述正確的是(C)

A .編譯失敗

B .顯示some service

C .顯示other service

D .先顯示some service後顯示other service

4三、若是有如下程序片斷:

class Some{
 String ToString(){
  return "Some instance";
  }
   }
   public class Main{
   public static void main(String[] args){
    Some some = new Some();
    System.out.println(some);
   }
   }

如下描述正確的是(B)

A .顯示Some Instance

B .顯示Some@XXXX,XXXX爲十六進制的數字

C .發生ClassCastException

D .編譯失敗

4四、若是有如下程序片斷:

public class Main {
public static void main(String[] args) {
try {
int number = Integer.parseInt(args[0]);
System.out.println(number++);
} catch(NumberFormatException ex) {
System.out.println("必須輸入數字");
}
}
}

執行時若沒有指定命令行自變量,如下描述何者正確?(C)

A .編譯錯誤

B .顯示"必須輸入數字"

C .顯示 ArrayIndexOutOfBoundException 堆棧追蹤

D .不顯示任何訊息

4五、若是有如下程序片斷:

public class Main {
public static void main(String[] args) {
Object[] objs = {"Java", "7"};
Integer number = (Integer) objs[1];
System.out.println(number);
}
}

根據圖 8.2,如下描述何者正確?(C)

A .編譯錯誤

B .顯示 7

C .顯示 ClassCastException 堆棧追蹤

D .不顯示任何訊息

4六、FileInputStream的建構式使用throws宣告了FileNotFoundException,若是有如下程序片斷:

public class FileUtil {
public static String readFile(String name) {
FileInputStream input = null;39
try {
input = new FileInputStream(name);
...
} catch(_____________________ ex) {
...
}
}
}

請問空格處填入如下哪些選項能夠經過編譯?(ACD)

A .Throwable

B .Error

C .IOException

D .FileNotFoundException

4七、若是有如下程序片斷:

import java.util.*;
public class Main {
public static void main(String[] args) {
foreach(new HashSet());
foreach(new ArrayList());
}
private static void foreach(___________ elements) {
for(Object o : elements) {
...
}
}
}

空白部份指定哪些型態能夠經過編譯?(CD)

A .HashSet

B .ArrayList

C .Collection

D .Iterable

4八、若是有如下程序片斷:

import java.util.*;
class Student {
String number;
String name;
int score;
Student(String number, String name, int score) {
this.number = number;
this.name = name;
this.score = score;
}
}
public class Main {
public static void main(String[] args) {
Set<Student> students = new TreeSet<>();
students.add(new Student("B1234", "Justin", 90));
students.add(new Student("B5678", "Monica", 100));
...
foreach(students);
}
private static void foreach(Collection<Student> students) {
for(Student student : students) {
System.out.println(student.score);
}
}
}

如下描述何者正確?(D)

A .依 score 從小至大顯示結果

B .依 toString()天然排序由小至大顯示結果

C .依 hashCode()天然排序由小至大顯示結果

D .拋出 ClassCastException

4九、輸入輸出串流的父類別是哪兩個?(AC)

A .InputStream

B .Reader

C .OutputStream

D .Writer

50、如下哪兩個類別爲 Reader、Writer 提供緩衝區做用?(BD)

A .BufferedInputStream

B .BufferedReader

C .BufferedOutputStream

D .BufferedWriter

5一、如下哪兩個類別分別擁有 readObject()、writeObject()方法?(BC)

A .BufferedInputStream

B .ObjectInputStream

C .ObjectOutputStream

D .BufferedOutputStream

5二、若是有如下程序片斷:

BufferedReader reader = new BufferedReader(new ________________);

空白部份指定哪些型態能夠經過編譯?(BC)

A .FileInputStream("Account.data")

B .FileReader("Main.java")

C .InputStreamReader(new FileInputStream("Main.java"))

D .ObjectReader("Account.data")

5三、哪些 JDBC 驅動程序能夠有跨平臺的特性?(CD)

A .TYPE 1

B .TYPE 2

C .TYPE 3

D .TYPE 4

5四、JDBC 相關接口或類別,是放在哪一個套件之下加以管理?(C)

A .java.lang

B .javax.sql

C .java.sql

D .java.util

5五、使用 JDBC 時,一般會須要處理哪一個受檢異常( Checked Exception)?(B)

A .RuntimeException

B .SQLException

C .DBException

D .DataException

5六、關於 Connection 的描述,何者正確?(AB)

A .能夠從 DriverManager 上取得 Connection

B .能夠從 DataSource 上取得 Connection

C .在方法結束以後 Connection 會自動關閉

D .Connection 是線程安全( Thread-safe)

5七、取得 Connection 以後,如何取得 Statement 對象?(A)

A .conn.createStatement()

B .conn.buildStatement()

C .conn.getStatement()

D .conn.createSQLStatement()

5八、使用 Statement 的 executeQuery()方法,會傳回哪一個型態?(C)

A .int

B .boolean

C .ResultSet

D .Table

5九、若是有如下的程序代碼:

System.out.println(10/3);

如下描述正確的是(A)

A .執行時顯示3

B .執行時顯示3.3333.....

C .執行時出現錯誤

D .編譯失敗

60、若是有如下的程序代碼:

float radius = 88.2;
double area = 2 * 3.14 * radius * radius;
System.out.println(area);

如下描述何者正確?(D)

A .執行時顯示 48853.6272

B .執行時顯示 48853

C .執行時出現錯誤

D .編譯失敗

相關文章
相關標籤/搜索