问答详情
源自:4-2 Java条件语句之 if...else

条件语法跟条件运算有啥区别吗?

布尔表达式?  表达1  表达2


跟if......else有啥区别吗?感觉作用相同呀

提问者:qq_TheFirebird_03629981 2016-07-21 15:32

个回答

  • luofuxiang
    2016-07-21 16:03:29

    有区别的。

    1. “布尔表达式?表达1:表达2”一个三目运算符,"表达式1"和“表达式2”中的两个表达式可以为一个具体的数值,也可以为表达式,且表达式不能以分号结尾,而“if...else...”的大括号里面包含的为代码段。

    2. “布尔表达式?表达1:表达2”是有运算结果返回的,而“if...else...”的大括号里面为代码段,无返回值。

    3. “if...else...”可以完全替代“布尔表达式?表达1:表达2”的效果,反之不行。采用三目运算符可以使代码更加简洁。

    import java.io.*;
    import java.util.*;
    class test  
    {
    	public static void main (String[] args) throws java.lang.Exception
    	{
    		int score=59;
    		
    		//采用三目运算符
    		String result1;
    		result1 = (score>=60 ? "及格" : "不"+"及格");
    		
    		//采用if...else...分支语句
    		String result2;
    		if(score>=60){
    		    result2="及格";
    		}
    		else{
    		    result2="不及格";
    		}
    		
    		System.out.println(result1);
    		System.out.println(result2);
    	}
    }


  • weibo_魔镜魔镜谁最傻_0
    2016-07-21 15:59:09

    比较复杂的话 用if比较明朗 如果只是一个很小的判断 就用三目运算就好了

  • VictorYANG3626325
    2016-07-21 15:41:55

    只能说写法不同吧,其实表达的意思一样,只是写法不同。个人理解。