基本if选择结构以及random

目录

单分支if选择结构

语法结构:

执行规律:

注意:

案例:

运算符优先级

双分支if选择结构:if-else结构

语法结构:

执行规律:

注意:

案例:

多分支if选择结构(if-else-if)

语法结构:

执行规律:

注意事项:

案例

嵌套if选择结构:

语法结构:

执行规律:

注意事项:

案例:

random


单分支if选择结构

语法结构:

if(条件){

代码块1

}

代码块2

执行规律:

如果条件为true,则执行{ }里的代码块1,执行玩代码块1之后,继续执行{ }后面的代码块2

如果条件为false,则直接结束if选择结构,继续往下执行{ }后面的代码块2

注意:

1.条件只能是布尔值,不管条件写的多么简单还是多么复杂,条件值都只能是true或者false

2.如果代码块1只有一行语句,{ }可以不写,建议不要省略

案例:

需求:张浩Java成绩大于90分,老师奖励他iPhone6s ,该怎么做呢?

//创建键盘输入对象,获取张浩的Java成绩
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入张浩的Java成绩:");
		double score = sc.nextDouble();
		
		//如果成绩>90,获得奖励
		if(score>90){
			System.out.println("老师奖励IPhone6s");
			System.out.println("好好学习,天天向上");
		}
		
		System.out.println("程序执行完毕");

	

运算符优先级

算术运算符>关系运算符>逻辑运算符

双分支if选择结构:if-else结构

语法结构:

if(条件){

代码块1;

}else{

代码块2;

}

代码块3;

执行规律:

如果条件为true,执行代码块1,执行完代码块1后结束整个if-else结构,执行if-else结构后面的代

码块3

如果条件为false,执行代码块2,执行完代码块2后结束整个if-else结构,执行if-else结构后面的代

码块3

注意:

1)条件不管多么的简单还是多么的复杂,都只能是布尔值,要么为true,要么为false

案例:

如果张浩Java考试成绩大于90分,老师就奖励他一个iPhone6s 否则老师就罚他蹲马步

// 创建键盘输入对象,获取张浩的Java成绩
		Scanner sc = new Scanner(System.in);

		System.out.println("请输入张浩的Java成绩:");
		double score = sc.nextDouble();
		
		if(score>90){
			System.out.println("老师奖励iPhone6s");
		}else{
			System.out.println("老师罚他蹲马步");
		}

		System.out.println("程序执行完毕");

多分支if选择结构(if-else-if)

语法结构:

if(条件1){

代码块1;

}else if(条件2){

代码块2;

}else if(条件3){

代码块3;

}......

}else{

代码块n;

}

执行规律:

1.先判断条件1,如果条件1为true,则执行代码块1,执行完代码块1之后,结束这个if-else-if结构,

继续往下执行if-else-if结构之后的代码

2.如果条件1为false,继续往下判断条件2,如果条件2为true,执行代码块2,执行完代码块2之后,

3.结束这个if-else-if结构,继续往下执行if-else-if结构之后的代码

如果条件2为false,继续往下判断条件3,.......

4.如果所有的条件都为false,就执行else里面的代码块n,执行完代码块n后,结束这个if-else-if结

构后面代码

注意事项:

1)所有的条件不管多么简单还是多么复杂,都只能是布尔值,要么为true,要么为false

2)else可以省略不写,如果所有的条件都不满足,也没有else,则整个if-else-if结构都不会执行

3)if-else-if结构中的条件,如果下面的条件会引用上面条件的潜在值,条件是有顺序,严格的条件

在上面

案例

对学员的考试成绩评测

成绩>=80:良好

成绩>=60:中等

成绩<60:差

使用多重if选择结构实现

Scanner sc =new Scanner(System.in);
		
		System.out.println("请输入你的考试成绩:");
		double score = sc.nextDouble();
if(score>=80){
			System.out.println("良好");
		}else if(score>=80){
			System.out.println("中等");
		}else{
			System.out.println("差");	
		}
		
		System.out.println("继续努力.....");

比较两个字符串是否相同用 1.equals(字符串2)

嵌套if选择结构:

在一个if选择结构中包含另外一个if选择结构

语法结构:

if(条件1){

代码1;

if(条件2){

//代码块2

}else{

//代码块3

}

}else{

代码4;

if(条件5){

//代码块5

}else{

//代码块6

}

}代码块n;

执行规律:

1. 首先判断条件1,如果条件1为true,执行条件1后面{}里面的代码1,继续判断条件2,如果条件2为

true,执行代码块2,执行完代码块2,整个的选择结构全部执行完毕,执行整个选择结构后面的代

码块n

2. 如果条件2为false,执行代码块3,代码块3执行完之后,整个的选择结构全部执行完毕,执行整个

选择结构后面的代码块n

3. 如果条件1为false,执行else后面{}里面的代码4,继续判断条件5,如果条件5为true,执行代码

5,执行外代码块5,整个的选择结构全部执行完毕,执行整个选择结构后面的代码块n

4. 如果条件5为false,执行代码块6,代码块6执行完之后,整个的选择结构全部执行完毕,执行整个选择结构后面的代码块n

注意事项:

不管if选择结构怎么嵌套,只需要抓住,条件满足才执行if后面{}里的代码,不满就不执行,执行其它地方的代码

案例:

需求:学校举行运动会,百米赛跑跑入10 秒内的学生有资格进决赛,根据性别分别进入男子组和

女子组

//创建键盘录入对象
		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("很遗憾,不能进入决赛,继续努力......");
		}
		
		System.out.println("程序执行完毕");

	}

random

//Math.random():随机返回一个[0.0,1.0)的double类型的数据
		double num1 =Math.random();
		System.out.println(num1);
		
		//Math.random()*10:随机返回一个[0.0,10.0)的double类型的数据
		double num2 =Math.random()*10;
		System.out.println(num2);
		
		//(int)Math.random()*10:随机返回一个[0,10)的int类型的数据
		int num3=(int)(Math.random()*10);
		System.out.println(num3);
		
		//(int)(Math.random()*12+19):随机获取一个[19,31)之间的int类型的数据
		int num4=(int)(Math.random()*12+19);
		System.out.println(num4);
//		随机获取一个[29,41)之间的int 类型的数据  *(41-29)+29
		int num5=(int)(Math.random()*12+29);
				System.out.println(num5);
		
		//(int)(Math.random()*(num2-num1)+num1):随机获取一个[num1,num2)之间的int类型的数据,num1<num2

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

get棒棒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值