JAVA 基础之流程控制

JAVA 流程控制


流程控制

1. 顺序结构

相当于代码 按顺序 从上向下依次执行
2.分支结构
if语句有三种格式
    书写格式:
    格式一:
    if(判断条件){
        执行体
        执行语句1;
        执行语句2;
        .......
   }
    如果 判断条件成立 就执行 执行体

    格式二:
    if(判断条件){
        执行体1
   }else{
        执行体2
   }
    如果 判断条件成立 执行 执行体1 反之 执行 执行体2

    格式三:
    if(判断条件1) {
        执行体1
   } else if(判断条件2) {
        执行体2
   } else if(判断条件3) {
        执行体3
   } else {
        执行体4
   }
  如果判断条件都不成立 就去执行 else 中的语句
  注意:根据具体情况 来具体分析 来使用哪种形式
switch 结构

        switch (值 key) {
        case value:
            语句体1
            break;
        case value2:
            语句体2
            break;

        // 可以有无数个case 根据具体情况分析

        default:
            语句体3
            break;
        }
        switch的执行
        用(值) key 和 value1 进行匹配 匹配上 就执行 语句体1
        没匹配上 就继续向下匹配 value2 匹配上就执行 语句体2
        如果都没匹配上就执行 default 后面的语句体3

        */
如果你判断是个区间使用if比较方便
如果是简单的几个数那么用switch比较方便

三目运算符 ( 三元运算符 条件表达式 )

          int num1 = 10; 

          int num2 = 15;

          // 如果判断条件成立 就 返回 num1

          // 如果判断条件不成立 就 返回 num2 
          //(判断条件) ? 值1 : 值2; 

          // 成立 返回值1 

          // 不成立 返回值2 

          int max = (num1 > num2) ? num1 :num2;

          System.out.println(max);

循环结构

while 循环
while(判断条件){
             ②
            循环体
    }

    如果 判断条件成立 就执行循环体
    反之 不成立 就不执行
    1 -> 2  1(再去看条件是否成立) -> 2 -> 1(如果不成立循环结束)

do…while 循环
      do{
              ①
            循环体
                   ②
      }while(循环的判断条件);

      先执行循环体中的内容(不管循环条件成不成立 都会执行循环体的内容)
      再去看循环条件 满足就执行循环体 依次循环
      当循环条件 不成立时 循环结束
注意:循环增量写在 do外面 否则 判断时访问不到

for 循环
           ①     ②    ③
    for(表达式;判断条件;表达式){
              ④
            循环体
    }
    ① -> -> -> -> -> -> ③

    当判断条件不成立时,结束循环
    注意:循环的执行顺序
for 循环的嵌套
书写格式
        for (int i = 0; i < args.length; i++) {
            for (int j = 0; j < args.length; j++) {

            }
        }
举例: 打印下列图形 使用for循环的嵌套
        ***
        ***
        ***
        ***

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print("*");
            }
            System.out.println("");
        }

    发现规律: 
    外循环 控制行数
    内循环 控制每一行 有几个元素




        *****
        ****
        ***
        **
        *
    修改内循环 循环增量的初值
    for (int i = 0; i < 5; i++) {
            for (int j = i; j <5 ; j++) {
                System.out.print("*");
            }
            System.out.println();
        }



         *
         **
         ***
         ****
         *****
     改变 内循环的 循环增量判断条件
     for (int i = 0; i < 5; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }


  九九乘法表

  1*1=1
  1*2=2 2*2=4
  1*3=3 2*3=6 3*3=9
  1*4=4 2*4=8 3*4=12 4*4=16
  ...
  ...
  ...

  for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i ; j++) {
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }

break 在循环中的作用

        for (int i = 0; i < 10; i++) {
            if (i == 6) {
                break; 
                // 跳出循环(结束循环)
                // 注意: break 后面 不要写代码 永远不会被执行
            }
            System.out.println(i);
        }
举例:打印[0, 100]中是7的倍数中的值最大那个数
使用 break 可以倒着打印 进到循环中的第一个数就是 最大值

        for (int i = 100; i >= 0; i--) {
            if (i % 7 == 0) {
                // 第一个进来的就是最大值
                System.out.println(i);
                // 停止循环
                break;
            }
        }

continue 在循环中的作用

    可以先 测试一下 contiue 作用

        for (int i = 0; i < 10; i++) {
            if (i == 6) {
                // 结束本次循环 继续下一次循环
                continue;
            }
            System.out.println(i);
        }
举例: 班级12个人 跟每个人打招呼 讨厌的人不打招呼
         我分别讨厌 359for (int i = 1; i <= 12; i++) {
            if (i == 3 || i == 5 || i == 9) {
                continue;
            }
            System.out.println(i+"号 你好");

        }

For 循环嵌套中 continue 和 break 的作用

嵌套中 break 结束了本层的 循环
continue 跳出这一次的本层循环 继续下一次的本层循环
没有影响到 外层循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值