71.C
成都創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專(zhuān)注成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)推廣,域名與空間,網(wǎng)站空間,成都網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系成都創(chuàng)新互聯(lián)。
package?test3;
public?class?Test?{
public?static?void?main(String?args[])?throws?Exception?{
String[]?s={"ab","bc","cd"};//正確
Integer?results[]={new?Integer(1),new?Integer(2)};//正確
int[]a;?a={3,4,5,6};//錯(cuò)誤
int[]?b?=?{3,4,5,6};
float?f4[]=new?float[]{1.0f,2.0f,3.0f};
}
}
72.A
無(wú)法明白A是什么意思,跟誰(shuí)相等?
package?test3;
public?class?Test?{
public?static?void?main(String?args[])?throws?Exception?{
int?a[]?=?{3,4,5};
int[]?b?=?{3,4,5};//聲明一個(gè)數(shù)組,用int[]a或者int?a[]都正確
System.out.println(a.length);//數(shù)組的長(zhǎng)度可以用數(shù)組的屬性length獲得
int?c[]?=?new?int[];//錯(cuò)誤?,證明數(shù)組在使用前必須明確其長(zhǎng)度
}
}
73.B
74.A
對(duì)于變量:
public, static final
對(duì)于方法:
public abstract
75.D
可以什么方法都沒(méi)有
76BD
77 A
78D
79A
80A
選擇題 (25道)
1. 下列選項(xiàng)中,不屬于Java語(yǔ)言特點(diǎn)的一項(xiàng)是( C )。
A:分布式 B:安全性 C:編譯執(zhí)行 D:面向?qū)ο?/p>
2. Java語(yǔ)言的特點(diǎn)與 C/C+ +語(yǔ)言的比較中說(shuō)法錯(cuò)誤的是:( D )
A:簡(jiǎn)單性Java繼承了 C/C+ +的語(yǔ)法 ,丟棄了其中不常用又容易引起混淆的功能。
B:Java是一種純面向?qū)ο蟮恼Z(yǔ)言 ,具有封裝、繼承 ( Inheritance)和多態(tài)( Polymorphism)的特點(diǎn)。
C:Java應(yīng)用程序可憑借URL打開(kāi)并訪(fǎng)問(wèn)網(wǎng)絡(luò)上的對(duì)象。
D:解釋型Java寫(xiě)成的源代碼需要被編譯成高階的字節(jié)碼 ,它們與機(jī)器架構(gòu)有關(guān)。
3. 閱讀下列代碼,選出該代碼段正確的文件名( C )。
class A{
void method1(){
System.out.println("Method1 in class A");
}
}
public class B{
void method2(){
System.out.println("Method2 in class B");
}
public static void main(String[] args){
System.out.println("main() in class B");
}
}
A: A.java B:A.class C: B.java D: B.class
4. 如果一個(gè)類(lèi)的文件名為Student.java,但是類(lèi)的代碼為:
public class Student {
public static void main(String[] args) {
System.out.println(82);
}}
那么下列說(shuō)法正確的是:( B )
A:程序運(yùn)行結(jié)果為8; B:程序運(yùn)行結(jié)果為2;
C:程序運(yùn)行結(jié)果為0; D:程序編譯錯(cuò)誤,不能運(yùn)行;
5. 符合對(duì)象和類(lèi)的關(guān)系的是( D )。
A:教師和學(xué)生 B:書(shū)和房子
C:狗和貓 D:飛機(jī)和交通工具
6. 關(guān)于垃圾回收機(jī)制描述不正確的是( B )
A:垃圾回收機(jī)制不須通過(guò)程序員調(diào)用相應(yīng)方法,也能自動(dòng)啟動(dòng)。
B:java程序員用System.gc()方法一定能進(jìn)行垃圾回收;
C:垃圾回收機(jī)制屬于jvm自動(dòng)操作,java程序員可以不進(jìn)行垃圾回收操作。
D:垃圾回收機(jī)制并不是由操作系統(tǒng)自動(dòng)執(zhí)行。
7. 編譯下面源程序會(huì)得到哪些文件( D )?
class A1{
}
class A2 exdends A1{
}
public class B{
public static void main(String[] args){
}
}
A: 只有B.class文件 B:只有A1.class和A2.class文件
C: 編譯不成功 D:A1.class、A2.class和B.class文件
8. 下列關(guān)于基本數(shù)據(jù)類(lèi)型的說(shuō)法中,不正確的一項(xiàng)是( D )。
(A)boolean類(lèi)型變量的值只能取真或假
(B)float是帶符號(hào)的32位浮點(diǎn)數(shù)
(C)double是帶符號(hào)的64位浮點(diǎn)數(shù)
(D)char是8位Unicode字符
9. 下列(D )是合法的標(biāo)識(shí)符?
A:12class B:void C:-5 D:_blank
10. 在編寫(xiě)Java程序時(shí),如果不為類(lèi)的成員變量定義初始值,Java會(huì)給出它們的默認(rèn)值,下列說(shuō)法中不正確的一個(gè)是( D )。
A:byte的默認(rèn)值是0 B:boolean的默認(rèn)值是false
C: char類(lèi)型的默認(rèn)值是’\0’ D: long類(lèi)型的默認(rèn)值是0.0L
11. 下列程序執(zhí)行的結(jié)果是:( B )
public class News {
public static void main(String[] args) {
System.out.println(1+2+ "aa"+3);
}}
A: "12aa3" B: "3aa3 " C: "12aa" D: "aa3"
12. 表達(dá)式(12==0) (1/0 1)的值為( B )。
A: true B: false C: 0 D: 運(yùn)行時(shí)拋出異常
13. 下列循環(huán)體執(zhí)行的次數(shù)是( C )。
int y=2, x=4;
while(--x != x/y){ }
A : 1 B: 2 C : 3 D : 4
14. 已知如下代碼:
switch(m){
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default:System.out.println("Other Condition");
}
當(dāng)m的值為( D )時(shí),輸出“Condition 3”
(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3
15. 下列語(yǔ)句輸出的結(jié)果是:( C )
public class X3 {
public static void main(String[] args) {
for(int i=0; i10; i++){
if(i==5) break;
System.out.print(i);
}
}
}
A:編譯錯(cuò)誤; B:1234;C:01234;D:12345;
16. 下列語(yǔ)句輸出的結(jié)果是:( D )
public class Lx1 {
public static void main(String[] args) {
for(int i=0;i5;i++){
switch(i){
case 0:System.out.print("B");
case 1:System.out.print("e");break;
case 2:System.out.print("g");
case 3:System.out.print("!");break;
case 4:System.out.print("!");break;
default:System.out.print("!");
}
}
}
}
A:Beg!!! B:Beeg! C:Beg! D:Beeg!!!
17. 下面foreach循環(huán)的程序輸出結(jié)果是( D )。
public class Lx1{
public static void main(String[] args) {
String s1[]={"歡迎您","3","G","同","學(xué)",};
Arrays.sort(s1);
for(String s0:s1)
System.out.print (s0);
}
}
A:歡迎您3G同學(xué) B:3G歡迎您同學(xué) C:同學(xué)歡迎您3G D:3G同學(xué)歡迎您
18. 閱讀以下程序,選擇正確的運(yùn)行結(jié)果:( B )
public class Lx1 {
public static void main(String[] args) {
byte d[]="YOUIHE你我他".getBytes();
String s=new String(d,6,2);
System.out.println(s);
}
}
A:HE; B:你; C:我; D:他
19. 設(shè)有下列數(shù)組定義語(yǔ)句:
int a[][]= {{1, 2}, {3}};
則對(duì)此語(yǔ)句的敘述正確的是( D )。
A: 定義了一個(gè)名為a的一維數(shù)組 B: a數(shù)組 a[1][1]為0
C: a數(shù)組元素的下標(biāo)為1~3 D: 數(shù)組中每個(gè)元素的類(lèi)型都是整數(shù)
20. 下列程序輸出的結(jié)果是:( B )
public class Lx1 {
public static void main(String[] args) {
String a[][] ={{"","","",""},{""},{"",""}};
System.out.println(a[2].length);
}
}
A:1 B:2 C:3 D:4
21. 關(guān)于以下程序的說(shuō)明,正確的是( C )
1. class StaticStuff
2. {
3. static int x=10;
4. static { x+=5;}
5. public static void main(String args[ ])
6. {
7. System.out.println(“x=” + x);
8. }
9. static { x/=3;}
10. }
A、4行與9行不能通過(guò)編譯,因?yàn)槿鄙俜椒头祷仡?lèi)型
B、9行不能通過(guò)編譯,因?yàn)橹荒苡幸粋€(gè)靜態(tài)初始化器
C、編譯通過(guò),執(zhí)行結(jié)果為:x=5
D、編譯通過(guò),執(zhí)行結(jié)果為:x=3
22. 給出下面代碼,關(guān)于該程序以下哪個(gè)說(shuō)法是正確的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
for(int i=0;i
System.out.print(arr[0]);
}
}
A、編譯時(shí)將產(chǎn)生錯(cuò)誤 B、編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤 C、輸出零 D、輸出空
23. 下面程序中類(lèi)ClassDemo中定義了一個(gè)靜態(tài)變量sum,分析程序段的輸出結(jié)果。( C )
class ClassDemo {
public static int sum=1;
public ClassDemo() {
sum = sum + 5;}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);}
}
A: 0 B: 6 C: 11 D: 2
24. 下面關(guān)于方法的說(shuō)法,不正確的是( C )。
A: Java中的構(gòu)造方法名必須和類(lèi)名相同
B: 方法體是對(duì)方法的實(shí)現(xiàn),包括變量聲明和合法語(yǔ)句
C: 如果一個(gè)類(lèi)定義了構(gòu)造方法,也可以用該類(lèi)的默認(rèn)構(gòu)造方法
D: 類(lèi)的私有方法不能被其他類(lèi)直接訪(fǎng)問(wèn)
25. 在Java中下列說(shuō)法正確的是( C )
A) 一個(gè)子類(lèi)可以有多個(gè)父類(lèi),一個(gè)父類(lèi)也可以有多個(gè)子類(lèi)
B) 一個(gè)子類(lèi)可以有多個(gè)父類(lèi),但一個(gè)父類(lèi)只可以有一個(gè)子類(lèi)
C) 一個(gè)子類(lèi)可以有一個(gè)父類(lèi),但一個(gè)父類(lèi)可以有多個(gè)子類(lèi)
D) 上述說(shuō)法都不對(duì)
下面是10道java基礎(chǔ)面試題,后附答案
1.什么是 Java 虛擬機(jī)?為什么 Java 被稱(chēng)作是“平臺(tái)無(wú)關(guān)的編程語(yǔ)言”?
Java 虛擬機(jī)是一個(gè)可以執(zhí)行 Java 字節(jié)碼的虛擬機(jī)進(jìn)程。Java 源文件被編譯成能被 Java 虛擬機(jī)執(zhí)行的字節(jié)碼文件。
Java 被設(shè)計(jì)成允許應(yīng)用程序可以運(yùn)行在任意的平臺(tái),而不需要程序員為每一個(gè)平臺(tái)單獨(dú)重寫(xiě)或者是重新編譯。Java 虛擬機(jī)讓這個(gè)變?yōu)榭赡?,因?yàn)樗赖讓佑布脚_(tái)的指令長(zhǎng)度和其他特性。
2.“static”關(guān)鍵字是什么意思?Java 中是否可以覆蓋(override)一個(gè) private 或者是static 的方法?
“static”關(guān)鍵字表明一個(gè)成員變量或者是成員方法可以在沒(méi)有所屬的類(lèi)的實(shí)例變量的情況下被訪(fǎng)問(wèn)。
Java 中 static 方法不能被覆蓋,因?yàn)榉椒ǜ采w是基于運(yùn)行時(shí)動(dòng)態(tài)綁定的,而 static 方法是編譯時(shí)靜態(tài)綁定的。static 方法跟類(lèi)的任何實(shí)例都不相關(guān),所以概念上不適用。
3.JDK 和 JRE 的區(qū)別是什么?
Java 運(yùn)行時(shí)環(huán)境(JRE)是將要執(zhí)行 Java 程序的 Java 虛擬機(jī)。它同時(shí)也包含了執(zhí)行 applet 需要的瀏覽器插件。Java 開(kāi)發(fā)工具包 (JDK)是完整的 Java 軟件開(kāi)發(fā)包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調(diào)試器),可以讓開(kāi)發(fā)者開(kāi)發(fā)、編譯、執(zhí)行 Java 應(yīng)用程序。
4.是否可以在 static 環(huán)境中訪(fǎng)問(wèn)非 static 變量?
static 變量在 Java 中是屬于類(lèi)的,它在所有的實(shí)例中的值是一樣的。當(dāng)類(lèi)被 Java 虛擬機(jī)載入的時(shí)候,會(huì)對(duì) static 變量進(jìn)行初始化。如果你的代碼嘗試不用實(shí)例來(lái)訪(fǎng)問(wèn)非 static 的變量,編譯器會(huì)報(bào)錯(cuò),因?yàn)檫@些變量還沒(méi)有被創(chuàng)建出來(lái),還沒(méi)有跟任何實(shí)例關(guān)聯(lián)上。
5.Java 支持的數(shù)據(jù)類(lèi)型有哪些?什么是自動(dòng)拆裝箱?
Java 語(yǔ)言支持的 8 中基本數(shù)據(jù)類(lèi)型是:
?byte
?short
?int
?long
?float
?double
?boolean
?char
自動(dòng)裝箱是 Java 編譯器在基本數(shù)據(jù)類(lèi)型和對(duì)應(yīng)的對(duì)象包裝類(lèi)型之間做的一個(gè)轉(zhuǎn)化。比如:把 int 轉(zhuǎn)化成 Integer,double 轉(zhuǎn)化成 double,等等。反之就是自動(dòng)拆箱。
6.Java 支持多繼承么?
不支持,Java 不支持多繼承。每個(gè)類(lèi)都只能繼承一個(gè)類(lèi),但是可以實(shí)現(xiàn)多個(gè)接口。
7.Java 中,什么是構(gòu)造函數(shù)?什么是構(gòu)造函數(shù)重載?什么是復(fù)制構(gòu)造函數(shù)?
當(dāng)新對(duì)象被創(chuàng)建的時(shí)候,構(gòu)造函數(shù)會(huì)被調(diào)用。每一個(gè)類(lèi)都有構(gòu)造函數(shù)。在程序員沒(méi)有給類(lèi)提供構(gòu)造函數(shù)的情況下,Java 編譯器會(huì)為這個(gè)類(lèi)創(chuàng)建一個(gè)默認(rèn)的構(gòu)造函數(shù)。
Java 中構(gòu)造函數(shù)重載和方法重載很相似??梢詾橐粋€(gè)類(lèi)創(chuàng)建多個(gè)構(gòu)造函數(shù)。每一個(gè)構(gòu)造函數(shù)必須有它自己唯一的參數(shù)列表。
Java 不支持像 C++中那樣的復(fù)制構(gòu)造函數(shù),這個(gè)不同點(diǎn)是因?yàn)槿绻悴蛔约簩?xiě)構(gòu)造函數(shù)的情況下,Java 不會(huì)創(chuàng)建默認(rèn)的復(fù)制構(gòu)造函數(shù)。
8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?
Java 中的方法重載發(fā)生在同一個(gè)類(lèi)里面兩個(gè)或者是多個(gè)方法的方法名相同但是參數(shù)不同的情況。與此相對(duì),方法覆蓋是說(shuō)子類(lèi)重新定義了父類(lèi)的方法。方法覆蓋必須有相同的方法名,參數(shù)列表和返回類(lèi)型。覆蓋者可能不會(huì)限制它所覆蓋的方法的訪(fǎng)問(wèn)。
9.接口和抽象類(lèi)的區(qū)別是什么?
Java 提供和支持創(chuàng)建抽象類(lèi)和接口。它們的實(shí)現(xiàn)有共同點(diǎn),不同點(diǎn)在于:
?接口中所有的方法隱含的都是抽象的。而抽象類(lèi)則可以同時(shí)包含抽象和非抽象的方法。
?類(lèi)可以實(shí)現(xiàn)很多個(gè)接口,但是只能繼承一個(gè)抽象類(lèi)
?類(lèi)如果要實(shí)現(xiàn)一個(gè)接口,它必須要實(shí)現(xiàn)接口聲明的所有方法。但是,類(lèi)可以不實(shí)現(xiàn)抽象類(lèi)聲明的所有方法,當(dāng)然,在這種情況下,類(lèi)也必須得聲明成是抽象的。
?抽象類(lèi)可以在不提供接口方法實(shí)現(xiàn)的情況下實(shí)現(xiàn)接口。
?Java 接口中聲明的變量默認(rèn)都是 final 的。抽象類(lèi)可以包含非 final 的變量。
?Java 接口中的成員函數(shù)默認(rèn)是 public 的。抽象類(lèi)的成員函數(shù)可以是 private, protected 或者是 public。
?接口是絕對(duì)抽象的,不可以被實(shí)例化。抽象類(lèi)也不可以被實(shí)例化,但是,如果它包含 main 方法的話(huà)是可以被調(diào)用的。
10.什么是值傳遞和引用傳遞?
對(duì)象被值傳遞,意味著傳遞了對(duì)象的一個(gè)副本。因此,就算是改變了對(duì)象副本,也不會(huì)影響源對(duì)象的值。
對(duì)象被引用傳遞,意味著傳遞的并不是實(shí)際的對(duì)象,而是對(duì)象的引用。因此,外部對(duì)引用對(duì)象所做的改變會(huì)反映到所有的對(duì)象上。
最后祝你面試順利!
文章題目:java基礎(chǔ)代碼試題 java代碼筆試題
文章轉(zhuǎn)載:http://chinadenli.net/article10/dogecgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、服務(wù)器托管、網(wǎng)站策劃、Google、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)