java-程流程控制--分支结构if-else

1.if-else

在这里插入图片描述
三种结构:
1.第一种
if(条件表达式){
执行表达式

}

2.第二种(二选一)
if(条件表达式){
执行表达式1

}else{
执行表达式2
}

3.第三种(多选一)
if(条件表达式){
执行表达式1

}else if(条件表达式){
执行表达式2
}else if(条件表达式){{
执行表达式3
}

else{
执行表达式n
}

if-else 使用说明:
条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量;

语句块只有一条执行语句时,一对 {} 可以省略,但建议保留;

if-else 语句结构,根据需要可以嵌套使用;

当 if-else 结构是“多选一”时,最后的 else 是可选的,根据需要可以省略;

当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓,有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明放在上面。
当多个条件是“包含”关系时,“小上大下 / 子上父下”。

2.练习

import java.util.Scanner;

class  IfTest{

   public static void main(String[] args){
     Scanner sc=new Scanner(System.in);
     System.out.print("请输入您的成绩");
     int score=  sc.nextInt();
     
     if(score==100){
        System.out.print("奖励一俩");

}else if(score>80&&score<=99){
       System.out.print("奖励一台");

}else if(score>60&&score<80){
        System.out.print("奖励一个");


}else{
 System.out.print("没有");

}

注意:}else if(80<score<=99)不能这样写
if(score=80)不能这样写,而是==

最后的else可选,不用写可以。

编写程序:由键盘输入三个整数分别存入变量num1,num2,num3,对他们进行排序(使用if-else if-else ,并且从小到大输出

import java.util.Scanner;
class IfTest2{
    public static void main(String[] args){
         Scanner  sc=new Scanner(System.in);
          System.out.print("输入第一个整数");
           int num1= sc.nextInt();
           System.out.print("输入第二个整数");
           int num2= sc.nextInt();
           System.out.print("输入第三个整数");
           int num3= sc.nextInt();
 

            if(num1>=num2){
               if(num3>=num1){
                 System.out.print(num2+","+num1+","+num3);
              }else if(num3<=num1){
                 System.out.print(num3+","+num2+","+num1);
                }
               else{

                 System.out.print(num2+","+num3+","+num1);
                   }
            }else{
               if(num1<=num2){
                  if(num3<=num1){

                   System.out.print(num3+","+num1+","+num2);
                     }
                  else if(num3>=num1){
                    System.out.print(num1+","+num2+","+num3);

                 }else{

                 System.out.print(num1+","+num3+","+num2);

                      }

                               
                            }


                }




}
}

我家的狗5岁了,5岁的狗相当于人类多大嘞,其实,狗的前两年每一年相当于人类的10.5岁,之后每增加一年就增加四岁,那么5岁的狗相当于人类多少年龄呢?应该是10.5+10.5+4+4+4
编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人类的年龄,如果用户输入负数请显示一个提示信息。

class PracticeTest2{
  public static void main(String[] args){
    int dogAge=-1;
    if(dogAge>=0&&dogAge<=2){
        System.out.print("相当于人的年龄:"+dogAge*10.5);


     } else if(dogAge>2){

        System.out.print("相当于人的年龄:"+(2*10.5+(dogAge-2)*4));


     }else{
         System.out.print("狗狗未出生");
  }

     }

}

注意:
写dogAge应该考虑到
1)dogAge>=0&&dogAge<=2的情况

逻辑是狗的年龄乘10.5

2)dogAge>2的情况
2*10.5+(dogAge-2)*4

假设你想开发一个玩彩票的游戏,程序随机的产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金1000
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3000
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1000
4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500
5)如果用户输入的数字没有匹配任何一个数字,则彩票作废
提示:使用(int)(Math.random()*90+10)产生随机数。
Math.random():[0:1)90–【0,90)+10–【10,100)–【10,99】
import java.util.Scanner;
//10-99 随机数 0.0-1.0 随机数
(99-10+1)+10—》 【10.0–100.0)–》【10-99】

class PriacticeTest3{
   public static void main(String[] args){
              int number=(int)(Math.random()*90+10);
              int  numberShi=number/10;
              int numberGe=number%10;
             
             Scanner sc=new Scanner(System.in);
             System.out.print("请输入一个两位数");
             int finalResult=   sc.nextInt();
             int finalShi=finalResult/10;
             int finalGe=finalResult%10;
            if(number==finalResult){
                 System.out.print("10000");

            }else if(numberShi==finalGe&&numberGe==finalShi){

                 System.out.print("3000");

            } else if(numberShi==finalShi||numberGe==finalGe){


                 System.out.print("1000");


            }else if(numberShi==finalGe&&numberGe==finalShi){
                 System.out.print("500");



            }else{

                 System.out.print("500");

}
             
                 System.out.print("中奖号码是:"+number);


     }


}

注意:考虑到获取随机数:math.Random() 考虑到两位数是用个位数和十位数来表示 两位随机数,【a,b】

(int)(math.Random()*(b-a+1)+a)

大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上,富:财富500百万 帅:是
如果这三个条件同时满足,则:嫁
如果三个条件有为真的情况,则:嫁吧
如果三个条件都不满足,则不嫁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值