条件运算符嵌套算法实例

这篇博客介绍了Java中的条件运算符,包括其优先级和用法。通过实例解释了如何使用条件运算符来判断成绩评价,并强调了条件运算符与赋值、逗号运算符的优先级关系。同时,文中提到了条件运算符的结合性以及在Java中关系表达式必须为布尔类型的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求提供一个成绩,根据分数的多少判断成绩评价

表达式为:表达式1?表达式2:表达式3

先求解表达式1,

若其值为真(非0)则将表达式2的值作为整个表达式的取值,

否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。

例如:

1、max=(a>b)?a:b

就是将a和b二者中较大的一个赋给max。

2、min=(a<b)?a:b

就是将a和b二者中较小的一个赋给min。

优先级

条件运算符优先级高于赋值、逗号运算符,低于其他运算符

例如:

⑴ m<n ? x : a+3

等价于:(m<n) ?(x) :(a+3)

⑵ a++>=10 && b-->20 ? a : b

等价于:(a++>=10 && b-->20) ? a : b

⑶ x=3+a>5 ? 100 : 200

等价于:x= (( 3+a>5 ) ? 100 : 200 )

当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。

例如:

w < x ? x + w : x < y ? x : y

与 w < x ? x + w : ( x < y ? x : y) 等价

与 (w < x ? x + w : x < y) ? x : y 不等价

a > b ? c > d ? e : f : g

与a > b ? (c > d ? e : f) : g等价

说明

1、条件运算符的优先级低于关系运算符算术运算符,高于赋值运算符

2、JAVA中条件运算表达式中的关系表达式值的类型必须为布尔类型,只能是true或false。

3、结合性也是右结合性。

4、与C语言不同的是,JAVA中条件表达式的值必须参与运算。

package exam01;
import java.util.Scanner;
public class JavaExam09 {
    public static void main(String[] args) {
        char grade;
        Scanner scr = new Scanner(System.in);
        System.out.println("请输入您的成绩");
        int x = scr.nextInt();
        if(x>=0&&x<=100){
            grade =x>90?'a':x>60?'b':'c';
            System.out.println("您的成绩等级为"+grade);
        }else {
            System.out.println("您输入的成绩错误,请重新输入");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值