Java測試題及答案
學習是把知識能力思維方法等轉化為你的私有產權的重要手段,是“公有轉私”的重要途徑。以下是百分網小編整理的Java測試題及答案,歡迎學習!
試題1
指出下面語句沒有編譯錯誤的是( )。
A. long n = 999999999999;
B.int n = 999999999999L;
C. long n = 999999999999L;
D. double n = 999999999999;
試題2
完成代碼計算10的階乘并輸出,應該填入的代碼是( )
long result = 1;
for(int i = 2; i <= 10; i++) {
< 填入代碼 >
}
System.out.println(”result= ” + result);
… … …
A. result = result * i;
B. result = i*i;
C. result = i*(i+1);
D. reslut = i*(i-1);
試題3
下列關于數組的聲明錯誤的是
A.int[] arry = new int[100];
B. int[3] arry = {1,2,3}
C. int[] arry = new int[]{1,2,3}
D. int[][] arry = new int[3][]
試題4
實現對數組arry的冒泡排序,應填入的代碼是
public static void bubbleSort(int[] arry) {
int len = arry.length;
for (int i = 1; i < len; i++) {
boolean asc = true;
< 填入代碼 >
if (asc) return;
}
}
private static void swap(int[] arry, int i, int j) {
int temp = arry[i];
arry[i] = arry[j];
arry[j] = temp;
}
A.
for (int j = len-1; j > i; j–) {
if (arry[j] < arry[j - 1]) {
swap(arry, j, j – 1);
asc = false;
}
}
B.
for (int j = len – 1; j >= i; j–) {
if (arry[j] < arry[j - 1]) {
swap(arry, j, j – 1);
asc = false;
}
}
C.
for (int j = len – 1; j >= i; j–) {
if (arry[j] > arry[j - 1]) {
swap(arry, j, j – 1);
asc = false;
}
}
D.
for (int j = len – 1; j >= i; j–) {
if (arry[j] < arry[j - 1]) {
swap(arry, j, j – 1);
asc = true;
}
}
試題5
數列1,1,2,3,5,…(從第三項開始每一項是前兩項之和)
下面的代碼用于求第100項的值,應填入的代碼是
int n = 100; //項目數
long n1 = 1, n2 = 1;
for (int i = 3; i <= n; i++) {
< 填入代碼 >
}
System.out.println(n2);
A. n2 = n1 + n2;
B. n2 = n1 + n2; n1 = n2;
C. n2 = n1 – n2; n1 = n2 – n1;
D. n2 = n1 + n2; n1 = n2 – n1;
試題6
語句System.out.println(1+2+”java”+3+4)輸出的結果是( C )。
A. 3java34
B. 12java34
C. 3java7
D. 12java7
試題7
下面程序的輸出結果是:C
public static void main(String[] args) {
int d = 325;
int sum = 0;
while (d > 0) {
int n = d % 10;
sum += n;
d /= 10;
}
System.out.println(sum);
}
A. 10
B. 12
C. 5
D. 32
試題8
下面的程序沒有編譯錯誤的是:
A.
public class Main{
public static void main(String[] args) {
byte b1 = 1;
byte b2 = 2;
byte b = b1+b2;
}
}
B.
public class Main{
public static void main(String[] args) {
int n;
for(int i=0;i<10;i++) {
n +=i;
}
}
}
C.
public class Main{
public static void main(String[] args) {
int n = 100;
for(;;) {
}
System.out.println(n);
}
}
D.
public class Main{
public static void main(String[] args) {
int n = 100;
while(n>0);
System.out.println(n);
}
}
試題9 D
Java語言中int類型標示整數的最大范圍是
A. -2147483647 ~ 2147483647
B. -2147483648 ~ 2147483647
C. -32767~32767
D. -32768~32767
試題10 A
Java語言中字符串“學Java”所占的內存空間是
A. 6個字節
B. 7個字節
C. 10個字節
D. 11個字節
試題11
下面的代碼使用二分法在有序的int類型數組arry查找元素key,如果找到輸出元素在數組中的下標
否則輸出-1,應該填入的代碼是:
public static void main(String[] args) {
int key = 16;
int[] arry = { 1, 3, 5, 7, 8, 10, 12, 15, 16 };
int low = 0;
int high = arry.length – 1;
while (low <= high) {
< 填入代碼 >
else {
System.out.println(mid);
return;
}
}
System.out.println(-1);
}
A.
int mid = (low + high) >>> 1;
if (arry[mid] > key)
low = mid + 1;
else if (arry[mid] < key)
high = mid – 1;
B.
int mid = (low + high) >>> 1;
if (arry[mid] < key)
low = mid;
else if (arry[mid] > key)
high = mid – 1;
C.
int mid = (low + high) >>> 1;
if (arry[mid] < key)
low = mid + 1;
else if (arry[mid] > key)
high = mid;
D.
int mid = (low + high) >>> 1;
if (arry[mid] < key)
low = mid + 1;
else if (arry[mid] > key)
high = mid – 1;
試題12
下面的代碼試圖從26個小寫字母中隨機抽取5個不重復的字母,并輸出到控制臺。
其中random(int n)方法用于返回大于等于0且小于n的隨機整數。應填入的代碼是:
public static void main(String[] args) {
int num = 10;
char[] ch = { ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’,
‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ’s’, ‘t’, ‘u’, ‘v’, ‘w’,
‘x’, ‘y’, ‘z’ };
int len = ch.length;
char[] result = new char[num]; // 用于存放抽取結果
boolean[] flags = new boolean[len];
< 填入代碼 >
for (int i = 0; i < result.length; i++) {
System.out.print(result[i]+” “);
}
}
public static int random(int n) {
Random r = new Random();
return r.nextInt(n);
}
A.
for (int i = 0; i < num; i++) {
int r;
do {
r = random(len);
} while (!flags[r]);
result[i] = ch[r];
flags[i] = false;
}
B.
for (int i = 0; i < num; i++) {
int r;
do {
r = random(len);
} while (!flags[r]);
result[i] = ch[r];
flags[r] = true;
}
C.
for (int i = 0; i < num; i++) {
int r;
do {
r = random(len);
} while (flags[r]);
result[i] = ch[r];
flags[r] = true;
}
D.
for (int i = 0; i < num; i++) {
int r;
do {
r = random(len);
} while (!flags[r]);
result[i] = ch[r];
flags[r] = true;
}
試題13
對JDK描述錯誤的是 C
A. 運行Java程序只要有JRE環境就可以,不一定需要全部JDK的功能
B. JDK中包括JVM、核心類庫、Java開發工具(java,javac)等
C. JDK本身也是平臺無關的,不同的操作系統安裝的JDK是一樣的
D. JDK的全稱是 Java Development Kit
試題14
對CLASSPATH描述正確的是 D
A. 設置CLASSPATH用于指示操作系統找到JDK命令,如java或javac
B. CLASSPATH設置不對,可能會導致java命令失敗,但不會導致javac失敗
C. CLASSPATH的設置中可以包含目錄路徑但不可以包含文件路徑
D. java命令可以通過 -cp 參數指定類路徑
試題15
下面代碼的輸出結果是 b
public class Main {
public static void main(String[] args) {
int n1 = 1;
int n2 = 2;
n1 = n1 + n2; 3
n2 = n1 – n2; 1
n1 = n1 – n2; 2
System.out.println(n1 + “,” + n2);
}
}
A. 1,2
B. 2,1
C.1,3
D. 3,2
試題16
下面代碼的輸出結果是 C
public class Main {
public static void main(String[] args) {
int n = 100;
int m = 200;
System.out.println(f(n,m));
System.out.println(n);
}
public static int f(int m, int n) {
n = m+n;
return n;
}
}
A. 300
300
B.
100
100
C.
300
100
D.
100
300
試題17
下面關于Java語言中方法的說法錯誤的是 :D
A. 方法調用時參數類型必須符合方法的定義
B. 參數傳遞是值傳遞的方式
C. 如果方法沒有返回值必須聲明返回為void
D. 如果方法定義為返回void,則方法中不能出現return語句
試題18
下面不屬于Java語言特點的是:C
A. 平臺無關
B. 面向對象
C. 支持指針類型
D. 垃圾回收機制
試題19
下面代碼的輸出結果是 B
double money = 3.0;
money -= 2.9;
System.out.println(money==0.1);
A. 0.1
B. 0.10000000000000009
C. 0.099
D. 0
試題20
關于數組的說法正確的是 D
A. 數組類型屬于基本類型
B. 數組創建后,其的長度可以改變
C. int[]類型的變量可以直接賦值給long[]類型的變量
D. 數組的長度必須在創建是指定
【 Java測試題及答案】相關文章:
計算機二級Java測試題及答案03-18
2017計算機二級JAVA預測試題及答案03-27
全國計算機二級考試java測試題與答案11-23
Java語言基礎試題及答案12-04
2017計算機二級考試《JAVA》備考測試題「帶答案」03-23
Java基礎筆試題及答案03-26
2017年Java考試預習測試題03-30
Photoshop測試題及答案06-03