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

更新于:2023年4月10日

242 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告