You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中if语句使用||(逻辑或)时的判断错误问题求助

问题分析与解决

这是典型的逻辑判断错误,属于初学者容易踩的小坑。

你输入A或B仍触发退出,核心问题出在逻辑或(||)的使用上:逻辑或只要任意一个条件为true,整个表达式结果就为true。

当你写grade != 'A' || grade != 'B'时:

  • 输入'A'时,grade != 'B'为true,整个条件成立,执行退出逻辑
  • 输入'B'时,grade != 'A'为true,同样条件成立,执行退出逻辑

正确逻辑应该是既不是A也不是B时才判定无效,这时候要用逻辑与(&&):

char grade = ...; // 获取用户输入的等级
if (grade != 'A' && grade != 'B') {
    System.out.println("无效输入");
    System.exit(0);
}

也可以用反向逻辑写法,效果完全一致:

if (!(grade == 'A' || grade == 'B')) {
    System.out.println("无效输入");
    System.exit(0);
}

内容的提问来源于stack exchange,提问作者joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:25:24