1. 程式人生 > 實用技巧 >Java每日一練哦

Java每日一練哦

目錄

8.19、JDK和JRE的區別

8.21、java的八個基本資料型別

8.24、選隊長的邏輯

8.25、雙色球的邏輯

8.26、什麼是面向物件?

8.27、什麼是方法的過載?

8.31、什麼是繼承?

9.1、什麼是包裝類?

9.4、Java中為什麼"10001000"輸出為false,而"100100"輸出則為true?

9.7、final在java中有什麼作用?

9.9、如何實現陣列和List之間的轉換?

9.10、講一下String和StringBuilder的區別(final?)StringBuffer和StringBuilder的區別

9.11、介面和抽象的區別?

9.14、Java中Math round(-1.5)等於多少?

9.16、二分查詢 程式碼

9.17、javac命令和java命令做什麼事情?

9.22、如何決定使用HashMap還是TreeMap?

9.23、Java物件的初始化順序?

9.24、寫幾個執行緒安全類,不安全的,支援排序的類名。


8.19、JDK和JRE的區別

JRE和JDK的區別:
JRE:Java Runtime Environment.指的是Java的執行環境,包括JVM和Java類庫,使用者在執行Java程式時需要的環境。使用物件是需要執行Java程式的使用者
JDK:Java Development Kit.指的是Java的開發工具包,開發人員在編寫Java程式時使用,使用物件是開發人員。

8.21、java的八個基本資料型別

8.24、選隊長的邏輯

8.25、雙色球的邏輯

雙色球思路:

1、首先需要獲取一組使用者輸入的號碼,在這之中,可以先定義一個數組,先讓使用者輸入6個紅色數字,然後再單獨輸入一個藍色數字。
2、使用隨機數產生一組中獎號碼將其儲存在陣列中。
3、先比較紅色數字是否有相同的,如果有就定義一個變數i進行++。然後再單獨比較藍色數字是否相同,再用另一個變數來儲存m進行++這個結果。
4、判斷i和m的組合是屬於幾等獎,然後輸出結果。

8.26、什麼是面向物件?

面向物件是相對面向過程而言的,是用另一種方式來處理問題,即面向物件是通過一系列的類、物件、呼叫類中屬性和方法來處理問題。

物件是類的一個例項。
類具有屬性和方法。屬性是相當於人的特徵,方法相當於人的行為。

8.27、什麼是方法的過載?

我的回答:方法的過載是指同一個方法名可以有多個不同的實現方式,但是每個方法的引數,引數型別和引數型別順序都必須不同

老師的:方法過載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數。呼叫過載方法時,Java編譯器能通過檢查呼叫的方法的引數型別和個數選擇一個恰當的方法。方法過載通常用於建立完成一組任務相似但引數的型別或引數的個數或引數的順序不同的方法。 [1] Java的方法過載,就是在類中可以建立多個方法,它們可以有相同的名字,但必須具有不同的引數,即或者是引數的個數不同,或者是引數的型別不同。呼叫方法時通過傳遞給它們的不同個數和型別的引數,以及傳入引數的順序來決定具體使用哪個方法。

8.31、什麼是繼承?

繼承是指子類繼承父類的特徵和行為,使得子類具有父類的例項域和方法。
子類除去繼承父類的屬性和方法外也可以有自己獨立的方法和屬性。
子類只能呼叫父類中使用public和protected修飾的屬性和方法。

9.1、什麼是包裝類?

8種資料型別都有對應的包裝類,其中int、char的包裝類是Integer、Character,其餘包裝類都是其對資料型別的首字母大寫。例如:boolean -->Boolean

9.4、Java中為什麼"10001000"輸出為false,而"100100"輸出則為true?

https://blog.csdn.net/LBJ_155207/article/details/108406285

9.7、final在java中有什麼作用?

9.9、如何實現陣列和List之間的轉換?

List轉換成為陣列:呼叫ArrayList的toArray方法。
陣列轉換成為List:呼叫Arrays的asList方法。

9.10、講一下String和StringBuilder的區別(final?)StringBuffer和StringBuilder的區別

1、String是字串常量,不能隨意更改長度;用於存放字元的陣列被宣告為final的,因此只能賦值一次,不可再更改。

2、StringBuffer是字串變數 執行緒安全。可以使用toString()方法將其轉為String型別。

3、StringBuilder是字串變數 執行緒不安全。StringBuilder物件被當作是一個包含字元序列的變長陣列

9.11、介面和抽象的區別?

9.14、Java中Math round(-1.5)等於多少?

每日一練:
答案:-1
因為round()方法是返回一個最接近的int,long型的數值,演算法是Math.floor(x+0.5)然後向下取整。即四捨五入法

9.16、二分查詢 程式碼

9.17、javac命令和java命令做什麼事情?

每日一練:
JAVAC是將編寫好的JAVA程式碼檔案編譯為以.class結尾的位元組碼檔案,然後再使用JAVA +生成的位元組碼檔名執行程式。

9.22、如何決定使用HashMap還是TreeMap?

TreeMap<K,V>的Key值是要求實現java.lang.Comparable,所以迭代的時候TreeMap預設是按照Key值升序排序的;TreeMap的實現是基於紅黑樹結構。適用於按自然順序或自定義順序遍歷鍵(key)。
HashMap<K,V>的Key值實現雜湊hashCode(),分佈是雜湊的、均勻的,不支援排序;資料結構主要是桶(陣列),連結串列或紅黑樹。適用於在Map中插入、刪除和定位元素。因為HashMap中元素的排列順序是不固定的,所以當需要得到一個有序的結果時就應該使用TreeMap

9.23、Java物件的初始化順序?

每日一練:靜態變數、靜態程式碼塊、非靜態變數、建構函式9.24

9.24、寫幾個執行緒安全類,不安全的,支援排序的類名。

每日一練:
執行緒安全類:Vector,Hashtable,Stack
執行緒不安全類:ArrayList,LinkedList,HashSet,TreeSet,HashMap,TreeMap
支援排序的類:HashSet,TreeSet

【參考答案】

Ø執行緒安全類:Vector、Hashtable、Stack。

Ø執行緒不安全的類:ArrayList、Linkedlist、HashSet、TreeSet、HashMap、TreeMap等。

Ø支援排序的類有HashSet、LinkedHashSet、TreeSet等(Set介面下的實現都支援排序)

注:持續更新