單選題:(每道題目2分)
1. 下列哪個聲明是錯誤的?(B)
A. int i=10;
B. float f=1.1; //float f=1.1f
C. double d=34.4;
D. byte b=127;
long類型的數據加后綴L或者l
float類型的數據加后綴F或者f
整數默認是int類型
浮點數默認是double類型
2. 下面哪個不是java中的關鍵字?(C)
A. public
B. true
C. main
D. class
3. 下面程序哪個語句是正確的(C)
A. byte a=0,b=3; byte c =a+b;//a+b的類型為int
B. short s =23; s=s+12;
//s+12底層是轉成int進行相加,所以結果為int。
C. short s=23; s+=12; //相當于s=(short)(s+12)
D. float f = 23+23.23; //23+23.23的結果為double
4. 下面程序執行的結果是?(B)
1
2
3
4
5
6
7
|
class Test { public static void main(String[] args) { System.out.println(“”+‘a'+ 1 ); } } |
A. 98
B. a1
C. 971
D. 197
//空串放前相當于字符串的拼接,空串放后,‘a'+1,先做運算,再與空串進行拼接,byte,short,char可以自動轉為int,
5. 下面程序執行的結果是?(B)
1
2
3
4
5
6
7
8
9
|
int i = 100 ; while ( true ) { if (i++ > 100 ) //i先計算在自加 { break ; } System.out.println(i); } |
A. 100
B. 101
C. 102
D. 報錯
6. 下面程序的運行結果是 ( D )
1
2
3
4
5
|
int a= 3 ,b= 1 ; if (a==b) { System.out.println( "a=" +a); } |
A. a=1
B. a=3
C. 編譯錯誤
D. 正常運行但沒有輸出
7. 下面程序的運行后,結果正確的是:(B)
1
2
|
inta= 1 ,b= 2 ; intc=(a+b> 3 ?a++:++b); //a=1,b=3,c=3 |
A. a=2,b=3
B. a=1,b=3
C. a=1,b=2
D. c=2
8. 下面程序的運行結果(B)
1
2
3
4
5
6
7
8
9
10
11
12
|
classDemo { public static int fun( int c) { return c+= 2 ; } public static void main(String[] args) { int temp = fun( 2 ); System.out.println(temp); } } |
A. 2
B. 4
C. 6
D. 8
9. 下面數組定義錯誤的是(C)
A. int [] arr ={23,45,65,78,89}; //靜態初始化
B. int [] arr=new int[10] ; //動態初始化
C. int [] arr=new int[4]{3,4,5,6};
D. int [] arr={‘a', 23 , 45 , 6};
//‘a'可以自動轉為int,
10. 下面程序執行的結果是?(D )
1
2
3
4
5
6
7
|
int x= 1 ,y= 1 ; if (x++== 2 & ++y== 2 ) //x=2,y=2,&與&&的結果相同但是&不具有短路效果 { x= 7 ; } System.out.println( "x=" +x+ " , y=" +y); |
A. x=1 y=2
B. x=7 y=1
C. x=7 y=2
D. x=2 y=2
11. 下面不屬于基本數據類型的是(D)
A. int
B. double
C. long
D. int[] //引用類型
12. 下面程序執行的結果是?( C)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
booleanb= true ; if (b= false ) //將false賦值給b,則b=false { System.out.println( "a" ); } elseif(b) { System.out.println( "b" ); } elseif(!b) { System.out.println( "c" ); } else { System.out.println( "d" ); } |
A. a
B. b
C. c
D. d
13. 下面程序執行的結果是?(D)
1
2
3
4
5
6
7
8
9
10
11
12
|
intx=2,y=3; switch(x) { default : y++; //y=4,但是沒有break,程序繼續向下執行 case 3: y++; case 4: y++; } Sysetem. out .println( "y=" +y); |
A. 3
B. 4
C. 5
D. 6
14. 下面程序執行的結果
1
2
3
4
5
6
7
8
|
for ( int i= 1 ;i<= 10 ;i++) { if (i% 3 == 0 ) { continue ; //continue跳出本次循環 } System.out.println(“java基礎班”); } |
在屏幕上打印幾次“java基礎班”?( C )
A. 5
B. 6
C. 7
D. 8
15.閱讀下面代碼段:
1
2
3
4
5
6
7
8
|
classDemo { public static void main (String[] args) { int [] arr = new int [ 10 ]; System.out.println(arr[ 1 ]); } } |
執行結果正確的說法是( C )
A. 編譯時將產生錯誤
B. 編譯時正確,運行時將產生錯誤
C. 輸出零
D. 輸出空
16 .和下面代碼能完成相同的選項是(B)
1
2
3
4
5
6
7
8
9
10
|
int i= 1 ; intsum= 0 ; while (i<= 100 ) { if (i% 2 == 0 ) { sum=sum+i; } i++; } |
A. for (int x=1; x<=100;x++){ sum=sum+x;}
B. for (int x =0; x<=100;x+=2){ sum=sum+x;} //偶數求和
C. for (int x =1; x<=100;x+=2){ sum=sum+x;} //奇數求和
D.上述全對
17. 以下代碼輸出是( D )
1
2
3
4
5
6
7
8
9
10
|
int i= 0 ; int sum= 0 ; while (i<= 10 ) { i++; if ( i% 2 != 0 ) continue ; sum+=i; } System.out.println(sum); //sum=2+4+6+8+10 |
A. 55
B. 45
C. 35
D. 30
18. 給出下列代碼片段:
1
2
3
|
if ( x> 0 ) { System.out.println(“Hello”); } else if (x >- 3 ) { System.out.pirntln ( “I am Tom”); } else {System.out.println (“How are you?”); } |
請問將打印字符串 “How are you ?”的x的范圍是( C)
A. x>0
B. x > -3
C. x <= -3
D. x <=0 & x >-3
19. 下列代碼執行的結果為( A )
1
2
3
4
5
6
7
8
9
10
11
12
13
|
classDemo { public static void main(String[] args) { int num =max( 43 , 34 ); //num=43 System.out.println(num); } public static int max( int a, int b) { returna>b?a:b; } } |
A. 43
B. 23
C. 77
D. 9
20 .下面程序執行的結果是( A )
1
2
3
4
5
6
7
8
9
10
11
12
|
classDemo { public static void main(String [] args) { int a= 10 ; if (a++> 10 ) { a= 20 ; } System.out.println(a); } } |
A. 11
B. 12
C. 20
D. 21
多選題:(每道題目3分)
21. 下面哪些是合法的標志符( B.C.D)
A. 2variable
B. variable2
C. what$
D. _3_
//不能以數字開頭,不能是java中的關鍵字,字母區分大小寫
22. 下列方法中能和方法int max(int a, int b, double c)構成重載關系的是( B,C )
A. double max(int a, int b, double c)
B. void max(int a, double c, int b)
C. int max(double a, int b)
D. int max(int x, int y, double z)
//同一個類中,方法名相同,參數類型或參數個數不同,與返回值類型無關
23. 下面的說法正確的是( A,C, )
A. byte ,short,char 數據類型可以自動轉化為int
B. float 數據類型可以自動轉換為long。
C. 在java語言中默認小數為double
D. byte a=23; byte b=12; a+b的結果為byte類型 //int
24. 下面關于方法描述正確的是(A,D)
A. 方法是對功能代碼塊的封裝
B. 方法沒有返回值的時候什么都不用寫
C. 沒有返回值的方法,不能有return 語句
//每句后面都可以以有默認的return ;也可以手動加上
D. 方法是可以沒有形參的
25. 下面關于循環描述正確的是(A,D)
A. while循環先判斷循環條件,后執行循環操作
B. while 至少會執行一次
C. do-while先進行循環條件判斷,后執行循環操作
D. do-while循環至少執行一次,后進行循環判斷
簡答題目:(每道題目5分)
26:JDK,JRE,JVM是什么,有什么用,它們之間又有什么關系?
JDK:java程序的開發環境,包含JRE和java開發工具
JRE:java程序的運行環境,包含jvm和java的核心類庫
JVM:保證java語言的跨平臺性
27:數組是基本類型嗎? Java中基本數據類型分類有哪些?
不是,基本數據類型分為4類8種;
整型:byte short int long
字符型:char
布爾類型:boolean
浮點型:float double
28:方法是什么?它的運行特點是什么?
方法:完成特定功能的代碼塊
運行特點:不調用不執行;方法調用的時候不用再傳遞數據類型;方法與方法是平級的,不能嵌套調用;方法定義的時候參數之間用逗號隔開;方法不調用不執行;如果方法有明確的返回值,一定要用return帶回一個值。
29:數組是什么?我們根據什么可以獲取數組中的元素呢?
數組是存儲同一種數據類型并且可以存儲多個元素的容器;我們可以根據數組的索引來獲取數組中的元素。
30:請說說什么時候使用變量,什么時候使用if語句,什么時候使用循環語句?說的有理即可得分。
當一個值不固定,在一定范圍內改變時,就需要將其定義為變量。
當需要進行判斷的時候用if語句;
當出現大量重復的代碼時,就需要使用循環語句。
編程題目:(每道題目10分)
注意:格式,命名規范,注釋。
31:在main方法中寫一段代碼,實現在控制臺輸出九九乘法表。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.practice1; //在main方法中寫一段代碼,實現在控制臺輸出九九乘法表。 public class PrintTable { //定義程序入口 public static void main(String[] args) { //控制外層循環,即第一個乘數 for ( int i = 1 ; i < 10 ; i++) { //控制內層循環即第二個乘數 for ( int j = i; j < 10 ; j++) { System.out.print(i+ "*" +j+ "=" +i*j+ " " ); } //每打印一行將換行 System.out.println(); } } } |
32:請寫一個方法sum,實現求兩個數之和。要求在main方法中調用。
1
2
3
4
5
6
7
8
9
10
11
12
|
package com.practice1; //請寫一個方法sum,實現求兩個數之和。要求在main方法中調用。 public class SumDemo { //提供程序入口 public static void main(String[] args) { //調用求和的方法 System.out.println(add( 10 , 20 )); } public static int add( int i, int j) { returni+j; } } |
33:請寫一個方法printArray,實現遍歷數組。要求在main方法中調用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package com.practice1; //請寫一個方法printArray,實現遍歷數組。要求在main方法中調用。 public class ArrayDemo { //提供程序入口 public static void main(String[] args) { //定義一個數組 int [] arr={ 1 , 2 , 5 , 3 , 6 , 8 }; //調用數組的遍歷方法 printArr(arr); } // 定義一個遍歷數組的方法 private static void printArr( int [] arr) { System.out.print( "[" ); for ( int i = 0 ; i < arr.length; i++) { if (i==arr.length- 1 ){ System.out.print(arr[i]); } else { System.out.print(arr[i]+ " " ); } } System.out.print( "]" ); } } |
總結
以上就是本文關于Java編程基礎測試題分享的全部內容,有問題可以隨時留言,小編會及時回復大家的。希望對大家學習Java有所幫助!感謝閱讀。
原文鏈接:http://blog.csdn.net/zhangwen809877665/article/details/59112146