滚雪球学Java(12):JavaSE-if条件语句入门指南:掌握代码分支流程!

简介: 【4月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

在这里插入图片描述


🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8

@[toc]

前言

Java是一种面向对象的编程语言,常用于开发Web应用、桌面应用、移动应用等。条件语句是Java中的一种常见的控制结构,用于根据条件来执行不同的代码块。

摘要

本文将介绍Java中的条件语句,包括if语句、if-else语句、if-else-if语句和switch语句。我们将通过简单易懂的例子来解释这些语句的用法,同时也会介绍一些注意事项和最佳实践。

内容

if语句

if语句是最基本的条件语句,在Java中的语法如下:

if (condition) {
   
    // 如果条件为真,则执行这里的代码
}

其中,condition是一个可以求值为布尔类型的表达式。如果这个表达式的值为true,那么if语句后面的代码块会被执行;否则,这个代码块会被跳过。

让我们来看一个例子。假设我们要判断一个数字是否大于10,如果是,就输出一条信息:

int num = 15;
if (num > 10) {
   
    System.out.println("这个数字大于10。");
}

上面的代码会输出一条信息,因为num的值为15,大于10。

需要注意的是,if语句后面的代码块只有一条语句时,可以省略花括号。但是,为了代码的可读性,建议始终使用花括号,即使只有一条语句。

if-else语句

if-else语句允许我们在条件不成立时执行另外一段代码。它的语法如下:

if (condition) {
   
    // 如果条件为真,则执行这里的代码
} else {
   
    // 如果条件为假,则执行这里的代码
}

如果condition的值为true,那么第一个代码块会被执行;否则,第二个代码块会被执行。

让我们来看一个例子。假设我们要判断一个数字是否为偶数,如果是,输出一条信息;否则,输出另一条信息:

int num = 7;
if (num % 2 == 0) {
   
    System.out.println("这个数字是偶数。");
} else {
   
    System.out.println("这个数字是奇数。");
}

上面的代码会输出一条信息,因为7是一个奇数。

if-else-if语句

if-else-if语句允许我们根据多个条件来执行不同的代码块。它的语法如下:

if (condition1) {
   
    // 如果条件1为真,则执行这里的代码
} else if (condition2) {
   
    // 如果条件2为真,则执行这里的代码
} else {
   
    // 如果所有条件都不成立,则执行这里的代码
}

如果condition1的值为true,那么第一个代码块会被执行;否则,程序会继续判断condition2的值,如果为true,则执行第二个代码块;如果所有条件都不成立,则执行最后一个代码块。

让我们来看一个例子。假设我们要判断一个数字是正数、负数还是零,分别输出不同的信息:

int num = -2;
if (num > 0) {
   
    System.out.println("这个数字是正数。");
} else if (num < 0) {
   
    System.out.println("这个数字是负数。");
} else {
   
    System.out.println("这个数字是零。");
}

上面的代码会输出一条信息,因为num的值为-2,是一个负数。

switch语句

switch语句也可以根据多个条件来执行不同的代码块。它的语法如下:

switch (expression) {
   
    case value1:
        // 如果expression的值等于value1,则执行这里的代码
        break;
    case value2:
        // 如果expression的值等于value2,则执行这里的代码
        break;
    // ...
    default:
        // 如果expression的值都不等于上述任何一个值,则执行这里的代码
        break;
}

其中,expression是一个可以求值为整型、字符型或枚举类型的表达式。程序会根据expression的值来匹配不同的case语句,并执行对应的代码块。如果没有匹配的case语句,则执行default代码块(可选)。

让我们来看一个例子。假设我们要根据数字的值来输出不同的信息:

int num = 3;
switch (num) {
   
    case 1:
        System.out.println("这是第一个数字。");
        break;
    case 2:
        System.out.println("这是第二个数字。");
        break;
    case 3:
        System.out.println("这是第三个数字。");
        break;
    default:
        System.out.println("这不是一个有效的数字。");
        break;
}

上面的代码会输出一条信息,因为num的值为3,匹配到了第三个case语句。

注意事项和最佳实践

  • 在if语句中,尽量使用简单的条件表达式,避免复杂的逻辑运算。
  • 在if-else语句中,else代码块总是在if代码块后面,建议将else代码块放在if代码块的下一行。
  • 注意if-else-if语句中各个条件的顺序,将最常见的情况放在前面,可以提高代码的效率。
  • 在switch语句中,要记得每个case语句都要有一个break语句,避免出现不必要的执行。

代码方法介绍

检查数字是否为偶数

public static boolean isEven(int num) {
   
    return num % 2 == 0;
}

这个方法用于检查一个数字是否为偶数。它接受一个整型参数,如果这个参数是偶数则返回true,否则返回false。

判断数字的正负性

public static String checkSign(int num) {
   
    if (num > 0) {
   
        return "这个数字是正数。";
    } else if (num < 0) {
   
        return "这个数字是负数。";
    } else {
   
        return "这个数字是零。";
    }
}

