Java三元運算子詳解
什麼是Java環境中的運算子?
運算子是一些特殊的字元、符號或資料指示符,它們能夠在Java環境中執行一些特定的操作。有多個運算元(變數)可以參與此操作。編譯成功後,我們得到預期的輸出。Java語言中有很多運算子,主要用於操作Java構建程式碼中關鍵變數的實際值。
對於三元運算,首先是一個條件,後跟問號(?),然後是如果條件為真則執行的方法的表示式,後跟冒號(:),最後是如果條件為假則執行的表示式。只有當生成的語句太短以至於無法執行該過程時,才應使用三元語句。否則,應編寫一個普通的“if語句”。
三元運算子的目的是使程式碼在實際環境中更簡潔易讀。將複雜的if語句轉換為三元運算子違背了這一目標。Java程式設計中的三元運算子是一個條件表示式,可用於替換某些操作的“if...else”條件。在本文中,我們將學習如何透過使用某些邏輯和演算法來實現Java三元運算子難題。
什麼是三元運算子?
三元運算子是一個Java環境運算子,它採用三個整數資料型別來執行特定操作。
在Java程式設計中,它是一種廣泛使用的方法,用於繞過“if...else”條件以減少程式碼的複雜性。
作為表示“if...else”方法的另一種方法,它遵循相同的演算法,但在記憶體中佔用的空間更少。
三元運算子由三部分組成:包含布林表示式、真值部分和假值部分。根據這些輸入,決定給定的條件是真還是假。
根據給定條件的結果,三元運算子工作(條件,表示式1,表示式2)。
一個運算元是T型別(byte),一個short或char值,另一個是常量;它只表示條件表示式的T型別。
三元運算子演算法
步驟1 - 開始程式。
步驟2 - 宣告變數。
步驟3 - 輸入一個int的值。
步驟4 - 使用三元(條件)運算子檢查條件。
步驟5 - 顯示答案。
步驟6 - 終止程序。
語法
condition to be checked? value_find_if_true : value_find_if_false class Solutionternaryop { public static String getNearestNumber(String number1, int dist1, String number2, int dist2) { return "?"; } } Or; Condition check ? expression given no.1 : expression given no.2;
該語句計算以確定條件為真還是假。以下是一個示例,用於區分“if...else”條件和“三元運算子”之間的區別。
“if...else”條件
int x = 10, y = 20, ans; if (x == 10) { if (y == 20) { ans = 30; } else { ans = 50; } } else { ans = 0; } printf ("%d\n", ans);
“三元運算子”
int x = 10, y = 20, ans; ans = (x == 10 ? (y == 2 ? 30 : 50) : 0); printf ("%d\n", ans);
不同的方法
方法1 - 查詢兩個數中最大的數
方法2 - Java三元運算子難題
方法1:查詢兩個數中最大的數
在這裡,我們實現了各種邏輯,使用三元運算子獲得最大數。對於此過程,時間複雜度和輔助空間複雜度均為O(1)。
示例1
import java.io.*; public class Ternaryextupoint { public static void main(String[] args){ int a1 = 50, a2 = 100, max; System.out.println("First num coming by as: " + a1); System.out.println("Second num coming by as: " + a2); max = (a1 > a2) ? a1 : a2; System.out.println("The Maximum Is Here = " + max); } }
輸出
First num coming by as: 50 Second num coming by as: 100 The Maximum Is Here = 100
示例2
import java.io.*; public class Ternarypotupoint { public static void main(String[] args){ int s1 = 500, s2 = 100, res; System.out.println("First num mentioned in the data: " + s1); System.out.println("Second num mentioned in the data: " + s2); res = (s1 > s2) ? (s1 + s2) : (s1 - s2); System.out.println("Result: Here the largest number is - = " + res); } }
輸出
First num mentioned in the data: 500 Second num mentioned in the data: 100 Result: Here the largest number is - = 600
示例3
public class Ternarybubooleantupoint { public static void main(String[] args){ boolean condition = true; String result = (condition) ? "True It Is" : "False It Is"; System.out.println(result); } }
輸出
True It Is
使用Java環境的三元運算子難題
使用三元運算子難題,我們可以確定語句的值是真還是假。
示例1
public class ternaryoppuzzle { public static void main(String[] args) { char y = 'Y'; int k = 0; System.out.print(true ? y : 0); System.out.print(false ? k : y); } }
輸出
Y89
執行程式後,我們可以看到這裡的輸出是Y89。如果我們對其進行解碼,X是第一個語句,其中89是第二個。
結論
透過本文,我們學習了使用Java語言的三元運算子方法。在這裡,我們體驗了三元運算子的許多優點,我們使用此運算子構建了這個難題。可讀性、效能、使用巢狀緊湊特性繞過if-else語句的功能使此特性在Java中非常獨特。