Java编程基础(选择结构)
2023-12-25 17:24:57
一、选择结构语句
在 Java 编程语言中,选择结构用于根据条件来执行不同的代码块。以下是 Java 中常用的选择结构语句:
1.if语句
1.1 if语句
if 语句用于根据条件来执行一个代码块。
if(条件表达式){
? ? ? ? 语句组1;
}
else{
? ? ? ? 语句组2;
}
示例如下:
public class Main {
public static void main(String[] args) {
int number = 10;
if (number > 10) {
System.out.println("Number is greater than 10");
} else {
System.out.println("Number is not greater than 10");
}
}
}
?输出结果为:
1.1.1 注意事项
- 条件判断:if 语句中的条件判断应该是一个布尔表达式。确保条件的结果是 true 或 false,以正确执行相应的代码块。
- 代码块缩进:if 语句的代码块应该使用缩进,以表示它们属于 if 语句的一部分。通常使用一个固定的缩进量(如四个空格或一个制表符)来保持代码的可读性。
- else 子句:如果需要处理条件为假的情况,可以使用 else 子句。else 子句是可选的,但在某些情况下,它可以使代码更清晰和易于理解。
- 多重 if-else 结构:如果需要处理多个不同条件,可以使用嵌套的 if-else 结构。确保每个条件都是独立的,并且涵盖了所有可能的情况,以避免出现逻辑错误。
- 避免无限循环:在使用 if 语句时,要小心避免创建无限循环的情况。确保在条件中包含足够的信息来打破循环,或者在必要时使用 break 语句。
- 可读性:尽量保持 if 语句的可读性。使用清晰的变量名和有意义的条件表达式,以便其他人能够理解你的代码逻辑。
- 考虑使用 switch 语句:如果有多个互斥的条件需要处理,并且每个条件都有明确的结果,可以考虑使用 switch 语句而不是多个 if-else 结构。
- 错误处理:在 if 语句中,可以使用适当的错误处理机制来处理可能的错误情况,而不是仅仅依赖于条件判断。
1.2 else if 语句
????????else if 语句是 if 语句的扩展。else if 语句用于根据条件来执行两个不同的代码块,适用于当你需要根据多个条件来执行不同的操作时。它可以用于处理各种情况,并根据条件的真假执行相应的代码块。else if 语句的条件可以是任何布尔表达式,并且可以嵌套使用以处理更复杂的条件逻辑。
?
例如,如果你需要根据某个变量的值来执行三个及以上不同的操作,可以使用 else if 语句。示例如下:
public class Main {
public static void main(String[] args) {
int number = 10;
if (number > 10) {
System.out.println("Number is greater than 10");
} else if(number < 10){
System.out.println("Number is smaller than 10");
} else {
System.out.println("Number = 10");
}
}
}
1.2.1 注意事项
- 条件顺序:?else if?语句中的条件应该按照逻辑顺序排列。从最可能的条件开始,逐渐向下处理更具体的情况。这样可以确保在第一个条件满足时,后续的条件不会被评估。
- 完整性:确保所有可能的情况都被考虑到,并且每个?else if?都有一个相应的?else?子句作为最后的默认情况。这样可以避免遗漏处理某些情况。
- 避免重叠条件:每个?else if?条件应该是独立的,并且不应包含重叠的范围。如果条件之间存在重叠,可能会导致意外的结果。
- 可读性:尽量保持?else if?语句的可读性。使用清晰的变量名和有意义的条件表达式,以便其他人能够理解你的代码逻辑。
- 代码简洁性:如果条件非常复杂或者存在大量的?else if?语句,可以考虑使用其他编程结构,如?switch?语句,以提高代码的简洁性和可读性。
- 注意缩进:与?if?语句一样,?else if?语句的代码块应该使用缩进,以表示它们属于相应的条件。
- 避免嵌套过深:过多的嵌套?else if?语句可能会使代码难以理解和维护。尽量保持代码结构的简洁和清晰。
2.switch 语句
?????????switch 语句用于根据一个表达式的值来选择不同的代码块,适用于当你需要根据一个变量的值来选择不同的操作时。它只能处理整数类型、枚举类型或字符类型的值,并根据值来匹配相应的 case 分支。每个 case 分支都包含一个值和相应的操作,当匹配到相应的值时,将执行相应的操作。
?
例如,如果你需要根据一个整数变量的值来执行不同的操作,可以使用 switch 语句。示例如下:
public class Main {
public static void main(String[] args) {
int day = 5;
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;
}
}
}
温馨提示:一般来说,如果你的条件逻辑比较复杂,或者需要处理多个条件,使用 if-else 语句会更合适。而如果你的条件逻辑基于一个整数或枚举类型的值,并且需要根据不同的值执行不同的操作,使用 switch 语句会更加简洁和易读。
2.1 注意事项
- 表达式类型:?switch?语句中的表达式必须是整数类型、枚举类型或字符类型。不能使用浮点数或其他数据类型。
- 常量表达式:?switch?语句中的每个?case?分支都必须是常量表达式,而且不能重复。
- 默认情况:如果没有匹配到任何?case?分支,默认情况下会执行?default?分支。因此,建议在?switch?语句中添加一个?default?分支,以处理未匹配到的情况。
- break 语句:每个?case?分支后面都应该使用?break?语句来终止?switch?语句的执行。否则,会出现穿透现象,即一旦匹配成功,就会顺序执行之后的所有?case?分支。
文章来源:https://blog.csdn.net/lzw082/article/details/135109677
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!