流程控制语句

打印 上一主题 下一主题

主题 965|帖子 965|积分 2895

流程控制语句

顺序结构
  1. //范例:
  2. public class Test {
  3.     public static void main(String[] args) {
  4.         System.out.println("努力做主人喜欢的事");
  5.         System.out.println("大小姐驾到!通通闪开!");
  6.         System.out.println("凌冬已至,故乡的梅花开了吗");
  7.         System.out.println("心怀不惧,方能翱翔于天际");
  8.     }
  9. }
复制代码
顺序结构语句是Java步伐默认的执行流程,按照代码的先后顺序,从上到下依次执行
分支结构

If语句

If语句在步伐中是用来判断的
第一种格式(单条件判断)

格式:
  1. if (关系表达式) {
  2.     语句体;
  3. }
复制代码
举例:
  1. if (酒量 > 2) {
  2.     System.out.println("小伙子,不错!");
  3. }
复制代码
执行流程:

  • 起首计算关系表达式的值
  • 如果关系表达式的值为true就执行语句体
  • 如果关系表达式的值为false就不执行语句体
  • 继续执行后面的其他语句
练习--老丈人选半子
需求:键盘录入半子酒量,如果大于2斤,老丈人给出回应,反之不回应
  1. import java.util.Scanner;
  2. public class IfDemo1 {
  3.     public static void main(String[] args) {
  4.         //需求:键盘录入女婿酒量,如果大于2斤,老丈人给出回应,反之不回应
  5.         //分析:
  6.         //1.键盘录入女婿的酒量
  7.         Scanner sc = new Scanner(System.in);
  8.         System.out.println("请输入女婿的酒量");
  9.         int wine = sc.nextInt();
  10.         //2.对酒量进行判断
  11.         if (wine > 2) {
  12.             System.out.println("小伙子,不错呦!!");
  13.         }
  14.     }
  15. }
复制代码
if的注意点:

  • 大括号的开头可以另起一行书写,但是建议写在第一行的末端
  • 在语句体中,如果只有一句代码,大括号可以省略不写。(个人建议,大括号还是不要省略的)
  • 如果对一个布尔类型的变量进行判断,建议不要用号(因为可能会把写成=),直接把变量写在小括号即可
练习--考试奖励
小红:如果你这次考试全班第一,我就做你女朋友。
  1. public class Test1 {
  2.     public static void main(String[] args) {
  3.         //小红:如果你这次考试全班第一,我就做你女朋友。
  4.         //分析:
  5.         //1.定义变量记录小明的名次
  6.         int ranking = 1;
  7.         //2.对小明的名次进行判断
  8.         if(ranking == 1){
  9.             System.out.println("小红成为了小明的女朋友");
  10.         }
  11.     }
  12. }
复制代码
练习--主动驾驶
需求:红灯停,绿灯行,黄灯请你等一等
  1. public class Test2 {
  2.     public static void main(String[] args) {
  3.         //需求:红灯停,绿灯行,黄灯请你等一等
  4.         //1.定义三个变量表示灯的状态
  5.         //true 亮  false 灭
  6.         boolean isLightGreen = false;
  7.         boolean isLightYellow = false;
  8.         boolean isLightRed = true;
  9.         //2.判断
  10.         //红灯亮,就停止
  11.         //黄灯亮,就减速
  12.         //绿灯亮,就行驶
  13.         if(isLightGreen){
  14.             System.out.println("Go!");
  15.         }
  16.         if(isLightYellow){
  17.             System.out.println("slow!");
  18.         }
  19.         if(isLightRed){
  20.             System.out.println("stop!");
  21.         }
  22.     }
  23. }
复制代码
第二种格式(双条件判断)

格式:
  1. if (关系表达式) {
  2.     语句体1;
  3. } else {
  4.     语句体2;
  5. }
复制代码
执行流程:

  • 起首计算关系表达式的值
  • 如果关系表达式的值为true就执行语句体1
  • 如果关系表达式的值为false就执行语句体2
  • 继续执行后面的其他语句
练习--用饭
需求:
键盘录入一个整数,表示身上的钱。
如果大于等于100块,就吃网红餐厅。
否则,就吃经济实惠的沙县小吃。
  1. import java.util.Scanner;
  2. public class Test3 {
  3.     public static void main(String[] args) {
  4.         /*需求:键盘录入一个整数,表示身上的钱。
  5.         如果大于等于100块,就吃网红餐厅。
  6.         否则,就吃经济实惠的沙县小吃。*/
  7.         //分析:
  8.         //1.键盘录入一个整数,表示身上的钱。
  9.         Scanner sc = new Scanner(System.in);
  10.         System.out.println("请录入身上的钱");
  11.         int money = sc.nextInt();
  12.         //2.对钱进行判断(二选一)
  13.         if(money >= 100){
  14.             System.out.println("吃网红餐厅");
  15.         }else{
  16.             System.out.println("吃经济实惠的沙县小吃");
  17.         }
  18.     }
  19. }
复制代码
练习--商品付款
需求:
假设,用户在超市实际购买,商品总价为:600元。
键盘录入一个整数表示用户实际支付的钱。
如果付款大于等于600,表示付款乐成。否则付款失败。
  1. import java.util.Scanner;
  2. public class Test4 {
  3.     public static void main(String[] args) {
  4.         /*需求:
  5.         假设,用户在超市实际购买,商品总价为:600元。
  6.         键盘录入一个整数表示用户实际支付的钱。
  7.         如果付款大于等于600,表示付款成功。否则付款失败。
  8.          */
  9.         //分析:
  10.         //1.键盘录入一个整数表示用户实际支付的钱。
  11.         Scanner sc = new Scanner(System.in);
  12.         System.out.println("请录入一个整数表示实际支付的钱");
  13.         int money = sc.nextInt();
  14.         //2.判断
  15.         if(money >= 600){
  16.             System.out.println("支付成功");
  17.         }else{
  18.             System.out.println("支付失败");
  19.         }
  20.     }
  21. }
