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
    }
}
相关推荐
想回家的一天3 小时前
ECONNREFUSED ::1:8000 前端代理问题
开发语言
cike_y3 小时前
Mybatis之解析配置优化
java·开发语言·tomcat·mybatis·安全开发
Jay_Franklin4 小时前
SRIM通过python计算dap
开发语言·python
是一个Bug5 小时前
Java基础50道经典面试题(四)
java·windows·python
Slow菜鸟5 小时前
Java基础架构设计(三)| 通用响应与异常处理(分布式应用通用方案)
java·开发语言
消失的旧时光-19435 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
wadesir5 小时前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
我是Superman丶5 小时前
《Spring WebFlux 实战:基于 SSE 实现多类型事件流(支持聊天消息、元数据与控制指令混合传输)》
java
tap.AI5 小时前
RAG系列(二)数据准备与向量索引
开发语言·人工智能
廋到被风吹走5 小时前
【Spring】常用注解分类整理
java·后端·spring