条件运算符属于三目运算符,它的语法结构是:布尔表达式?表达式1:表达式2。它的运行原理是这样的,先判断布尔表达式的结果是true还是false,如果是true,则选择表达式1的结果作为整个表达式的结果,反之则选择表达式2的结果作为整个表达式的结果。来看一段代码:
public class ConditionalOperatorTest01 {
public static void main(String[] args) {
//编译报错:这不是一个语句
//10;
boolean flag = true;
//编译报错:这不是一个语句
//flag ? 1 : 0;
//以上如果是一条完整的语句应该这样写
int k = flag ? 1 : 0;
System.out.println("k = " + k); //1
//三目运算符最经典的用法
boolean sex = true;
//当布尔变量sex为true则结果是'男',反之'女'
char gender = sex ? '男' : '女';
System.out.println("性别:" + gender); //男
sex = false;
gender = sex ? '男' : '女';
System.out.println("性别:" + gender); //女
//又如
int x = 100;
int y = 100;
System.out.println(x == y ? "x和y相等" : "x和y不相等");
}
}
实际上条件运算符和后期要学习的控制语句if可以达到同等效果。在实际开发中灵活运用条件运算符会让你的代码看起来更加简洁清凉,达到意想不到的效果。