Java程序流程控制 分支结构之if语句

在这里插入图片描述

分支结构

一,if-else:
在这里插入图片描述注意:嵌套时,if和else通过就近原则匹配。
在这里插入图片描述练习:

//定义三个int型变量并赋值,使用if-else获取这三个数中较大数的实现
class GetMax 
{
	public static void main(String[] args) 
	{
		int num1=10,num2=21,num3=-21;
		int max=0;
		if(num1>=num2&&num1>=num3){
			max=num1;
		}
		if(num2>=num1&&num2>=num3){
			max=num2;
		}
		if(num3>=num1&&num3>=num2){
			max=num3;
		}

		System.out.println("三个数中最大值为:"+max);
	}
}

/*编写程序,声明2个double型变量并赋值。
判断第一个数大于10.0,且第二个数小于20.0,打印两数之和。
否则,打印两数乘积
*/
class  PrinIn
{
	public static void main(String[] args) 
	{
		double d1=12.3;
		double d2=32.1;
		if(d1>10.0&&d2<20.0){
		System.out.println(d1+d2);
		}else{
		System.out.println(d1*d2);
		}
	}
}




/*
如何从键盘获取不同类型的变量:需要使用Scanner类
具体实现步骤:
1,导包:import java.util.Scanner
2,Scanner的实例化:Scanner scan=new Scanner(System.in);
3,调用Scanner类的相关方法,来获取指定类型的变量

注意:根据相应方法,若输入指定类型值;输入数据类型与要求类型不匹配时,报异常致程序终止
*/
import java.util.Scanner;  //导包
class ScannerTest{
	public static void main(String[] args){
		//Scanner的实例化
		Scanner scan=new Scanner(System.in); 
		//调用Scanner的相关方法
		System.out.println("请输入您的姓名:");
		String name =scan.next();  //String类型为next(),其他类型均为nextXxx()
		System.out.println("您的姓名是:"+name);

		System.out.println("请输入您的年龄:");
		int age = scan.nextInt();
		System.out.println("您的年龄是:"+age);

		System.out.println("请输入您的体重:");
		double weight=scan.nextDouble();
		System.out.println("您的体重是:"+weight);

		System.out.println("你是否单身?(true/false):");
		boolean islone=scan.nextBoolean();
		System.out.println("您的感情状态是:"+islone);
		
		//对于char型的获取,Scanner没有提供相关方法。只能获取一个字符串
		System.out.println("请输入您的性别(男/女)");
		String gender =scan.next();  //String类型为next(),其他类型均为nextXxx()
		System.out.println("您的性别是:"+gender);
	}
}

运行效果:

在这里插入图片描述

例题:
在这里插入图片描述

//①导包
import java.util.Scanner;
class IfTest 
{
	public static void main(String[] args) 
	{
		//②实例化
		Scanner scan=new Scanner(System.in);
		System.out.println("请输入岳小鹏期末成绩:(0-100)");
		//③调用相关方法
		int score=scan.nextInt();

		if (score==100){
			System.out.println("奖励一辆BMW");
		}else if(score>80 && score<=99){
			System.out.println("奖励一台iPhone");
		}else if(score>=60 && score<=80){
			System.out.println("将一台ipad");
		}else{  //else结构可有可无(根据需要)
			System.out.println("奖励个寂寞");
		}
	}
}

例题:
在这里插入图片描述

//①导包
import java.util.Scanner;
class IfTest 
{
	public static void main(String[] args) 
	{
		//②实例化
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入第一个整数:");
		//③调用相关方法
		int num1=scanner.nextInt();

		System.out.println("请输入第二个整数:");
		int num2=scanner.nextInt();

		System.out.println("请输入第三个整数:");
		int num3=scanner.nextInt();

		//排序
		if(num1>=num2){
			if(num3>=num1){
				System.out.println(num2+","+num1+","+num3);
			}else if(num3<=num2){
				System.out.println(num3+","+num2+","+num1);
			}else {
				System.out.println(num2+","+num3+","+num1);
			}
		}else{
			if(num3>=num2){
				System.out.println(num1+","+num2+","+num3);
			}else if(num3<=num1){
				System.out.println(num3+","+num1+","+num2);
			}else{
				System.out.println(num1+","+num3+","+num2);
			}
		}
	}
}

在这里插入图片描述例题(小心有坑):
在这里插入图片描述正确结果是输出:atguigu。
if(y>2)后无{ },所以往下只能罩得住一行代码。
在这里插入图片描述
正确结果为:b。

练习——测算狗的年龄:
在这里插入图片描述

import java.util.Scanner;
class DogAge 
{
	public static void main(String[] args) 
	{
		Scanner scanage=new Scanner(System.in);
		System.out.println("请输入狗子的年龄:");
		int dogAge=scanage.nextInt();
		
		if(dogAge>=0&&dogAge<=2){
			System.out.println("您家狗子的年龄为:"+dogAge*10.5+"岁");
		}else if(dogAge>2){
			System.out.println("请输入狗子的年龄:"+(2*10.5+(dogAge-2)*4)+"岁");
		}else{
			System.out.println("咋会有负值?你的狗子还没出生!");
		}
	}
}

在这里插入图片描述
练习——彩票游戏

在这里插入图片描述分析:
若随机生成45。
你输入45,中10000美元;
输入54,中3000美元;
输入42、25…中1000美元;
输入24,51…中500美元。

import java.util.Scanner;

class TestCaiPiao{
	public static void main(String[] args){
		//1、随机产生一个两位数
		//System.out.println(Math.random());//产生[0,1)
		int number = (int)(Math.random()*90 + 10);//得到[10,99],即[10,100)
		//System.out.println(number);
		
		int numberShi = number/10;
		int numberGe = number%10;
		
		//2、用户输入一个两位数
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个两位数:");
		int guess = input.nextInt();
		
		int guessShi = guess/10;
		int guessGe = guess%10;
		
		if(number == guess){
			System.out.println("奖金10 000美元");
		}else if(numberShi == guessGe && numberGe == guessShi){
			System.out.println("奖金3 000美元");
		}else if(numberShi==guessShi || numberGe == guessGe){
			System.out.println("奖金1 000美元");
		}else if(numberShi==guessGe || numberGe == guessShi){
			System.out.println("奖金500美元");
		}else{
			System.out.println("没中奖");
		}
		
		System.out.println("中奖号码是:" + number);
	}
}

补充知识——如何获取一个随机数

        double value1=Math.random();    //[0.0,1.0)
		/*注意此处如果直接乘以100,范围变为[0.0,100.0),当随机数小于0.1时,
		会出现范围以外的数。如:9、8、7*/
		int value=(int)(Math.random()*90+10);   
		//[0.0,1.0)-->[0.0,90.0)-->[10.0,100.0)-->[10,99](截断操作)
		//公式:想得到[a,b],使用(int)(math.random()*(b-a+1)+a);
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过期动态

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值