打卡2019-05-17
Topic source不要秀机智,短路运算是用来减少运算的,不是用来避免的。只要避开短路运算一定是垃圾运算。
boolean isPrimaryStudent = (6 <= age) && (age <= 12);
求教大家:
public class Main {
public static void main(String[] args) {
int age = 7;
boolean isPrimaryStudent = age >= 6 ? (age <=12 ? "Y" : "F") : "F";
System.out.println(isPrimaryStudent);
}
}
为啥会下面这一行会报错(Type mismatch: cannot convert from String to boolean)
boolean isPrimaryStudent = age >= 6 ? (age <=12 ? "Y" : "F") : "F";
@觅梨中
boolean isPrimaryStudent = age >= 6 ? (age <=12 ? "Y" : "F") : "F";
式子age >= 6
为true,返回(age <=12 ? "Y" : "F")
式子(age <=12 ? "Y" : "F")
为true,返回"Y"
最后得boolean isPrimaryStudent = "Y"
"Y"
是字符串类型,不能赋值给布尔变量isPrimaryStudent
- 1
用户5527594890
boolean isPrimaryStudent = age >=6?(age <= 12?true:false):false;