大数据必学Java基础(二十):流程控制的引入和if语句介绍
Posted Lansonli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据必学Java基础(二十):流程控制的引入和if语句介绍相关的知识,希望对你有一定的参考价值。
文章目录
流程控制的引入和if语句介绍
一、引入
1、流程控制的作用
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
2、控制语句的分类
控制语句分为三类:顺序、选择和循环。
“顺序结构”代表“先执行a,再执行b”的逻辑。
“条件判断结构”代表“如果…,则…”的逻辑。
“循环结构”代表“如果…,则再继续…”的逻辑。
三种流程控制语句就能表示所有的事情!不信,你可以试试拆分你遇到的各种事情。这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过它们来表达。所以任何一种高级语言都具备上述两种结构。
本章是大家真正进入编程界的“门票”。
3、流程控制的流程
二、if语句介绍
分支结构(选择结构)
1、单分支
语法结构:
if(布尔表达式)
语句块
if语句对布尔表达式进行一次判定,若判定为真,则执行中的语句块,否则跳过该语句块。流程图如图所示:
代码:
public class TestIf01
public static void main(String[] args)
//实现一个功能:给出三个数(1-6),对三个数求和计算,根据和的大小来分配不同的奖品
//1.给出三个数:
int num1 = 6;
int num2 = 2;
int num3 = 3;
//2.求和
int sum = 0;
sum += num1;
sum += num2;
sum += num3;
System.out.println("和为:"+sum);
//3.根据和判断奖品:
//如果和大于等于14,那么就是一等奖
if(sum>=14)
System.out.println("一等奖");
System.out.println("恭喜你很幸运,中了一等奖");
if(sum>=10&&sum<14)
System.out.println("二等奖");
if(sum>=6&&sum<10)
System.out.println("三等奖");
if(sum<6)
System.out.println("四等奖");
/*
if-单分支:
(1)结构:
if(条件表达式,这个表达式的结果是布尔值:要么是false,要么是true)
//如果上面()中的表达式返回结果是true,那么执行中代码
//如果上面()中的表达式返回结果是false ,那么不执行中代码
//PS:中的代码是否执行,取决于()中表达式的返回结果
(2)上面的代码中,我用四个单分支拼凑出四个选择,每个选择是独立的,依次判断执行的
(3)if后面的()中的条件,要按照自己需求尽量完善
(4)可以省略不写,但是一旦省略,这个if就只负责后面的一句话,所以我们不建议初学者省略
*/
2、多分支
语法结构:
if(布尔表达式1)
语句块1;
else if(布尔表达式2)
语句块2;
……
else if(布尔表达式n)
语句块n;
else
语句块n+1;
当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。流程图如图所示:
数轴分析:
代码:
public class TestIf02
public static void main(String[] args)
//实现一个功能:给出三个数(1-6),对三个数求和计算,根据和的大小来分配不同的奖品
//1.给出三个数:
int num1 = 6;
int num2 = 4;
int num3 = 2;
//2.求和
int sum = 0;
sum += num1;
sum += num2;
sum += num3;
System.out.println("和为:"+sum);
//3.根据和判断奖品:
/*
利用一个多分支
【1】结构:
if()
else if()
else if()
...
else
【2】else:隐藏了一个条件,跟上面分支条件表达式相反的功能 (详见数轴分析)
【3】多分支:好处:只要满足一个 分支以后,后面的分支就不需要判断了 --》效率高
【4】我们写代码的时候,尽量保证else的存在--》else分支相当于“兜底”“备胎”的作用,别的分支都不走,就会走这个分支了
*/
if(sum>=14)
System.out.println("一等奖");
else if(sum>=10)//隐藏了sum<14
System.out.println("二等奖");
else if(sum>=6)//隐藏了sum<10
System.out.println("三等奖");
else//隐藏了sum<6
System.out.println("四等奖");
3、双分支
语法结构:
if(布尔表达式)
语句块1
else
语句块2
当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。流程图如图所示:
4、分支的嵌套使用
4.1、分支结构练习1
会员购物时,不同积分享受的折扣不同,规则如下:
计算会员购物时获得的折扣,效果如下:
本题主要考的是 程序的优化:
import java.util.Scanner;
public class TestIf04
public static void main(String[] args)
//1.给出积分:
Scanner sc = new Scanner(System.in);
System.out.print("请输入会员积分:");
//先判断键盘录入的数据是不是int类型的
if(sc.hasNextInt()==true)//是int类型数据:
//将这个int类型的数据接收:
int score = sc.nextInt();
//判断这个积分是否是正数:
if(score>=0)
String discount = "";
//2.根据积分判断折扣:
if(score>=8000)
discount = "0.6";
else if(score>=4000)
discount = "0.7";
else if(score>=2000)
discount = "0.8";
else
discount = "0.9";
System.out.println("该会员享受的折扣为:"+discount);
else//score<0
System.out.println("对不起,你录入的积分是负数!不符合需求!");
else//不是int类型的数据
System.out.println("你录入的积分不是整数!");
4.2、分支结构练习2
小朋友搬桌子:
年龄大于7岁,可以搬桌子;
如果年龄大于5岁,性别是男,可以搬桌子;
否则不可以搬动桌子,提示:你还太小了
本题主要考的是:逻辑
方式1:性别用0或者1接收
import java.util.Scanner;
public class TestIf05
public static void main(String[] args)
//1.录入小朋友的年龄:
Scanner sc = new Scanner(System.in);
System.out.println("请录入小朋友的年龄:");
int age = sc.nextInt();
//2.根据年龄判断:
if(age>=7)
System.out.println("yes");
else if(age>=5)
//录入小朋友的性别;
System.out.println("请录入小朋友的性别:男:1 女 :0");
int sex = sc.nextInt();
if(sex==1)//男生
System.out.println("yes");
else//女孩
System.out.println("no");
else//age<5
System.out.println("no");
方式2:性别用男或者女接收
import java.util.Scanner;
public class TestIf06
public static void main(String[] args)
//1.录入小朋友的年龄:
Scanner sc = new Scanner(System.in);
System.out.println("请录入小朋友的年龄:");
int age = sc.nextInt();
//2.根据年龄判断:
if(age>=7)
System.out.println("yes");
else if(age>=5)
//录入小朋友的性别;
System.out.println("请录入小朋友的性别:");
String str = sc.next();
char sex = str.charAt(0);
if(sex=='男')
System.out.println("yes");
else
System.out.println("no");
else//age<5
System.out.println("no");
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
以上是关于大数据必学Java基础(二十):流程控制的引入和if语句介绍的主要内容,如果未能解决你的问题,请参考以下文章
大数据必学Java基础(一百二十三):Maven常见命令介绍
大数据必学Java基础(一百二十三):Maven常见命令介绍