为什么是String 类型 而不用 boolean类型呢?

来源:3-7 Java中的条件运算符

小海鸟

2017-03-02 14:47

int score=68;

String mark =(score>=60) ? "及格" : "不及格";


写回答 关注

6回答

  • qq_时光_71
    2017-04-15 14:34:12

    学习总结:

    (表达示) ?值1:值2  【三目运算符】

    表达示运算规则 :“表达示”是逻辑运算,结果是boolean类型,

                                如果表达示结果是true,返回的是值1,如果表达示结果是false返回的是值2.

    这里题目要求  值1=“及格”、值2="不及格"。都是String类型所以用Sting定义变量。

  • 慕函数8491977
    2017-03-02 19:30:19

    其实 

    boolean mark =(score>=60) ? true : false; 

    也是可以的,

    不过用 

    String mark =(score>=60) ? "及格" : "不及格"; 

    更直观一些。比如

    mark = 70;

    System.out.println(mark);

    输出的 "及格" 是不是比 true 更直观呢

  • CHFFOPSAIE
    2017-03-02 16:42:18

    (score>=60) ? "及格" : "不及格"      的结果是"及格"和"不及格",而不是true或false。

    String mark =(score>=60) ? "及格" : "不及格"; 这句话是个条件表达式,如A>B?C:D。相当于:

        String mark;

        if(score>=60){

            mark="及格";

        }else{

            mark="不及格";

        }

  • 慕粉1602058801
    2017-03-02 15:13:06

    因为mark是一个字符串变量,"及格"与"不及格"是两个字符串,所以是String;boolean变量的值为true 或者false

  • Stuart12
    2017-03-02 15:11:01

    “及格”、”不及格“不是String是什么?

  • 五分熟
    2017-03-02 14:56:45

    当score>=60 时, 如果括号里输出是true,则把”及格“ 赋值给mark。

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165166 学习 · 17581 问题

查看课程

相似问题