🏆本文收录于「滚雪球学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语句的一些常见用法和注意事项:
- 可以使用比较运算符(如 ==、!=、>、<、>=、<=)和逻辑运算符(如 &&、||)来组合条件。
- 可以嵌套多个if语句来处理更复杂的条件。
- 如果else语句块没有被包含在if语句中,则它会被视为与最近的if语句配对。
- 如果条件为布尔值,则不需要使用 "== true" 或 "== false" 进行比较,而是直接使用布尔值本身即可。
- 如果只有一条语句需要执行,可以使用单行if语句来写,如:
if (condition) statement;
- Java还提供了switch语句来处理多个条件的情况,可以比if语句更加简洁和可读。
以上是if语句的一些常用用法和注意事项。在实际编程中,if语句经常被用来处理不同的条件分支,如判断用户输入是否合法、处理异常情况、实现不同逻辑分支等。
... ...
好啦,这期的内容就基本接近尾声啦,若你想学习更多,你可以看看专栏的导读篇《「滚雪球学Java」教程导航帖》,本专栏致力打造最硬核 Java 零基础系列学习内容,🚀打造全网精品硬核专栏,带你直线超车;欢迎大家订阅持续学习。功不唐捐,久久为功!
「赠人玫瑰,手留余香」,咱们下期拜拜~~
附录源码
如上涉及所有源码均已上传同步在「Gitee」,提供给同学们一对一参考学习,辅助你更迅速的掌握。
☀️建议/推荐你
无论你是计算机专业的学生,还是对编程感兴趣的跨专业小白,都建议直接入手「滚雪球学Java」专栏;该专栏不仅免费,bug菌还郑重承诺,只要你学习此专栏,均能入门并理解Java SE,以全网最快速掌握Java语言,每章节源码均同步「Gitee」,你真值得拥有;学习就像滚雪球一样,越滚越大,带你指数级提升。
码字不易,如果这篇文章对你有所帮助,帮忙给bugj菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。
同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!