java中控制流程的关键字(大数据必学Java基础(二十):流程控制的引入和if语句介绍)java基础 / Java流程控制语句...

wufei123 发布于 2024-06-15 阅读(7)

#头条创作挑战赛#流程控制的引入和if语句介绍一、引入1、流程控制的作用流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块2、控制语句的分类控制语句分为三类:顺序、选择和循环。

“顺序结构”代表“先执行a,再执行b”的逻辑“条件判断结构”代表“如果…,则…”的逻辑“循环结构”代表“如果…,则再继续…”的逻辑三种流程控制语句就能表示所有的事情!不信,你可以试试拆分你遇到的各种事情。

这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过它们来表达所以任何一种高级语言都具备上述两种结构本章是大家真正进入编程界的“门票”。3、流程控制的流程

二、if语句介绍分支结构(选择结构)1、单分支语法结构:if(布尔表达式){语句块}if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。流程图如图所示:

代码:publicclassTestIf01{ publicstaticvoidmain(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部分。

流程图如图所示:

数轴分析:

代码:publicclassTestIf02{ publicstaticvoidmain(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("一等奖"); }elseif(sum>=10){//隐藏了sum<14

System.out.println("二等奖"); }elseif(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; publicclassTestIf04{ publicstaticvoidmain(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"; }

elseif(score>=4000){ discount = "0.7"; }

elseif(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;

publicclassTestIf05{ publicstaticvoidmain(String[] args){ //1.录入小朋友的年龄: Scanner sc =

new Scanner(System.in); System.out.println("请录入小朋友的年龄:"); int age = sc.nextInt();

//2.根据年龄判断:if(age>=7){ System.out.println("yes"); }elseif(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; publicclassTestIf06{

publicstaticvoidmain(String[] args){ //1.录入小朋友的年龄: Scanner sc = new Scanner(System.

in); System.out.println("请录入小朋友的年龄:"); int age = sc.nextInt();

//2.根据年龄判断:if(age>=7){ System.out.println("yes"); }elseif(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"); } } }

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻86283