Java条件语句

简介: Java条件语句

一、if 语句

    【语法格式1】

 if(布尔表达式){
    // 语句
}

       如果布尔表达式结果为true,执行if中的语句,否则不执行。

       比如:小明,如果这次考试考到90分或以上,给你奖励一个鸡腿。

int score = 92;
 if(score >= 90){
    System.out.println("吃个大鸡腿!!!");
 }

       【语法格式2】

 if(布尔表达式){
    // 语句1
 }else{
    // 语句2
 }

       如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。

       比如:小明,如果这次考到90分以上,给你奖励一个大鸡腿,否则奖你一个大嘴巴子。

int score = 92;
 if(score >= 90){
    System.out.println("吃个大鸡腿!!!");
 }else{
    System.out.println("挨大嘴巴子!!!");
 }

       【语法格式3】

 if(布尔表达式1){
    // 语句1
 }else if(布尔表达式2){
    // 语句2
 }else{
    // 语句3
 }

       表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3

       比如:考虑到学生自尊,不公开分数排名,因此:

       分数在 [90, 100] 之间的,为优秀

       分数在 [80, 90) 之前的,为良好

       分数在 [70, 80) 之间的,为中等

       分数在 [60, 70) 之间的,为及格

       分数在 [ 0, 60) 之间的,为不及格

       错误数据

       按照上述办法通知学生成绩。

 if(score >= 90){
    System.out.println("优秀");
 }else if(score >= 80 && score < 90){
    System.out.println("良好");
 }else if(score >= 70 && score < 80){
    System.out.println("中等");
 }else if(score >= 60 && score < 70){
    System.out.println("及格");
 }else if(score >= 0 && score < 60){
    System.out.println("不及格");
 }else{
    System.out.println("错误数据");
 }

        来道题练习一下吧:

       【练习】判断一个年份是否为闰年

int year = 2000;
 if (year % 100 == 0) {
    // 判定世纪闰年
    if (year % 400 == 0) {
        System.out.println("是闰年");
    } else {
        System.out.println("不是闰年");
    }
 } else {
    // 普通闰年
    if (year % 4 == 0) {
        System.out.println("是闰年");
    } else {
        System.out.println("不是闰年");
    }
 }

       这里我们简单说一下以下两个问题

       【分号问题】

 int x = 20;
 if (x == 10); 
{
    System.out.println("hehe");
 }
 
// 运行结果
hehe

       此处多写了一个 分号, 导致分号成为了 if 语句的语句体, 而 { } 中的代码已经成为了和一个 if 无关的代码块。

       【悬垂 else 问题】

int x = 10;
 int y = 10;
 if (x == 10) 
    if (y == 10)
        System.out.println("aaa");
 else 
    System.out.println("bbb");

       if / else 语句中可以不加 大括号 ,但是也可以写语句(只能写一条语句)。

       此时 else 是和最接近的 if 匹配,但是实际开发中我们 不建议 这么写,最好加上大括号。

二、switch语句

       【语法格式】

 
switch(表达式){
    case 常量值1:{
        语句1;
        [break;]
        }
    case 常量值2:{
        语句2;
        [break;]
        }
    ...
    default:{
        内容都不满足时执行语句;
        [break;]
        }       
}

       【执行流程】

       1. 先计算表达式的值

       2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束

       3. 当表达式的值没有与所列项匹配时,执行default

       【代码示例】 根据 day 的值输出星期

 int day = 1;
 switch(day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    case 7:
        System.out.println("星期日");
        break;
    default:
        System.out.println("输入有误");
        break;
 }

       【注意事项】

       多个case后的常量值不可以重复

       switch的括号内只能是以下类型的表达式: 基本类型:byte、char、short、int,注意不能是long类型 引用类型:String常量串、枚举类型

       break 不要遗漏, 否则会失去 "多分支选择" 的效果

       switch 不能表达复杂的条件

完!


相关文章
|
2月前
|
Java 测试技术 编译器
🎯Java零基础-Switch条件语句详解 🎯
【10月更文挑战第8天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 6
|
2月前
|
Java 测试技术 程序员
💡 Java 零基础 | 探索 if 条件语句的应用与技巧
【10月更文挑战第9天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 2
|
7月前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
69 1
|
3月前
|
Java
Java 条件语句 - if...else
Java 条件语句 - if...else
38 7
|
4月前
|
搜索推荐 Java 程序员
从菜鸟到高手,如何优雅地使用Java条件语句?
从菜鸟到高手,如何优雅地使用Java条件语句?
30 2
|
4月前
|
Java
Java条件语句:if-else与switch的适用场景大起底
Java条件语句:if-else与switch的适用场景大起底
121 2
|
4月前
|
搜索推荐 Java 程序员
在Java编程的旅程中,条件语句是每位开发者不可或缺的伙伴,它如同导航系统,引导着程序根据不同的情况做出响应。
在Java编程中,条件语句是引导程序根据不同情境作出响应的核心工具。本文通过四个案例深入浅出地介绍了如何巧妙运用if-else与switch语句。从基础的用户登录验证到利用switch处理枚举类型,再到条件语句的嵌套与组合,最后探讨了代码的优化与重构。每个案例都旨在帮助开发者提升编码效率与代码质量,无论是初学者还是资深程序员,都能从中获得灵感,让自己的Java代码更加优雅和专业。
26 1
|
4月前
|
Java
在Java编程的广阔天地中,条件语句是控制程序流程、实现逻辑判断的重要工具。
在Java编程中,if-else与switch作为核心条件语句,各具特色。if-else以其高度灵活性,适用于复杂逻辑判断,支持多种条件组合;而switch在多分支选择上表现优异,尤其适合处理枚举类型或固定选项集,通过内部跳转表提高执行效率。两者各有千秋:if-else擅长复杂逻辑,switch则在多分支选择中更胜一筹。理解它们的特点并在合适场景下使用,能够编写出更高效、易读的Java代码。
39 1
|
4月前
|
存储 Java 编译器
掌握这些技巧,让Java中的条件语句if-else和switch为你的项目加分!
在软件工程中,Java的if-else和switch语句是控制流程的关键。通过案例分析,本文展示如何优化这些语句以提升代码质量和性能。首先,重构if-else结构,使用Map存储会员等级与折扣的映射,提高代码可读性和扩展性。其次,利用switch语句处理有限的选择,并通过策略模式进一步增强代码的灵活性。最后,根据选项数量和数据类型的不同,合理选择if-else或switch以达到最优性能。掌握这些技巧,将助力开发者写出更高效的Java代码。
63 0
|
7月前
|
Java
【Java开发指南 | 第十三篇】Java条件语句
【Java开发指南 | 第十三篇】Java条件语句
43 2
【Java开发指南 | 第十三篇】Java条件语句