《java基礎(chǔ)面試題(答案)》由會(huì)員分享,可在線閱讀,更多相關(guān)《java基礎(chǔ)面試題(答案)(5頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1、如下哪些不是java的關(guān)鍵字?
A)const B)NULL C) false D)this E) native
答:B
2、關(guān)于垃圾收集的哪些敘述是對(duì)的
A)程序開發(fā)者必須自己創(chuàng)建一個(gè)線程進(jìn)行內(nèi)存釋放的工作
B)垃圾收集將檢查并釋放不在使用的內(nèi)存
C)垃圾收集允許程序開發(fā)者明確指定并立即釋放該內(nèi)存
D)垃圾收集能夠在期望的時(shí)間釋放被java對(duì)象使用的內(nèi)存
答:B
3、已知表達(dá)式 int m [ ] = {0,1,2,3,4,5,6}; 下面哪個(gè)表達(dá)式的值與數(shù)組下標(biāo)量總數(shù)相等?
A)m.length() B)m.length C)m.leng
2、th()+1 D)m.length-1
答:D
4、已知如下代碼: public class Test { long a[] = new long [10]; public static void main(String arg[] ){ System.out.print(a[6]); } } 請(qǐng)問哪個(gè)語句是正確的?
A)Output is null. B)Output is 0 C)When compile, some error will occur.
D)When running, some error will occur.
答:C
5、已知如下代碼: publ
3、ic class Test { public static void main(String arg[] ) { int i = 5; do{ System.out.print(i); }while(--i>5); System.out.print(“finished”); } } 執(zhí)行后的輸出是什么?
A)5 B)4 C)6 D)finished
答:AD
6、已知如下代碼:
switch (m) {
case 0: System.out.print(“Condition 0”);
case 1: System.out.print(“Condition 1”);
4、
case 2: System.out.print(“Condition 2”);
case 3: System.out.print(“Condition 3”); default: System.out.print(“Other Condition ”); } 當(dāng)m的值為什么時(shí)能輸出“Condition 2”
A)0 B)1 C)2 D)3 E) 4 F)None
答:ABC
18、下面的哪些聲明是合法的?
A)long 1 = 4990 B)int i = 4L C)float f =1.1 D)double d = 34.4
答:AD
23、給出下
5、面代碼:
public class Person{
static int arr[ ] =new int[10];
public static void main(String a [ ]){
System.out.println(arr[ 1 ]); } } 哪個(gè)選項(xiàng)是正確的?
A. 編譯時(shí)將產(chǎn)生錯(cuò)誤; B. 編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤; C. 輸出0; D. 輸出空。 答:C
24、關(guān)于運(yùn)算符>>和>>>描述正確的是
A. >>執(zhí)行移動(dòng) B. >>執(zhí)行翻轉(zhuǎn) C. >>執(zhí)行有符號(hào)右移,>>>執(zhí)行無符號(hào)右移
D. >>執(zhí)行無符號(hào)右移,>>>執(zhí)行有符
6、號(hào)右移
答:C
26、選出Java語言中的關(guān)鍵詞(多選)
A. NULL B. sizeof C. implements D. extends
答:CD
27、現(xiàn)有下述代碼,選擇出能夠打印出”Test2”的數(shù)字(多選)
switch(x){
case 1: System.out.println("Test1");
case 2:
case 3: System.out.println("Test2"); break; }
System.out.println("Test3");
A.0 B.1 C.2 D. 3 E. 4
答:CD
28、
7、字符(char)的整型表示范圍為
A. 0 . . . 32767 C. -256 . . . 255
B. 0 . . . 65535 D. -32768 . . . 32767
答:B
29、選擇Java語言中的基本數(shù)據(jù)類型(多選)
A. byte B. Integer C. String D. char E. long
答:ADE
30、從下列選項(xiàng)中選擇正確的Java表達(dá)式(多選)
A. int k=new String(“aa”); B. String str=String(“bb”);
C. char c=74;
8、 D. long j=8888;
答:CD
34、關(guān)于Java語言,下列描述正確的是(多選)
A. switch 不能夠作用在String類型上
B. List, Set, Map都繼承自Collection接口
C. Java語言支持goto語句
D. GC是垃圾收集器,程序員不用擔(dān)心內(nèi)存管理
答:AD
36、int[][] myArray=new int[][]{new int[]{5,6,2},new int[]{6,9,7,8,3},new int[]{3,2}}; myArray[2][2]的值是()
9、
A. 9 B. 2 C. 6 D. 越界
答:D
37、下列描述中,那些符合Java語言的特征(多選)
A. 支持跨平臺(tái)(Windows,Linux,Unix等)
B. GC(自動(dòng)垃圾回收),提高了代碼安全性
C. 支持類C的指針運(yùn)算操作
D. 不支持與其它語言書寫的程序進(jìn)行通訊
答:ABD
46、給出下面代碼段(多選) 1、switch (m) 2、{ case 0 :System.out.println(“case 0”);
1. case 1: System.out.println(“case 1”); break;
2. case
10、 2:
3. default : System.out.println(default”);
4. }
下列m 的哪些值將引起 “default ”的輸出?
A.0 B. 1 C. 2 D. 3
答:CD
48、main方法的返回類型是:
A.int B.void C.boolean D.static E. public
答:B
50、下列代碼哪幾行會(huì)出錯(cuò)
1) public void modify() {
2) int I, j, k;
3) I=100;
4) while(I>0){
5) j=I*2;
6) Syste
11、m.out.println(“The value of j is “ +j);
7) k=k+1;
8) I--;
9) }
10) }
A. line 4 B. line 6 C. line 7 D. line 8
答:C
53、下面正確的是
A)float f = 3.14; B)byte i = 225; C)long k = 33; D)int p[ ][ ];
答:CD
54、下列創(chuàng)建數(shù)組的方法正確的是
A)int two Dim[ ][ ] = new int[4][ ]; B)int two Dim[ ][ ] = new
12、int[ ][4]; C)int two Dim[ ][ ] = new int[4][5]; D)char a[ ] = {‘A’, ‘B’}; E)char c[ ]
= “ABC” ;
答:ACD
66、判斷下列語句是否正確,如果有錯(cuò)誤,請(qǐng)指出錯(cuò)誤所在?
void foo(final int []arg){ if (arg.length > 1) arg[0] = 5; }
答:正確
81、現(xiàn)有1~100共一百個(gè)自然數(shù),已隨機(jī)放入一個(gè)有98個(gè)元素的數(shù)組a[98]。要求寫出一個(gè)盡量簡(jiǎn)單的方案,找出沒有被放入數(shù)組的那2個(gè)數(shù),并在屏幕上打印這2個(gè)數(shù)。注
13、意:程序不用實(shí)現(xiàn)自然數(shù)隨機(jī)放入數(shù)組的過程。
答:
int[] b = new int[]{....存入98個(gè)隨機(jī)的1~100的整數(shù)};
int[] a = new int[100];
for(int t : b) a[t-1]=t;
for(int t=0; t < a.length; t++)
if(a[t]==0)
System.out.println(t+1);
82、寫一段程序用冒泡算法對(duì)數(shù)組int[]array內(nèi)的元素有小到大重新排列 答: pacakge com.tarena;
class BubbleSort{
public static
14、void main(String[] args) {
int[] arr = {8,4,2,3,5}; arr = sort(arr); for(int a : arr) { System.out.print(a+"\t"); } }
public static int[] sort(int[] array) { int cnt; int n = array.length;
do{ cnt = 0; for( int i=1; i
15、rray[i-1]; array[i-1] = temp; cnt++; } } n--; }
while( cnt!=0 ); return array; } }
90、現(xiàn)有一個(gè)32位的整型變量 value和一個(gè)有32個(gè)元素的數(shù)組a[32] 要求:a.對(duì)value隨機(jī)賦值;b.讓數(shù)組a[n]的值等于value“位n”的值,0<=n<=31。 舉例:如果value的“位0”(Bit0)=0,那么a[0]=0;如果value的“位10”(Bit10)=1,那么a[10]=1。
答:
package com.tarena;
import java.util.Random;
pub
16、lic class TestArray {
final static char[] digits = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 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 };
public static void main(String[] args) {
Random r = new Random(); int value = r.nextInt(); System.out.println(value);
char[] cs =
17、 TestArray.test(value, 1); int[] is = new int[32];
for (int i = 0; i < cs.length; i++) { is[i]=((int)cs[i])==0? cs[i]:cs[i]-48; }
for (int i = 0; i < is.length; i++) { System.out.print(is[i]); } }
public static char[] test(int i, int shift) { char[] buf = new char[32]; int charPos = 32; int ra
18、dix = 1 << shift; int mask = radix - 1; do { buf[--charPos] = digits[i & mask]; i >>>= shift; } while (i != 0); return buf;
} }
91、排序都有哪幾種方法?用偽代碼實(shí)現(xiàn)一個(gè)快速排序
答:排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序) 快速排序的偽代碼:使用快速排序方法對(duì)a[ 0 :n- 1 ]排序從a[ 0 :n- 1 ]中選擇一個(gè)元素作為middle,該
19、元素為支點(diǎn);把余下的元素分割為兩段left和right,使得left中的元素都小于等于支點(diǎn),而right中的元素都大于等于支點(diǎn); 遞歸地使用快速排序方法對(duì)left進(jìn)行排序;遞歸地使用快速排序方法對(duì)right進(jìn)行排序;所得結(jié)果為left + middle + right。
95、簡(jiǎn)述java中的垃圾回收
答:GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。
20、Java 程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。要請(qǐng)求垃圾收集,可以調(diào)用下面的方法:System.gc() 或Runtime.getRuntime().gc() 。
104、Bit和 Byte是什么意思?它們之間有什么關(guān)系?
答:bit中文名稱是位,是用以描述電腦數(shù)據(jù)量的最小單位。 byte(字節(jié))是計(jì)算機(jī)信息技術(shù)用于計(jì)量存儲(chǔ)容量和傳輸容量的一種計(jì)量單 位1byte=8bit
105、用最有效的方法算出2乘已8對(duì)于幾?
答: 2 << 3。
107、swtich是否能作用在byte上?是否能作用在long上? 是否能作用在char上? 是否能作用在short上?是否
21、能作用在String上?
答:可以用在byte、short、int、char和枚舉類型。
108、char型變量中能不能存貯一個(gè)中文漢字?為什么?
答:能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的。
118、java中用char型變量中能不能存放一個(gè)中文漢字?
答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文字符是沒問題的。
126、在程序中退出兩重循環(huán)可以用哪些語句?
答:可以使用標(biāo)簽: loop1: for (;;) { for (;;) { break loop1; } }