二、3、java基础之流程控制语句

一、顺序结构

根据代码的书写顺序进行执行代码

二、选择结构

            if选择语句:

          格式1:if(关系表达式){

                语句体; }

          格式2:if(关系表达式){

                语句体1;

              }else{

                语句体2; }

          格式3:if(关系表达式){

                语句体1;

              }else{

                语句体2; }……

          格式4:if(关系表达式1){

                  语句体1;

               }else if(关系表达式2){

                  语句体2;

              }...else{ 语句体n; }

      switch语句:

            定义格式:

                                                         switch(表达式){
                case 常量值1: 语句体1;break;
                case 常量值2: 语句体1;break;
                case 常量值3: 语句体1;break;
                case 常量值4: 语句体1;break;
                case 常量值5: 语句体1;break;
                case 常量值6: 语句体1;break;
                ...
                default:语句体n;break;
                }

            switch语句的注意事项:

                     1)switch语句严格按照先匹配对应的case,如果有匹配的case就会执行对应的语句体,如果没有匹配的case,才会运行default语句。
            2)switch与语句小括号中可以是byte,short,int,char,枚举,String
               3)能不能不写break? 如果可以,那么会出现什么情况?可以不写,但是可能会出现switch穿透
               4)default语句一定要写吗?可以不写,但是为了程序的严谨性,最好写上一个
               5)default语句一定是写在最后一个吗?不一定
               6) case后面只能是常量,不能是变量
            执行流程:严格按照先匹配对应的case,如果匹配到就会执行对应的语句体,直到运行break,结束整个语句,若没有匹配的case,最后才会执行default中的语句体

三、循环结构

1、for循环:

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

    双重for循环:for(){

            for(){

          }}

复制代码
package com.shujia.day03.ketang;
public class ForDemo2 { public static void main(String[] args) { /** * * 需求:请输出如下图形 * * 第1行,共1列 * * * 第2行,共2列 * * * * 第3行,共3列 * * * * * 第4行,共4列 * * * * * * 第5行,共5列 * ... 第i行,共i列 * 结论:每一行的最大列数与该行数一样 */ for (int i = 1; i <= 5; i++) {// 外层for循环控制的是行数 for (int j = 1; j <= i; j++) {// 内层for循环控制的是每一行的列数 System.out.print("*\t"); } System.out.println(); } System.out.println("----------------------------------"); for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } System.out.println("----------------------------------"); for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(i + "*" + j + "=" + (i * j) + "*\t"); } System.out.println(); } } }
复制代码

 

注意事项:

     1. 初始化条件语句能不能不写? 不能循环要有一个前提,如果不写,可能会造成死循环
2. 初始化条件语句能不能写在for循环的外面? 能,当你需要for循环结束后的变量的话,就可以定义在外面,作用域大一些
3. 大括号能不能省略? 当循环体语句只有一行的时候可以省略,其他情况不能省略. 建议永远不要省略

 

2、while循环

语句定义格式: 

        初始化条件语句;

         while(判断条件语句){

            循环体语句;

            控制条件语句; }

do.while循环

语句定义格式:

      初始化条件语句; do{

                循环体语句;

                控制条件语句;

                 }while(判断条件语句);

 

3、结论

(1)、while循环是先判断,当判断结果为true的时候才会执行循环体,而do..while循环会先执行一次循环体,再进行判断

(2)、当确定范围循环次数的时候,优先考虑for循环

(3)、当次数不确定的时候,优先考虑while循环

 

四、跳转控制语句

1、break:

作用在switch语句和循环语句中,表示结束整个语句

复制代码
package com.shujia.day03.ketang;

/*
    break: 打碎,终止,打破,结束了
    作用场景: 作用在switch语句和循环语句中
 */
public class BreakDemo1 {
    public static void main(String[] args) {
        //break语句无法脱离场景单独使用,没有意义
//        break;

        //需求: 打印1-10,当打印到5的时候,使用break
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
            if(i==5){
                break; //结束整个循环
            }
        }
        System.out.println("---------------------------------");
        //需求: 九九乘法表中,当外层for循环i==5的时候使用break
        wc:for(int i=1;i<=9;i++){
            nc:for(int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
                if(j==5){
//                    break; //默认情况下,跳出并结束最近那个循环
                    break wc; //如果想要结束其他外层循环,使用标签进行退出
                }
            }
            System.out.println();
        }
    }
}
复制代码

 

2、continue

作用在循环语句中,表示结束当次循环

复制代码
package com.shujia.day03.ketang;

/*
    continue: 继续
    使用场景: 作用在循环语句中

 */
public class ContinueDemo1 {
    public static void main(String[] args) {
        //单独使用毫无意义,需要作用在循环语句中
//        continue;

        //当i==5的时候使用continue
        for(int i=1;i<=10;i++){
            if(i==5){
                continue; //结束当次循环
            }
            System.out.println(i);
        }
    }
}
复制代码

 

3、return

作用在方法内部,表示结束整个方法

 

复制代码
package com.shujia.day03.ketang;

/*
    return: 返回
    作用场景: 作用在方法中最后一句话,用于返回一个返回值,相当于结束一个方法
 */
public class ReturnDemo1 {
    public static void main(String[] args) {
        return; //作用在方法中的最后一句,方法结束了
//        System.out.println("hello world");
    }
}
复制代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted @   SIKeborn  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示