2.27学习总结

文章介绍了Java编程中的嵌套if选择结构和switch选择结构的使用,以及如何利用Math.random()方法生成随机数。在嵌套if中,根据条件判断执行不同代码块;switch结构则根据表达式的值匹配执行相应的代码。同时,示例展示了如何根据用户输入的成绩和性别决定比赛资格,以及在不同天气和温度条件下推荐活动。此外,文章还展示了如何生成指定范围内的随机整数,并进行简单的奖品分配逻辑。
摘要由CSDN通过智能技术生成

目录

嵌套if选择结构

Math.random()获取随机数

switch选择结构


嵌套if选择结构

在一个if结构中包含另外一个if结构
    语法结构:
            if(条件1){
                     //代码块1
            if(条件2){
                     //代码块2
             }else{
                    //代码块3
                    }
            }else{
                  if(条件3){
                      //代码块4
                  }else{
                      //代码块5
                 }
            }
执行规律:
       根据条件判断的结果进入到不同的{}中,如果{}中还有条件,继续判断,根据条件判断的结果执行相关的代码

package com.bdqn.demo05;

import java.util.Scanner;

public class Demo02 {

	public static void main(String[] args) {
		/*
		 * 学校举行运动会,百米赛跑跑入10 秒内的学生有资格进决赛,根据性别分别进入男子组和女子组
		 */

		// equals():比较两个字符串内容是否相同,内容相同,返回true,内容不相同返回false

		Scanner sc = new Scanner(System.in);

		// 输入跑步成绩
		System.out.println("请输入你的百米赛跑成绩:");
		double runScore = sc.nextDouble();
		// 根据你输入的成绩判断你是否能进入决赛
		if (runScore < 10) {
			System.out.println("恭喜你,进入决赛");
			// 进入决赛后,根据性别进行分组
			System.out.println("请输入你的性别:");
			String gender = sc.next();
			if (gender.equals("男")) {
				System.out.println("进入男子决赛组");
			} else if (gender.equals("女")) {
				System.out.println("进入女子决赛组");
			} else {
				System.out.println("性别输入错误");
			}

		} else {
			System.out.println("很遗憾,没能进入决赛,继续努力");
		}
		
		sc.close();

	}

}

 

package test;

import java.util.Scanner;

public class Test01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc1 = new Scanner(System.in);
		System.out.println("请输入天气:");
		String weather = sc1.next();
		Scanner sc2 = new Scanner(System.in);
		System.out.println("请输入温度:");
		double temp = sc2.nextDouble();
		if (weather.equals("晴天")) {
			if (temp > 30) {
				System.out.println("室内游泳");
			} else if (temp <= 30) {
				System.out.println("室外篮球");
			}

		} else if (weather.equals("雨天")) {
			if (temp > 25) {
				System.out.println("室内羽毛球");
			} else if (temp <= 25) {
				System.out.println("在家学习,敲代码");
			}
		}
	}

}

Math.random()获取随机数

随机产生一个[0.0,1.0)之间的值

random()*10:随机产生一个[0.0,10.0)之间的值

规律:随机产生一个[num1,num2)(num2>num1)之间的int类型的数

==> (int)(Math.random()*(num2-num1)+num1);

package test;

import java.util.Scanner;

public class Test02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入4位卡号:");
		int cardId = sc.nextInt();
		int baiWei = cardId / 100 % 10;
		int random = (int) (Math.random() * 10);
		System.out.println("中奖号码:" + random);
		if (baiWei == random) {
			System.out.println("中奖");
		} else {
			System.out.println("没中奖!");
		}

	}

}


switch选择结构

语法结构:
                 switch(表达式){
                      case 值1:
                         //代码块1;
                          break;
                      case 值2:
                          //代码块2;
                          break;
                      ........
                      case 值n:
                         //代码块n;
                          break;
                      default:    
                          //代码块m;
                          break;
                 }
执行规律:
                  根据表达式的结果,取匹配case后面的值,表达式的结果与哪个值相同,就执行里面的代码块。执行完代码块后执行break,结束整个Switch选择结构
                  如果表达式的值与所有的case后面的值都不相同,就执行default里面的代码块,然后执行break(这个break可以省略)结束整个Switch选择机构
          
注意:
                  1)表达式的值只能是一个等值(具体的值,不是一个范围)
                  2)表达式的值可以是byte short int char 枚举类型 String类型(JDK1.5还是1.7版本之后开始支持?)
                  3)case值不能相同
                  4)case里面break的作用是用来结束Switch选择结构,如果在case中没有写break,那么会造成case穿透现象(一直向下执行,一直到遇到break或者执行到最后的default)。case穿透现象可以合理使用
                  5)default语句块是当表达式的值与所有case值不相同的时候执行,default也可以省略不写。default可以写在任意位置,一般写在Switch结构最后
          
          

package test;

import java.util.Scanner;

public class Test03 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入名次:");
		int minCi = sc.nextInt();
		switch (minCi) {
		case 1:
			System.out.println("参加麻省理工大学组织的一个月夏令营");
			break;
		case 2:
			System.out.println("惠普笔记本电脑一部");
			break;
		case 3:
			System.out.println("移动硬盘一个");
			break;
		default:
			System.out.println("没有奖励");
			break;
		}
		System.out.println("继续努力");

	}

}


         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值