Java--三目运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Luojun13Class/article/details/82935054

文章目录

前言

在判断这方面我们经常用到的有if / if ... else / if ... else if / switch case之类的,有一种非常简单的,能将if原本需要几行代码才能总结出来的内容,只需要一行代码就能书写出来的,这就是今天我要介绍的三目运算符.

内容

先给出一个输入的例子:

    //1.引入Scanner类
    //2.创建Scanner类的对象
    import java.util.Scanner;  
    public class ScannerDemo {
    	public static void main(String[] args) {
	    	Scanner in = new Scanner(System.in);	//创建Scanner类的对象  
	    	System.out.println("请输入第一个数:"); 
	    	int a = in.nextInt();    				//输入第一个数

	    	System.out.println("请输入第二个数:");  
	    	int b = in.nextInt();     
	    	String s = a > b ?  a : b;	//"第一个数比较大" :(a < b ? "第二个数比较大":"两个数相等");  
	    	System.out.println(s); 					//输出这两个数中的最大数
	    	    	
	    	System.out.println("请输入第三个数");  	
	    	int c = in.nextInt();    				//输入第三个数
	    	int s = a > b ? (a > c ? a : c) : (b > c ? b : c);  
	    	System.out.println("最大数值为:");  
	    	System.out.println(s);   				//输出这三个数种的最大数
	    }  
	}

上面例子中运用了三目运算符,这里图片展示一下三目运算符
其格式为:数据类型 变量名 = 布尔类型表达式?结果1:结果2;如下图,
在这里插入图片描述
因为数据类型可以随意更换,所以该图并没有将数据类型给标注.
上图的运算原理是:

布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

代码如下:

	//使用三目运算符
   public static void main(String[] args) {
        int a = 30;
        int b = 20;
        int c = a > b ? 100 : 20;
        System.out.println(c);
    }
    
    //使用if语句
    public static void main(String[] args) {
    	int a = 30;
    	int b = 20;
    	int max;
    	if (a > b)  {
    		max = a;
    	}
    	max = b;
    	System.out.println(max);
    }

看见代码就知道优势了,这还是只有两个数比较大小,代码就相比较省略了几行,如果用if判断的话,还需要比较a和b的大小,就会产生代码冗余,显得代码很多,但是真正有效果的代码行还是一样的,所以,三目运算符对判断是很有帮助的.

总结

日常生活中也有很多类是于这样的事情,原本有些事情可以很简单的解决,但是我们却往往使用了复杂的方法,这样不仅仅浪费了自己的时间,而且还给别人一种办事能力低下的错觉!

end

谢谢您的阅读!

猜你喜欢

转载自blog.csdn.net/Luojun13Class/article/details/82935054