JavaSE:4、流程控制

1、代码块与作用域

变量的使用范围,仅限于其定义时所处的代码块,也就是他的作用域。
目前所说的变量均为局部变量
java 复制代码
public class Main {
    public static  void main(String [] argv)
    {
       int a=10;
        {
            int b=10;
            System.out.println(a);
            System.out.println(b);
        }
        System.out.println(a);
      //  System.out.println(b);   ERROR ,b的作用域在代码块里
    }
}

2、选择结构

if if\else if if \else ......
为真时进入后面代码块或一条语句
java 复制代码
public class Main {
    public static  void main(String [] argv)
    {
       int a=10;
        if(a>10) {
            System.out.println(a);   //不输出
        }
        else System.out.println(a);  //输出
        if(a==10)
            System.out.println(a);//输出
        else if(a>10)  System.out.println(a);//不输出
        
        System.out.println(a);   //输出
     
    }
}
switch语句:
会跳转到匹配的条件一条一条语句遍历。不写break可能会多输出。
只能精确匹配
java 复制代码
public class Main {
    public static  void main(String [] argv)
    {
       int a=11;
        switch (a)
        {
            case 10:System.out.println(10);
                 break;
            case 11:System.out.println(11);
                 break;   //不写break会输出下面的ERROR
            default:System.out.println("ERROR");

        }

    }
}

3、循环结构

for (表达式1;表达式2;表达式3) 循环体;

  • 表达式1:在循环开始时仅执行一次。
  • 表达式2:每次循环开始前会执行一次,要求为判断语句,用于判断是否可以结束循环,若结果为真,那么继续循环,否则结束循环。
  • 表达式3:每次循环完成后会执行一次。
  • 循环体:每次循环都会执行一次循环体。
循环体为代码块或一条语句
java 复制代码
public class Main {
    public static  void main(String [] argv)
    {
       int a=10;
       for(int i=a;i<=15;i++)
           System.out.print(i+" ");
       System.out.println();
       for(;a<=20;a++) {
           System.out.print(a+" ");
       }
    }
}
break跳出循环,continue 进行下一次循环,结束当前循环体
while(循环条件) 循环体;
java 复制代码
public class Main {
    public static  void main(String [] argv)
    {
       int a=10;
       while(a<20)
       {
           System.out.print(a+" ");
           if(a>13)break;
           a++;
       }
       //输出  10 11 12 13 14 
    }
}

do{ }while();

java 复制代码
public class Main {
    public static  void main(String [] argv)
    {
       int a=10;
       do
       {
           System.out.print(a+" ");
           if(a>13)break;
           a++;
       }  while(a<20);
       //输出  10 11 12 13 14
    }
}
相关推荐
MegaDataFlowers15 小时前
101.对称二叉树
算法
小成2023032026515 小时前
C++~01面向对象基础
开发语言·c++
会编程的土豆15 小时前
Go 方法接收者超清晰笔记(类型名 vs 变量名)
开发语言·笔记·golang
Jasmine_llq16 小时前
《B3939 [GESP样题 四级] 绝对素数》
数据结构·算法·素数判断算法·数字拆分与反转算法·区间遍历枚举·双条件判断逻辑
utf8mb4安全女神16 小时前
【rsyslog服务】把所有服务的“临界点”以上的错误都保存在/var/log/alert.log⽇志中
java·前端·javascript
带刺的坐椅16 小时前
Solon Server 启动模式深度解析:从 0.3MB 内核到 10+ Server 插件
java·http·solon·jetty·undertow
郝学胜-神的一滴16 小时前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法
YY&DS16 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
csdn_aspnet16 小时前
javascript 算法 LeetCode 编号 70 - 爬楼梯
开发语言·javascript·算法·leetcode·ecmascript
掉鱼的猫16 小时前
Solon Server 启动模式深度解析:从 0.3MB 内核到 10+ Server 插件
java·http