【JavaSE】Java基础语法(三)

简介: 【JavaSE】Java基础语法(三)

1. 🍼流程控制语句


在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每 条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。


1.1 流程控制语句分类


🍉顺序结构


🍉分支结构(if, switch)


🍉循环结构(for, while, do…while)


1.2 分支结构之if语句


1.2.1 if语句格式3案例


需求:小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。


分析:


🍉①小明的考试成绩未知,可以使用键盘录入的方式获取值


🍉②由于奖励种类较多,属于多种判断,采用if…else…if格式实现


🍉③为每种判断设置对应的条件


🍉④为每种判断设置对应的奖励


import java.util.Scanner;
public class IfTest02 {
  public static void main(String[] args){
    // 1. 使用Scanner录入考试成绩
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入您的成绩:");
    int score = sc.nextInt();
    // 2. 判断成绩是否在合法范围内 0~100
    if(score >=0 && score <= 100){
      // 合法成绩
      // 3. 在合法的语句块中判断成绩范围符合哪一个奖励
      if(score >= 95 && score <= 100){
      System.out.println("自行车一辆");
      }else if(score >= 90 && score <= 94){
      System.out.println("游乐场一次");
      }else if(score >= 80 && score <= 89){
      System.out.println("变形金刚一个");
      }else {
      System.out.println("挨顿揍, 这座城市又多了一个伤心的人~");
      }
    }else{
    // 非法的话, 给出错误提示
      System.out.println("您的成绩输入有误!");
    }
  }
}


2. 🍼switch语句


2.1 分支语句switch语句


格式 (表达式支持 byte short int char String 枚举)


switch (表达式) {
  case 1:
    语句体1;
    break;
  case 2:
    语句体2;
    break;
  ...
  default:
    语句体n+1;
    break;
}


执行流程


  • 🍓首先计算出表达式的值


  • 🍓其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。


  • 🍓最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。


2.2 switch案例-减肥计划


需求:键盘录入星期数,显示今天的减肥活动


🍓周一:跑步


🍓周二:游泳


🍓周三:慢走


🍓周四:动感单车


🍓周五:拳击


🍓周六:爬山


🍓周日:好好吃一顿


实例代码:


public static void main(String[] args){
  // 1. 键盘录入星期数据,使用变量接收
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入");
  int week = sc.nextInt();
  // 2. 多情况判断,采用switch语句实现
  switch(week){
    // 3. 在不同的case中,输出对应的减肥计划
    case 1:
      System.out.println("跑步");
      break;
    case 2:
      System.out.println("游泳");
      break;
    case 3:
      System.out.println("慢走");
      break;
    case 4:
      System.out.println("动感单车");
      break;
    case 5:
      System.out.println("拳击");
      break;
    case 6:
      System.out.println("爬山");
      break;
    case 7:
      System.out.println("好好吃一顿");
      break;
    default:
      System.out.println("您的输入有误");
      break;
    }
  }
}


2.3 switch语句case穿透


概述 : 如果switch语句中,case省略了break语句, 就会开始case穿透


需求 : 键盘录入星期数,输出工作日、休息日 (1-5)工作日,(6-7)休息日


示例代码


/*
  case穿透是如何产生的?
  如果switch语句中,case省略了break语句, 就会开始case穿透.
  现象:
  当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行
  直到看见break,或者将整体switch语句执行完毕,才会结束。
*/
public static void main(String[] args){
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入星期数:");
  int week = sc.nextInt();
  switch(week){
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      System.out.println("工作日");
      break;
    case 6:
    case 7:
      System.out.println("休息日");
      break;
    default:
      System.out.println("您的输入有误");
      break;
    }
  }
}


3. 🍼for 循环


3.1 循环语句-for循环


循环:


循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。


for循环格式:


for (初始化语句;条件判断语句;条件控制语句) {
  循环体语句;
}


3.2 for循环案例-求1-100偶数和


需求:求1-100之间的偶数和,并把求和结果在控制台输出 }


示例代码


public class ForTest03 {
  public static void main(String[] args) {
    //求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0
    int sum = 0;
    //对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
    for(int i=1; i<=100; i++) {
      //对1-100的偶数求和,需要对求和操作添加限制条件,判断是否是偶数
      if(i%2 == 0) {
      sum += i;
      }
    }
    //当循环执行完毕时,将最终数据打印出来
    System.out.println("1-100之间的偶数和是:" + sum);
  }
}


4. 🍼while循环


while循环完整格式:


初始化语句;
while (条件判断语句) {
  循环体语句;
  条件控制语句;
}


while循环执行流程


🍗①执行初始化语句


🍗②执行条件判断语句,看其结果是true还是false


🌯如果是false,循环结束
  🌯如果是true,继续执行


🍗③执行循环体语句


🍗④执行条件控制语句


🍗⑤回到②继续


实例代码:


public class WhileDemo {
  public static void main(String[] args) {
    //需求:在控制台输出5次"HelloWorld"
    //for循环实现
    for(int i=1; i<=5; i++) {
      System.out.println("HelloWorld");
    }
    System.out.println("--------");
    //while循环实现
    int j = 1;
    while(j<=5) {
      System.out.println("HelloWorld");
      j++;
    }
  }
}


4.1 while循环案例-珠穆朗玛峰


需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?


示例代码:


public class WhileTest {
  public static void main(String[] args) {
    //定义一个计数器,初始值为0
    int count = 0;
    //定义纸张厚度
    double paper = 0.1;
    //定义珠穆朗玛峰的高度
    int zf = 8844430;
    //因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
    //折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
    while(paper <= zf) {
      //循环的执行过程中每次纸张折叠,纸张的厚度要加倍
      paper *= 2;
      //在循环中执行累加,对应折叠了多少次
      count++;
    }
    //打印计数器的值
    System.out.println("需要折叠:" + count + "次");
  }
}


相关文章
|
1月前
|
存储 Java 容器
JAVA基本语法
JAVA基本语法
15 0
|
3天前
|
Java 程序员 编译器
JavaSE&Java8 Lambda 表达式
JavaSE&Java8 Lambda 表达式
|
3天前
|
存储 Java 程序员
JavaSE&Java的异常
JavaSE&Java的异常
19 0
|
3天前
|
存储 安全 Java
滚雪球学Java(19):JavaSE中的内存管理:你所不知道的秘密
【4月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 4
滚雪球学Java(19):JavaSE中的内存管理:你所不知道的秘密
|
15天前
|
存储 安全 Java
Java语法掌握:打好编程基础的关键(二)
Java语法掌握:打好编程基础的关键
52 0
|
15天前
|
存储 Java
Java语法掌握:打好编程基础的关键(一)
Java语法掌握:打好编程基础的关键
15 0
Java语法掌握:打好编程基础的关键(一)
|
1月前
|
Java 程序员 数据安全/隐私保护
Java中的异常语法知识居然这么好玩!后悔没有早点学习
Java中的异常语法知识居然这么好玩!后悔没有早点学习
32 1
|
1月前
|
存储 Java API
JAVA的基础语法
JAVA的基础语法
11 0
|
1月前
|
存储 Java 测试技术
滚雪球学Java(11):高效编程之道:精通JavaSE顺序结构的关键技巧
【2月更文挑战第23天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!
42 2