int Arry_a[] = new int[10]; System.out.println(Arry_a[10]);
A.ArithmeticException
B.NullPointException
C.IOException
D.ArrayIndexOutOfBoundsExceptionjava
答案:
Dgit
解析:
定義的數組長度爲10,角標即爲0-9,訪問數組角標10會出現數組角標越界異常github
A.在Java中只容許單一繼承
B.在Java中一個類只能實現一個接口
C.在Java中一個類不能同時繼承一個類和實現一個接口
D.Java的單一繼承使代碼不可靠面試
答案:
A編程
解析:
略數組
A..java
B..class
C..exe
D..jar安全
答案:
A微信
解析:
略數據結構
A.包裝類
B.Class
C.Math
D.Objectjvm
答案:
A
解析:
略
public class Test { public static int a = 1; public static void main(String[] args) { int a = 10; a++; Test.a++; Test t=new Test(); System.out.println("a=" + a + " t.a=" + t.a); } }
A.a=10 t.a=3
B.a=11 t.a=2
C.a=12 t.a=1
D.a=11 t.a=1
答案:
B
解析:
值爲1的a屬於類變量也叫做成員變量,值爲10的a是局部變量 首先a++時就近原則,用局部變量10來加,Text.a直接用類名調用成員變量的狀況,只能是static 修飾的成員變量1來加,而後又實例化了對象,在輸出中第一個a= 用就近原則輸出11,第二個t.a 對象只能調用類變量輸出2
A.Java默認提供的三個ClassLoader是BootStrap ClassLoader,Extension ClassLoader,App ClassLoader
B.ClassLoader使用的是雙親委託模型來搜索類的
C.JVM在斷定兩個class是否相同時,只用判斷類名相同便可,和類加載器無關
D.ClassLoader就是用來動態加載class文件到內存當中用的
答案:
C
解析:
JVM在斷定兩個class是否相同時,不只要判斷兩個類名是否相同,並且要判斷是否由同一個類加載器實例加載的。
A.Stack
B.Queue
C.List
D.Link List
答案:
A
解析:
棧-先進後出(比喻:坐電梯) 隊列-先進先出(水管) list-鏈表(怎麼存就怎麼取)
A.System.out.print (buffer[i]);
B.DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename));
C.DataInputStream din = new DataInputStream(new FileInputStream(this.filename));。
D.System.in.read(buffer)。
答案:
B
解析:
input和output指的是對於程序而言。input是從文件讀取進來,output是輸出到文件。
public class Test { public static void changeStr(String str) { str = "welcome"; } public static void main(String[] args) { String str = "1234"; changeStr(str); System.out.println(str); } }
A.1234
B.welcome
C.空
D.不肯定
答案:
A
解析:
string的值是不可改變的,全部試圖更改String的行爲都會建立一個新的String.
A.對String對象的任何改變都不影響到原對象,相關的任何change操做都會生成新的對象
B.StringBuffer是線程安全
C.StringBuilder是線程安全
D.能夠修改StringBuilder和StringBuffer的內容
答案:
C
解析:
A,java中的字符串存儲在字符串常量區,不會改變,發生改變是會新建立一個對象
B,StringBuffer是線程安全的StringBuilder
C,StringBuilder跟StringBuffer功能相同,區別是StringBuilder不是線程安全的
D,StringBuilder和StringBuffer底層都是以字符數組存放的,能夠修改內容
A.survivor區
B.常量池
C.eden區
D.old區
答案:
B
解析:
jvm堆分爲:新生代(通常是一個Eden區,兩個Survivor區),老年代(old區)。
常量池屬於 PermGen(方法區)
class A { public A() { System.out.println("class A"); } { System.out.println("I'm A class"); } static { System.out.println("class A static"); } } public class B extends A { public B() { System.out.println("class B"); } { System.out.println("I'm B class"); } static { System.out.println("class B static"); } public static void main(String[] args) { new B(); }
A.
class A static class B static I'm A class class A I'm B class class B
B.
class A static I'm A class class A class B static I'm B class class B
C.
class A static class B static class A I'm A class class B I'm B class
D.
class A static class A I'm A class class B static class B I'm B class
答案:
A
解析:
①父類靜態變量和靜態代碼塊(按照聲明順序);
②子類靜態變量和靜態代碼塊(按照聲明順序);
③父類成員變量和代碼塊(按照聲明順序);
④父類構造器;
⑤子類成員變量和代碼塊(按照聲明順序);
⑥子類構造器。
A.形式參數可被字段修飾符修飾
B.形式參數不能夠是對象
C.形式參數爲方法被調用時真正被傳遞的參數
D.形式參數可被視爲local variable
答案:
D
解析:
String str = ""; System.out.print(str.split(",").length);
A.0
B.1
C.出現異常
答案:
B
解析:
略
A.FALSE
B.TRUE
答案:
A
解析:
題目的意思是:除去擴展名.java的部分,包含在java文件裏的Java裏的公共類必須與文件的名字相同。
可是公共的內部類是不須要和文件的名字相同的。
import java.lang.reflect.Method; public class DumpMethods{ public static void main(String[] args) { try { Class c=Class.forName(args[0]); Method m[]=c.getDeclaredMethods(); for (int i = 0; i < m.length; i++) { System.out.println(m[i].toString()); } } catch (Throwable e) { System.err.println(e); } } }
A.取得類的公有方法對象
B.取得類的全部公有方法名稱
C.取得類的全部方法對象
D.選項都不正確
答案:
D
解析:
public Method[] getMethods()返回某個類的全部公用(public)方法包括其繼承類的公用方法,包括它所實現接口的方法。
public Method[] getDeclaredMethods()對象表示的類或接口聲明的全部方法,包括公共、保護、默認(包)訪問和私有方法,但不包括繼承的方法。包括它所實現接口的方法。
public class P { public static int abc = 123; static{ System.out.println("P is init"); } } public class S extends P { static{ System.out.println("S is init"); } } public class Test { public static void main(String[] args) { System.out.println(S.abc); } }
A.P is init 123
B.S is init P is init 123
C.P is init S is init 123
D.S is init 123
答案:
A
解析:
屬於被動引用不會出發子類初始化
1.子類引用父類的靜態字段,只會觸發子類的加載、父類的初始化,不會致使子類初始化
2.經過數組定義來引用類,不會觸發此類的初始化
3.常量在編譯階段會進行常量優化,將常量存入調用類的常量池中, 本質上並無直接引用到定義常量的類,所以不會觸發定義常量的類的初始化。
A.Hashtable
B.Vector
C.TreeSet
D.LinkedList
答案:
AB
解析:
HashMap是線程安全的HashMap
Vector是線程安全的ArrayList
TreeSet和LinkedList都不是線程安全的
A.long test=012
B.float f=-412
C.int other =(int)true
D.double d=0x12345678
E.byte b=128
答案:
A B D
解析:
A和B中long和float,正常定義須要加l和f,可是long和float屬於基本類型,會進行轉化,因此不會報出異常。AB正確
boolean類型不能和任何類型進行轉換,會報出類型異常錯誤。因此C錯。
D選項能夠這樣定義,D正確。
E選項中,byte的取值範圍是-128—127。報出異常: cannot convert from int to byte.因此E選項錯誤。
A.會
B.不會
答案:
A
解析:
Thread.sleep() 和 Object.wait(),均可以拋出 InterruptedException。這個異常是不能忽略的,由於它是一個檢查異常(checked exception)
Java筆試內容集合 持續更新中....
歡迎關注我的微信公衆號:Coder編程
獲取最新原創技術文章和免費學習資料,更有大量精品思惟導圖、面試資料、PMP備考資料等你來領,方便你隨時隨地學習技術知識!
文章收錄至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
歡迎關注並star~