在今天的課程中, 我們將學習如何使用 lambda。 Lambda 表達式允許我們直接進行計算 成行代碼並調用它們, 使用接口向他們發送不同的參數。 讓我們看一些代碼 看看它是什麼樣子的。 這次我們在我們的在線 GDB 編譯器中。 我們有一個使用一些 lambda 表達式的程序。 讓我們先運行它,看看它做了什麼。 單擊運行。 如您所見,我們有一個計算器。 零退出程序, 一、二、三、四表示加法、減法、 乘法和除法。 如果我按第一個, 它會要求我輸入兩個數字相加。 我將輸入二和七, 它給了我一個答案 就是說二加七等於九。 如果我做減法,那是第二個, 它會再次要求我輸入兩個數字。 這次我輸入七和二 它給了我答案七減二等於五。 如果我想做一些乘法,那是第三個。 它會要求我輸入兩個數字相乘。 讓我們使用一些更大的數字。 75乘以100。 它告訴 75 乘以 100 等於 7,500。 最後,第四是除法。 它要求我輸入兩個數字進行除法。 好吧,我要10號 我會把它除以零。 一旦我除以零, 它說零不能分成10, 請輸入一個新的除數。 如果我輸入四, 10 除以 4 等於 2。 同樣,我們在這裡不處理分數, 儘管如果我們願意,我們可以。 如果我切換這個 又進行了一次除法, 並說我想分成四份 並除以七, 它說七不能分為四。 我必須使用一個新的除數。 您輸入的第二個數字必須小於 比第一個數字。 所以我要輸入兩個 它告訴我四除以二等於二。 最後,當程序結束時, 我輸入零退出 它說謝謝 使用知識城計算器。 好了,既然你已經看到程序運行了, 讓我們看一下使它運行的代碼。 我首先聲明一個掃描儀 這將允許我輸入一些數字。 我有我的主要課程, 在我的主要課程中, 這對於使用 Java 的 lambda 至關重要, 我有兩個接口。 界面就是這個東西 這允許我發送參數 到不同的功能。 在這種情況下,我有一個名為 doTheMath 的接口, 我聲明一個函數 在 doTheMath 內部調用 addSubMultDiv 接受兩個參數,都是整數。 並返回一個整數。 我的另一個接口接受一個字符串 這是一條信息,這將允許我 在控制台上打印信息。 所以這兩個接口就是東西 這將使我們的 Java lambda 表達式工作。 我還聲明了一個函數 調用操作,我將在哪裡獲得 int 我要調用a,我要調用b的int, doTheMath 和文本。 這裡的想法是我要調用這兩件事 基於發送到此函數的參數。 我進入我的主要論點例程, 我有我的計算器的四個功能, 每次我打電話給doTheMath。 我正在設置它以便它可以添加 只需將 x 加 y 加在一起, x 乘以 y,x 除以 y 或 x 減 y。 我為我的計算器設置了一個新對象, 創建我的掃描儀並聲明變量 我將需要該程序。 下一個區域允許我在屏幕上放置一個菜單。 我把它放在一個while循環中 這樣它就會出現,只要提供的答案 大於零。 一旦他們輸入零退出程序, while 循環停止,程序將結束。 一旦我得到他們的答案,一,二,三或四, 我使用 switch 語句 弄清楚如何處理該答案 並調用正確的項目。 我們將首先使用出口。 那是零號 我會發信息 到我的說話界面告訴用戶謝謝 使用知識城計算器。 我會把這條信息發給它。 如果他們輸入一個, 我會要求他們輸入兩個數字。 我要把這些數字加在一起, 然後打印出答案 這就是 Java lambda 完美運行的地方。 我可以調用這個例程,calc.operate num1, num2 以及我想將這些數字相加的事實。 我在這個 Java lambda 中所做的事情 我是在簡化我的代碼, 否則我將不得不創建一個函數 對於這些項目中的每一項。 雖然你可能會說,這只有四個項目, 沒什麼大不了的, 可能會有一段時間你需要很多很多更多的物品, 並且有一個可用的功能 接受多個參數 不同的操作可以為您節省很多 編碼的時間。 該程序的其餘部分的工作方式幾乎相同。 每個操作的代碼, 加減乘除 完全一樣 除了我有檢查以確保 第二個不大於第一 因為我不想劃分更大的數字 變成一個較小的數字。 而且我不能使用零作為我要除以的數字。 因此,如果其中任何一個條件為真, 我發出錯誤消息 那就是說我們不能那樣做。 請輸入一個新的除數。 當他們輸入可接受的數字時, 系統通過 並調用 calc.operate 並將其發送到divide函數。 現在你知道如何使用接口了 創建一個 Java lambda 表達式, 然後根據你想做什麼來調用那個表達 在節目中。