基本的if选择结构
if选择结构是根据条件判断结果。
if(条件){
//代码块
}
例1:张三Java成绩大于90分,老师奖励他一部手机。
if(stuFraction>90) {
System.out.println("恭喜你得到老师奖励的一部手机!");
}
流程图如下:

复杂条件的if选择结构
使用if将多个条件链接起来。
例2:张三Java成绩大于90,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他。
if(javaFraction>90 && musicFraction>80) {
System.out.println("得到老师奖励");
}
if(javaFraction==100 && musicFraction>70) {
System.out.println("得到老师奖励");
}
使用复杂条件的if选择结构式要结合运算符的优先级编写条件。
1.最高级的优先级:()
2.最低级的优先级:=
3.优先级:! > 算术运算符 > 关系运算符 > && > ||
4.复杂条件使用括号提高可读性
if-else选择结构
注意:只有一条语句时,不建议省略{}。
if(条件){
//代码块1
}else{
//代码块2
}
例3:如果张三Java考试成绩大于90分,老师奖励他一部手机,否则老师就罚他蹲马步。
if(javaFraction>90) {
System.out.println("老师奖励一部手机");
}else{
System.out.println("惩罚蹲马步");
}
流程图如下:

多重if选择结构
1.将条件分成几个连续区间进行判断,单个if选择结构无法完成,多个if选择结构麻烦且效率低。
2.使用多重if选择结构语句时,需要注意顺序。
if(条件1){
//代码块1
}else if(条件2){
//代码块2
}else if(条件3){
//代码块3
}
例4:对学员的考试成绩进行评测,成绩>=80为良好,成绩>=60为中等,成绩<60为差。
if(score>=80){
System.out.println("成绩为良好");
}else if(score>=60){
System.out.println("成绩为中等");
}else{
System.out.println("成绩为差");
}
流程图如下:

嵌套if选择结构
嵌套if控制语句可以通过外部语句和内部语句的写作,增强程序的灵活性。
if(条件1){
//代码块1
if(条件2){
//代码块2
}else{
//代码块3
}
}esle{
//代码块4
}
例5:小孩成人后身高的因素有遗传、饮食习惯与体育坚持锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight,身高预测公式为:
男性成人时身高 = (faHeight + moheight)*0.54
女性成人时身高 = (faHeight * 0.923 +moHeight) / 2
此外,喜爱锻炼可增加身高2%,有良好的饮食习惯可增加身高1.5%。利用给定的公式和身高预测方法对你的身高进行预测。
要求父母的身高、是否爱好体育锻炼等参数从键盘输入。
提示:字符串的比较使用.equals方法,如String a=“爱好”; a.equals(“爱好”)的值为true。
import java.util.Scanner;
public class demo8 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你父亲的身高:");
double faHeight = sc.nextDouble();
System.out.println("请输入你母亲的身高:");
double moHeight = sc.nextDouble();
System.out.println("请输入你的性别:(男/女)");
String sex = sc.next();
System.out.println("是否喜欢锻炼?(是/否)");
String duanlian = sc.next();
System.out.println("饮食是否健康?(是/否)");
String yinshi = sc.next();
double shengao=0;
//性别是男
if(sex.equals("男")) {
shengao=(faHeight + moHeight)*0.54;
//性别是男,爱锻炼
if(duanlian.equals("是")) {
shengao=shengao*1.02;
//性别是男,爱锻炼,饮食健康
if(yinshi.equals("是")) {
shengao=shengao*1.015;
}else {
//性别是男,饮食健康
if(yinshi.equals("是"));
shengao=shengao*1.015;
}
}
//性别是女
}else if (sex.equals("女")) {
shengao=(faHeight*0.923 + moHeight)*0.54;
//性别是女,爱锻炼
if(duanlian.equals("是")) {
shengao=shengao*1.02;
//性别是女,爱锻炼,饮食健康
if(yinshi.equals("是")) {
shengao=shengao*1.015;
}else {
//性别是女,饮食健康
if(yinshi.equals("是")) {
shengao=shengao*1.015;
}
}
}
}
System.out.println("你的身高为:"+(int)shengao+"cm");
}
}
流程图如下:

switch选择结构语法
1.条件为等值判断,一针见血。
2.default块顺序可以变动,但要注意执行顺序,通常default放在末尾,也可以省略。
switch (表达式) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
···
default:
语句;
break;
}
例6:张三参加计算机编程大赛
如果第一名,参加1个月夏令营
如果第二名,奖励笔记本一台
如果第三名,奖励移动硬盘
否则,不给任何奖励
switch (mingCi) {
case 1:
System.out.println("参加夏令营一个月");
break;
case 2:
System.out.println("奖励笔记本电脑一部");
break;
case 3:
System.out.println("奖励移动硬盘一个");
break;
default:
System.out.println("没有任何奖励");
break;
}
switch与多重if
相同点:
都是用来处理多分支条件的结构。
不同点:
switch选择结构:
只能处理等值条件判断的情况。
多重if选择结构:
没有switch选择结构的限制,特别适合 某个变量处于某个连续区间时的情况。
总结
if选择结构,包括以下形式
1.基本if选择结构:可以处理单一或组合条件的情况。
2.if-else选择结构:可以处理简单的条件分支情况。
3.多重if选择结构:可以处理分段的条件分支情况。
4.嵌套if选择结构:可以处理复杂的条件分支情况。
switch选择结构
多重分支并且条件判断是等值判断的情况。
嘿嘿!我是个Java小白,文章会有很多不足,希望和各位一起加油!学习!完善!
本文介绍了Java中的选择结构,包括if的基本用法、复杂条件判断、if-else结构、多重if、嵌套if和switch的选择结构。通过实例详细讲解了各种选择结构的应用场景和优缺点,适合Java初学者学习。

751

被折叠的 条评论
为什么被折叠?