复制代码
练习--影院选座
需求:
假设某影院收买了100张票,跑的序号为1~100。
其中奇数票号坐左侧,偶数票号坐右侧。
键盘录入一个整数表示电影票的票号。
根据不怜悯况,给出不同的提示:
如果票号为奇数,那么打印坐左边
如果票号为偶数,那么打印坐右边。
  1. import java.util.Scanner;
  2. public class Test5 {
  3.     public static void main(String[] args) {
  4.         /*假设某影院收买了100张票,跑的序号为1~100。
  5.         其中奇数票号坐左侧,偶数票号坐右侧。
  6.         键盘录入一个整数表示电影票的票号。
  7.         根据不同情况,给出不同的提示:
  8.         如果票号为奇数,那么打印坐左边
  9.         如果票号为偶数,那么打印坐右边。
  10.          */
  11.         //分析:
  12.         //1.键盘录入一个整数表示电影票的票号。
  13.         Scanner sc = new Scanner(System.in);
  14.         System.out.println("请录入一个票号");
  15.         int ticket = sc.nextInt();
  16.         //只有当ticket在0~100之间,才是真是有效的票
  17.         //if的嵌套
  18.         if(ticket >= 0 && ticket <= 100){
  19.             //2.判断票号是奇数还是偶数
  20.             if (ticket % 2 == 1) {
  21.                 System.out.println("坐左边");
  22.             } else {
  23.                 System.out.println("坐右边");
  24.             }
  25.         }
  26.     }
  27. }
复制代码
(大括号内如果只有一行代码,可以去掉大括号。)
</ul>switch和if第三种格式各自的使用场景

  • if的第三种格式:一般用于对范围的判断
  • switch:把有限个数据一列举出来,让我们任选其一
</ul>练习--休息日和工作日
需求:键盘录入星期数,输出工作日、休息日。
(1-5)工作日,(6-7)休息日。
  1. if (关系表达式1) {
  2.     语句体1;
  3. } else if (关系表达式2) {
  4.     语句体2;
  5. }
  6. ...
  7.   else {
  8.       语句体 n + 1;
  9.   }
复制代码
练习--用户选择
在实际开发中,如果我们需要在多种情况下选择其中一个,就可以使用switch语句。
当我们拨打了某些服务电话时,一般都会有按键选择。
假设现在我们拨打了逐一个机票预定电话。
电话中语音提示:
1机票查询
2机票预订
3机票改签
4退出服务
其他按键也是退出服务。请使用switch模拟该业务逻辑。
  1. import java.util.Scanner;
  2. public class Test6 {
  3.     public static void main(String[] args) {
  4.         /*
  5.         根据不同的分数送不同的礼物。
  6.         95~100分,送一辆自行车
  7.         90~94分,游乐场玩一天
  8.         80~89分,送一个变形金刚
  9.         80分一下,揍一顿。
  10.          */
  11.         //分析:
  12.         //1.键盘录入小明的成绩
  13.         Scanner sc = new Scanner(System.in);
  14.         System.out.println("请录入一个整数表示小明的成绩");
  15.         int score = sc.nextInt();
  16.         //2.根据不同的成绩,给出不同的奖励
  17.         if(score >= 0 && score <= 100) {
  18.             if (score >= 95 && score <= 100) {
  19.                 System.out.println("送一辆自行车");
  20.             } else if (score >= 90 && score <= 94) {
  21.                 System.out.println("游乐场玩一天");
  22.             } else if (score >= 80 && score <= 89) {
  23.                 System.out.println("送一个变形金刚");
  24.             } else {
  25.                 System.out.println("揍一顿");
  26.             }
  27.         }else {
  28.             System.out.println("当前录入的成绩不合法");
  29.         }
  30.     }
  31. }
复制代码
循环结构

循环的分类


  • for
  • while
  • do...while
for循环

格式:
  1. import java.util.Scanner;
  2. public class Test7 {
  3.     public static void main(String[] args) {
  4.         /*
  5.         需求:
  6.         商场都会有VIP的会员制,根据不同的会员会有不同的折扣。
  7.         假设商品总价为1000。
  8.         键盘录入会员级别,并计算出实际支付的钱。
  9.         会员1级:打9折。
  10.         会员2级:打8折。
  11.         会员3级:打7折。
  12.         非会员:不打折。
  13.          */
  14.         //分析:
  15.         //1.定义变量记录总价
  16.         int price = 1000;
  17.         //2.键盘录入会员的级别
  18.         Scanner sc = new Scanner(System.in);
  19.         System.out.println("请录入会员的级别");
  20.         int vip = sc.nextInt();
  21.         //3.根据级别来计算实际要支付的钱
  22.         if(vip == 1){
  23.             System.out.println("实际支付的钱为" + (price * 0.9));
  24.         }else if(vip == 2){
  25.             System.out.println("实际支付的钱为" + (price * 0.8));
  26.         }else if(vip == 3){
  27.             System.out.println("实际支付的钱为" + (price * 0.7));
  28.         }else{
  29.             System.out.println("实际支付的钱为" + price);
  30.         }
  31.     }
  32. }
复制代码
范例:

[code]for (int i == 1;i
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表