天天看點

java 考試易考識記題目(一)

筆者擅長 C# 語言,4月份要考試,學習 JAVA 是為了考試罷了。

如何在最短時間内學習 JAVA 基礎文法和通過考試考核呢~

學習 JAVA ,要為了應付考試,判斷、循環這部分,C、C++、C#、JAVA 都是一樣的,不需要重複學習。

基礎文法上,C++ 跟 C# 接近,例如命名空間(namespace)、繼承(????。

進階文法 JAVA 跟 C# 接近,很多 API 甚至名字都一樣。

筆者在學習和完成試卷練習時,将具有代表性的 JAVA 題目抽取出來,集中複習和了解習題的套類,這樣最短時間能夠通過考試,并且拿到高分。

啦啦啦啦啦~

注:以下題目内容從往年試題或者網際網路中擷取而來,侵删!

1,java語言最初的應用對象是 消費級電子産品

最初設計時,是為了應用到電子遊戲機、電視機機頂盒等電子産品。

2,Java SDK 的核心中,解釋器所對應的可執行檔案是 java.exe

javac.exe 用于編譯 <code>.java</code> 源檔案,java.exe 用于解釋執行編譯後的程式。

3, 聯編 是将發送給對象的消息與執行該消息方法的對象連接配接起來。

聯編分為靜态聯編和動态聯編。靜态聯編在編譯時處理(就是平時的代碼);動态聯編,事先不确定執行個體化的對象類型,在編譯後才确定。

動态聯編用于在運作時,才确定需要的執行個體。

父類A,子類B、子類C。

4,java Date 時間字元串的預設順序為 星期,月,日,小時,分,秒,年

格式如 <code>Sat Mar 21 22:15:24 CST 2020</code>

5, ((k-1)^k)&amp;k 代表何種意義

答:取下非0整型變量k最右邊為1的那一位。

6,super

java 中的 super 跟 c# 的 base一樣。

java 稱為 超類、子類;C# 稱為 基類/父類、子類。

super 有多種作用:

指定調用超類的哪個構造函數;

通路被子類重寫/覆寫的方法

通路被子類隐藏的方法

7,&amp;&amp; 考核

閱讀以下程式代碼,寫出程式的輸出結果

答案是 <code>2,1,1,false</code>

這題目有 <code>誤導</code> 成分,咋一看,有 <code>++i</code>、<code>i++</code> 這樣的運作,實踐上隻需要運算 <code>a++&gt;1</code>。原因在于 <code>&amp;&amp;</code> 運算是從左到右,當左側條件為 <code>false</code> 時,程式不會執行右側的表達式了。

8,字元串等值

檢視以下程式代碼的輸出

結果是

java 中,String 類型的 == 運算符,比較的是對象的引用。

不同的 new String() 對象,即使是相同的值,也不是同一個對象。

C# 中,string 類型 的 == 運算符經過了重寫,比較的是字元串的值;

而 <code>String aa = "1";</code> 、<code>String bb = "1";</code> 都是常量 <code>1</code> ,沒有 new,是以 == 的結果相同。

9,程式設計題

使用循環把26個大寫英文字母按字典順序存入一維數組,然後再使其逆序存放(不得使用另外的數組),最後再根據處理後的字元數組建立一個字元串,輸出此字元串。程式設計完成以上要求。

解析:基礎排序算法之一。剛開始時我想用冒泡算法解決。但是看到答案時,答案使用的是倒轉的方法,過程更加簡單。

原因在于 26 個字母已經是按順序排序(亂序則使用冒泡算法),直接反轉就行。

題目要求

循環存入26個字母(大寫)的數組;

逆放(反轉);

輸出字元串;

第一步代碼如下

第二步如下

最後一步使用 String 的構造函數就行

10,程式設計題

編寫用數組實作不超過200位的大整數的類 BigInteger,要求提供大整數的加運算。

解析:java 中,有 BigInteger 這個類,内部是對 int[] 的封裝,可以表示任意長度的整數。

題目要求我們實作一個類似 BigInteger 的類。然後要實作 10 進制的 加法運算。

方法很多,而且不限定怎麼寫,能計算就行。

可以參考

https://wenku.baidu.com/view/6b050b976aec0975f46527d3240c844769eaa01b.html