为了账号安全,请及时绑定邮箱和手机立即绑定

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

int score=68;

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


正在回答

6 回答

学习总结:

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

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

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

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

0 回复 有任何疑惑可以回复我~

其实 

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

也是可以的,

不过用 

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

更直观一些。比如

mark = 70;

System.out.println(mark);

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

0 回复 有任何疑惑可以回复我~

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

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

    String mark;

    if(score>=60){

        mark="及格";

    }else{

        mark="不及格";

    }

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信