这个方法用于判断一个数字的正负性。它接受一个整型参数,根据这个参数的值返回不同的信息。

输出数字对应的信息

public static String getNumInfo(int num) {
   
    switch (num) {
   
        case 1:
            return "这是第一个数字。";
        case 2:
            return "这是第二个数字。";
        case 3:
            return "这是第三个数字。";
        default:
            return "这不是一个有效的数字。";
    }
}

这个方法用于根据一个数字的值输出对应的信息。它接受一个整型参数,根据这个参数的值返回不同的信息。

测试用例

测试isEven方法

@Test
void testIsEven() {
   
    assertTrue(isEven(4));
    assertFalse(isEven(5));
}

这个测试用例用于测试isEven方法的正确性。它通过断言来判断方法返回值是否符合预期。

测试checkSign方法

@Test
void testCheckSign() {
   
    assertEquals("这个数字是正数。", checkSign(5));
    assertEquals("这个数字是负数。", checkSign(-7));
    assertEquals("这个数字是零。", checkSign(0));
}

这个测试用例用于测试checkSign方法的正确性。它通过断言来判断方法返回值是否符合预期。

剩下的就同学们自己测试玩玩啦。

总结

Java中的if语句是一种条件分支语句,它用于根据给定的条件来执行不同的代码块。if语句的基本结构如下:

if (condition) {
    // 如果条件为真,则执行此代码块
} else {
    // 如果条件为假,则执行此代码块(可选)
}

以下是if语句的一些常见用法和注意事项:

  1. 可以使用比较运算符(如 ==、!=、>、<、>=、<=)和逻辑运算符(如 &&、||)来组合条件。
  2. 可以嵌套多个if语句来处理更复杂的条件。
  3. 如果else语句块没有被包含在if语句中,则它会被视为与最近的if语句配对。
  4. 如果条件为布尔值,则不需要使用 "== true" 或 "== false" 进行比较,而是直接使用布尔值本身即可。
  5. 如果只有一条语句需要执行,可以使用单行if语句来写,如:if (condition) statement;
  6. Java还提供了switch语句来处理多个条件的情况,可以比if语句更加简洁和可读。

以上是if语句的一些常用用法和注意事项。在实际编程中,if语句经常被用来处理不同的条件分支,如判断用户输入是否合法、处理异常情况、实现不同逻辑分支等。

  ... ...

  好啦,这期的内容就基本接近尾声啦,若你想学习更多,你可以看看专栏的导读篇《「滚雪球学Java」教程导航帖》,本专栏致力打造最硬核 Java 零基础系列学习内容,🚀打造全网精品硬核专栏,带你直线超车;欢迎大家订阅持续学习。功不唐捐,久久为功!

「赠人玫瑰,手留余香」,咱们下期拜拜~~

附录源码

  如上涉及所有源码均已上传同步在「Gitee」,提供给同学们一对一参考学习,辅助你更迅速的掌握。

☀️建议/推荐你

  无论你是计算机专业的学生,还是对编程感兴趣的跨专业小白,都建议直接入手「滚雪球学Java」专栏;该专栏不仅免费,bug菌还郑重承诺,只要你学习此专栏,均能入门并理解Java SE,以全网最快速掌握Java语言,每章节源码均同步「Gitee」,你真值得拥有;学习就像滚雪球一样,越滚越大,带你指数级提升。

  码字不易,如果这篇文章对你有所帮助,帮忙给bugj菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。

  同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

目录
相关文章
|
15天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
|
15天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
21天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
24天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
32 1
|
25天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
4月前
|
Java 数据安全/隐私保护
Java代码的执行顺序和构造方法
构造方法是类的一种特殊方法,用于初始化新对象。在 Java 中,每个类默认都有一个与类名同名的构造方法,无需返回类型。构造方法不能用 static、final、synchronized、abstract 或 native 修饰。它可以重载,通过不同的参数列表实现多种初始化方式。构造方法在对象实例化时自动调用,若未显式声明,默认提供一个无参构造方法。构造代码块和静态代码块分别用于对象和类的初始化,按特定顺序执行。
32 0
|
6月前
|
Java
Java代码的执行顺序
Java代码的执行顺序
34 1
|
Java
Java基础-代码执行顺序(重要)
Java代码初始化顺序:     1.由 static 关键字修饰的(如:类变量(静态变量)、静态代码块)将在类被初始化创建实例对象之前被初始化,而且是按顺序从上到下依次被执行。静态(类变量、静态代码块)属于类本身,不依赖于类的实例。     2.没有 static 关键字修饰的(如:实例变量(非静态变量)、非静态代码块)初始化实际上是会被提取到类的构造器中被执行的,但是会比类构造器中的代码
2368 1
LearnJava(四) | Java代码块执行顺序测试
最近笔试常常遇到考察Java代码块执行顺序的题目,网上查看博客错漏百出,特地自己测试了一下。 如有错漏,希望路过的大佬指出来,以便我进行更改。   先上代码吧! public class ClassA { private static St...
950 0
|
Java 机器学习/深度学习