程式設計師必備Java技巧和竅門


Java 是一種功能強大且用途廣泛的程式語言。它用於各種應用程式。它以其可靠性、可移植性和安全性而聞名,這使其成為開發人員的熱門選擇。Java 也非常易於學習,這使其成為初學者的絕佳選擇。

但是,務必記住,簡單性也可能成為障礙。如果您不小心,可能會被 Java 的易用性所迷惑,而忽略了該語言提供的獨特機會。

讓我們來看一些技巧,幫助您成為一名 Java 開發人員並提高您的語言能力。

技巧 1:永遠不要忽略基礎知識

要成為一名優秀的 Java 開發人員,您必須首先精通基礎知識。“語法”、“資料型別”、“運算子”、“控制流”和“面向物件程式設計概念”等許多概念都應該列入您的學習計劃。在哪裡學習?市場上有許多資源可供您使用,例如書籍、線上課程和教程。所有這些資源都將幫助您理解基礎知識。

您必須超越僅僅瞭解語法,還要提高您的解決問題的能力。透過這種方式,您可以作為一名開發人員不斷進步。

技巧 2:瞭解原始碼和演算法

瞭解您正在處理的任何程式的原始碼和演算法至關重要。即使是隻有一個“if else”語句的簡單程式也能說明這一點。如果您熟悉原始碼,您將更好地理解程式的工作原理並解決出現的任何問題。

如果您是初學者,建議您在開始編寫程式碼之前先在紙上列出原始碼。這可以幫助您更容易地檢視程式的流程並發現任何可能的問題。

掌握原始碼後,您可以開始將程式分解成更小的元件。這可以幫助您更容易地理解程式的工作原理並解決任何潛在的問題。

技巧 3:始終記住分配記憶體

在 Java 中,記憶體是在執行時分配的。

為物件分配記憶體時,必須使用 new 關鍵字。如果不使用 new 關鍵字,您將收到 NullPointerException。原因是還沒有為物件分配記憶體,因為它還沒有建立。

讓我們舉個例子來更好地理解這一點。下面的程式碼將無法工作

int[] array = {1, 2, 3};

此示例沒有編譯問題。但是,它會在執行時引發 NullPointerException。沒有為陣列分配記憶體,因為記憶體尚未建立。

要修復此程式碼,您需要使用 new 關鍵字

int[] array = new int[3];

此程式碼將在執行時為陣列分配記憶體,並將避免 NullPointerException。

技巧 4:避免建立不必要的物件

在 Java 中建立物件時,您會在計算機的記憶體中為該物件保留空間。該空間用於儲存物件的數和方法。

建立的物件越多,使用的記憶體就越多。這會導致程式速度變慢。它甚至可能導致記憶體不足錯誤。

為了避免記憶體洩漏,您應該注意 Java 程式碼中建立的物件數量。

技巧 5:選擇基本類而不是包裝類

表示基本資料型別的物件稱為包裝類。它們通常用於為基本資料型別提供更多功能,包括儲存 null 值的能力。包裝類比基本資料型別需要更多記憶體和處理能力,因此它們可能比後者慢。

示例

給定的 Java 程式碼定義了一個包含 main 方法的類,該方法比較兩組整數:具有相同值 10 的原始變數 num_1 和 num_2,導致第一個列印語句顯示“true”。

同樣,Integer 包裝物件 wrapnum_1 和 wrapnum_2 使用相同的值自動裝箱,導致第二個列印語句也顯示“true”,因為它們的值使用 equals 方法進行比較。

演算法

  • 步驟 1:宣告兩個 int 變數 num_1 和 num_2。然後,將它們初始化為 10。

  • 步驟 2:宣告兩個 Integer 變數 wrapnum_1 和 wrapnum_2。然後,將它們初始化為 10。

  • 步驟 3:使用 == 運算子比較 num_1 和 num_2。這將比較這兩個變數的引用值。由於這兩個變數引用同一個物件,因此輸出為 true。

  • 步驟 4:使用 equals() 方法比較 wrapnum_1 和 wrapnum_2。注意:它將比較這兩個變數的值。因為這兩個變數具有相同的值,所以輸出為 true。

示例

public class WrapperComparison {
    public static void main(String[] args) {
        int num_1 = 10;
        int num_2 = 10;
        Integer wrapnum_1 = 10;
        Integer wrapnum_2 = 10;

        System.out.println(num_1 == num_2);      // Output: true
        System.out.println(wrapnum_1.equals(wrapnum_2)); // Output: true
    }
}

輸出

true
true

技巧 6:字串管理

字串是 Java 中不可更改的物件。因此,一旦建立它們,就不能更改它們。每當連線兩個字串時,Java 都會建立一個新的字串物件。新的字串物件包含兩個原始字串的連線。這可能會導致大量的記憶體開銷(尤其是在頻繁連線字串的情況下)。

如何避免這種情況?您可以透過使用字串字面量語法立即建立一個字串物件。

例如,下面的程式碼將在不建立新物件的情況下建立一個字串物件

語法

String fast = "This string is better"

for()

程式碼首先建立兩個字串 slow 和 fast。然後,它啟動一個計時器並將數字 0 附加到 slow 的末尾 10000 次。然後它停止計時器並列印執行此操作所花費的時間。最後,它對 fast 重複相同的操作並列印所花費的時間。

演算法

  • 步驟 1:建立兩個字串 slow 和 fast。

  • 步驟 2:將變數 start 初始化為以毫秒為單位的當前時間。

  • 步驟 3:迭代 10000 次:將字串 slow 與字串“ ”和 i 的值連線起來。

  • 步驟 4:將變數 slowEndTime 設定為以毫秒為單位的當前時間。

  • 步驟 5:迭代 10000 次:將字串 fast 與字串“ ”和 i 的值連線起來。

  • 步驟 6:將變數 fastEndTime 設定為以毫秒為單位的當前時間。

  • 步驟 7:列印執行慢速字串所花費的時間。

  • 步驟 8:列印執行快速字串所花費的時間。

示例

public class StringPerformance {

    public static void main(String[] args) {
        String slow = "This is a slow string.";
        String fast = "This is a fast string.";

        long start = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            slow += " " + i;
        }

        long slowEndTime = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            fast += " " + i;
        }

        long fastEndTime = System.currentTimeMillis();

        System.out.println("Time taken to execute slow string: " + (slowEndTime - start) + " milliseconds");
        System.out.println("Time taken to execute fast string: " + (fastEndTime - slowEndTime) + " milliseconds");
    }
}

輸出

Time taken to execute slow string: 140 milliseconds
Time taken to execute fast string: 23 milliseconds

技巧 7:繼續編碼

Java 正在不斷發展。精通 Java 需要熱愛學習並不斷致力於改進。還必須願意投入學習這門語言所需的時間和精力。隨著您的練習越多,您就會進步得越多。

結論

要成為一名熟練的 Java 程式設計師,請記住上述建議。它們將幫助您提高您的 Java 能力和技能,從而提高您的就業能力。

更新於:2023年8月29日

瀏覽量:218

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告