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中非常独特。