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