• 【Java基础】程序流程控制


     

    ​个人简介

    > 📦个人主页:轻狂客_零度的主页
    > 🏆学习方向:JAVA后端开发 
    > 📣种一棵树最好的时间是十年前,其次是现在!
    > ⏰往期文章:VUE [入门篇(三)]
    > 🧡喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。

    目录

    1. 顺序结构

    2. 分支结构

     2.1 if 分支

     2.1.1 单分支结构

     2.1.2 多分支结构

     2.1.3 嵌套分支结构

     2.2 switch 分支

    3. 循环结构

     3. 1 普通for循环

     3.2 嵌套for 循环

     3.3 高效for 循环

     3.4 while循环

     3.5 do-while循环 

     4. 跳转关键字

     4.1 break

     4.2 continue

     5. 案例技术 

     5.1 随机数Random类


    活动地址:CSDN21天学习挑战赛

    1. 顺序结构

    顺序结构中的代码会按照顺序一行一行向下执行所有的代码语句,可以用来进行输入 输出 计算等的操作
    但顺序结构不可以完成先做判断,再做选择的流程

    2. 分支结构

     2.1 if 分支

     2.1.1 单分支结构

    适合只有一个判断条件时使用,符合条件,执行大括号里的代码,不符合条件,大括号里的代码跳过

    1. if(判断条件){
    2. 如果判断条件的结果为true,就执行此处代码,不符合条件,此处跳过
    3. }

     2.1.2 多分支结构

    适合有两种情况时使用,符合条件,执行代码1,其他情况执行代码2

    1. if(判断条件){
    2. 如果判断条件的结果为true,就执行此处的代码
    3. }else{
    4. 如果不符合条件,执行else处的代码
    5. }

     2.1.3 嵌套分支结构

    适合有多个条件时使用,else-if的个数没有限制,else可加可不加

    1. if(判断条件1){
    2. 符合判断条件1,执行此处代码,不符合,继续向下判断
    3. }else if(判断条件2){
    4. 符合判断条件2,执行此处代码,不符合,继续向下判断
    5. }else if(判断条件3){
    6. 符合判断条件3,执行此处代码,不符合,继续向下判断
    7. }else{
    8. 保底选项,以上条件均不符合的情况下,执行此处代码
    9. }

    练习:

    1. package com.example.basic;
    2. import java.util.Scanner;
    3. /*本类用于复习分支结构*/
    4. public class TestIf {
    5. public static void main(String[] args) {
    6. //1.提示并接收用户输入的月份
    7. System.out.println("请输入您要测试的月份:");
    8. int month = new Scanner(System.in).nextInt();
    9. //2.对用户输入的数据进行判断
    10. if(month<=0 || month >12){
    11. System.out.println("您输入的数据不正确!");
    12. }else{
    13. //3.如果用户输入的数据正确,我们就进行季节的判断
    14. if(month >=3 && month <=5){
    15. System.out.println(month+"月是春天");
    16. }else if(month >=6 && month <=8){
    17. System.out.println(month+"月是夏天");
    18. }else if(month >=9 && month<=11){
    19. System.out.println(month+"月是秋天");
    20. }else{
    21. System.out.println("冬天就要来啦,春天还会远吗?");
    22. }
    23. }
    24. }
    25. }

     2.2 switch 分支

    1. switch (变量名){
    2. case value1 : 操作1;break;//可选
    3. case value2 : 操作2;break;//可选
    4. case value3 : 操作3;break;//可选
    5. case value4 : 操作4;break;//可选
    6. default:保底选项;//可选
    7. }

    执行顺序: 先拿着变量a的值,依次与每个case后的值做比较,如果相等,就执行当前case后的操作,若case后没有break,就绪继续执行下一个case后的操作,如果一直没有遇到break,就会发生穿透的现象,包括default

    注意事项:

     1. 变量a支持的类型byte short char int String
     2. 变量a的数据类型与case后value的数据类型必须一致
     3. 如果没有添加break,并且又有case被匹配到,会发生穿透的现象,包括deafult
     4. case的个数 是否加break 是否加default 完全根据自己的业务来决定
     5. 如果添加了default保底选项,又没有任何一个case被匹配到,就会执行default后的语句
     6. 一般我们习惯在每个case后加break【这个只是建议,具体还是根据业务来写】

    3. 循环结构

    当你想多次重复干某件事的时候,可以使用循环结构

     3. 1 普通for循环

    1. for(开始条件 ; 循环条件 ; 更改条件){
    2. 循环体
    3. }

     注意1:写法小窍门:从哪开始 到哪结束 循环变量如何变化
     注意2:for循环能够执行多少次,取决于循环变量可以取到几个值 

     3.2 嵌套for 循环

    外层循环控制的是轮数,内层循环控制的是每一轮中执行的次数
    对于图形而言,外层循环控制的是行数,内层循环控制的是列数

    1. for(开始条件;循环条件;更改条件){//外层循环
    2. for(开始条件;循环条件;更改条件){//内层循环
    3. 循环体
    4. }
    5. }

    ​注意:外层循环控制的是行数,内层循环控制的是列数
    注意:外层循环控制的是轮数,内层循环控制的是在这一轮中执行的次数

     3.3 高效for 循环

    1. for(遍历到的元素的类型 遍历到的元素的名字 :要遍历的数组/集合名){
    2. 循环体
    3. }

    优点:写法简单,效率高
    缺点:只能从头到尾的遍历数据,不能进行步长的选择

     3.4 while循环

    1. while(判断条件){
    2. 如果符合判断条件,继续循环
    3. }

    注意:常用来完成死循环,但死循环必须设置出口!

    练习:

    1. package com.example.basic;
    2. /*本类用于复习while循环*/
    3. public class TestWhile {
    4. public static void main(String[] args) {
    5. //需求:通过while循环打印10次"小可爱们中午好~"
    6. //f1();
    7. //需求:通过while循环打印1 2 3 ... 10
    8. //f2();
    9. //需求:通过while循环打印1 3 5 7... 99
    10. f3();
    11. //需求:通过while计算1+2+3+4...+10
    12. f4();
    13. //需求:通过while计算2+4+6+8...+100
    14. f5();
    15. }
    16. private static void f5() {
    17. //需求:通过while计算2+4+6+8...+100
    18. int i = 2;//定义循环变量i用来控制循环
    19. int sum = 0;//定义变量用来保存累加的结果
    20. while (i<=100){
    21. //sum += i;
    22. sum = sum + i;//累加
    23. //i += 2;
    24. i = i + 2;//循环变量i每次+2
    25. }
    26. System.out.println("2到100所有偶数的和为:"+sum);
    27. }
    28. private static void f4() {
    29. //需求:通过while计算1+2+3+4...+10
    30. int i = 1;//用于控制循环,相当于循环变量
    31. int sum = 0;//用于保存求和累加的结果
    32. while(i<=10){
    33. sum = sum + i;
    34. i++;
    35. }
    36. System.out.println("1到10累加的结果为:"+sum);
    37. }
    38. private static void f3() {
    39. //需求:通过while循环打印1 3 5 7... 99
    40. int sum = 1;
    41. while(sum <100){
    42. System.out.println(sum);
    43. //sum = sum +2;
    44. sum += 2;
    45. }
    46. }
    47. private static void f2() {
    48. //需求:通过while循环打印1 2 3 ... 10
    49. //1.定义一个变量来控制执行的次数
    50. int i = 1;
    51. while(i<=10){
    52. System.out.println(i);
    53. i++;
    54. }
    55. }
    56. private static void f1() {
    57. //需求:通过while循环打印10次"小可爱们中午好~"
    58. //1.定义一个变量用来控制执行的次数
    59. int count = 1;
    60. while(count <= 10){
    61. System.out.println("小可爱们中午好~");
    62. count++;//注意count的值需要自增,否则还是一个死循环
    63. }
    64. }
    65. }

     3.5 do-while循环 

     do-while循环一定会执行一次,然后再判断,如果符合条件,再执行后面的循环

    1. do{
    2. 循环体
    3. }while(判断条件);

    几种循环的区别:

    1. 如果明确知道循环的次数/需要设置循环变量的变化情况时–使用for循环
    2. 如果想写死循环–while(true){}
    3. 如果需要先执行一次,再做判断–do-while循环
    4. 循环之间是可以互相替换的,但是最好使用比较合适的循环结构

     4. 跳转关键字

     4.1 break

     跳出并结束当前循环的执行

     注意: 只能用于结束所在循环, 或者结束所在switch 分支的执行 

     4.2 continue

     用于跳出当前循环的档当次执行, 进入下一次循环

     注意: 只能在循环中使用

     5. 案例技术 

     5.1 随机数Random类

     作用: 用于在程序中获取随机数的技术

     使用步骤: 

     1. 导包:告诉程序去JDK的哪个包中找随机数技术

     2. 写一行代码代表得到随机数对象

     3. 调用随机数的功能获取0-9的随机数

    1. package com.example.random;
    2. import java.util.Random; //1.导包
    3. public class Test {
    4. public static void main(String[] args) {
    5. Random r = new Random(); //2.
    6. int number = r.nextInt(10); //3.
    7. System.out.println("随机生成了:"+ number);
    8. }
    9. }

    注意: nextInt(n)功能只能生成: 0至n-1之间的随机数,不包含n

  • 相关阅读:
    初试Eureka注册中心
    使用vmware虚拟机安装centos7以及终端管理工具
    数仓开发之DWS层(一)
    SpringBoot集成neo4j实战
    2022高考季征文获奖名单公布
    Python函数绘图与高等代数互融实例(三):设置X|Y轴文本标签|网格线
    如何在JavaScript中使用高阶函数
    LeetCode 744. 寻找比目标字母大的最小字母
    数据结构 | 串
    【LeetCode】二分基本问题题解汇总
  • 原文地址:https://blog.csdn.net/LKS_010620/article/details/126216785