Java流程控制

1. 顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就是按照顺序一句一句执行
  • 顺序结构是最简单的算法结构
  • 执行方式:从上往下,依次执行
public class Demo {
 
    public static void main(String[] args) {
 
        System.out.println("这是第一句");
        System.out.println("这是第二句");
        System.out.println("这是第三句");
        System.out.println("这是第四句");
        
        /*
         输出结果:
         这是第一句
         这是第二句
         这是第三句
         这是第四句
         */
 
    }
 
}

 


 

2. 选择结构

  • java的选择结构是根据条件判断之后再做处理的一种语法结构,使程序运行更加灵活
  • 执行方式:根据判断条件选择要执行的语句分支
2.1 if单选结构
  • 拥有一个选择分支,条件成立则执行分支语句,否则跳过继续执行之后的语句
  • 语法结构:if(条件){代码块}
public class Demo {
 
    public static void main(String[] args) {
 
        int num = 10;
        
        if(num>0) {
            System.out.println("num大于0");
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         num大于0
         结束
         */
 
    }
 
}
2.2 if-else双选结构
  • 拥有两个选择分支,条件成立则执行if下的语句,否则执行else下的语句
  • 语法结构:if(条件){代码块1} else {代码块2}
public class Demo {
 
    public static void main(String[] args) {
 
        int num = -10;
        
        if(num>0) {
            System.out.println("num大于0");
        }else {
            System.out.println("num小于0");
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         num小于0
         结束
         */
 
    }
 
}
2.3 if-elseif-else多选结构
  • 拥有多个选择分支,条件1成立则执行条件1下的语句,条件2成立则执行条件2下的语句,…,全都不成立执行else下的语句(else部分可不写)
  • 语法结构:if(条件1){代码块1} else if(条件2){代码块2}…[else {代码块n}]
public class Demo {
 
    public static void main(String[] args) {
 
        int score = 80;
        
        if(score>=90) {
            System.out.println("A");
        }else if(score>=80) {
            System.out.println("B");
        }else if(score>=70) {
            System.out.println("C");
        }else if(score>=60) {
            System.out.println("D");
        }else if(score>=0) {
            System.out.println("E");
        }else {
            System.out.println("成绩有误!");
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         B
         结束
         */
 
    }
 
}
2.4 switch-case多选结构
  • 拥有多个选择分支,通过判断变量与某一个值相等来选择哪一个分支执行,都不相等则执行default分支(default部分可以不写)
  • 每一个case分支的代码块最后一般要添加break结束switch,否则将继续执行下一个case分支
  • 语法结构:switch(判断值){case 值1: 代码块1 [break;] case 值2: 代码块2 [break;] …default:代码块n}
public class Demo {
 
    public static void main(String[] args) {
 
        int num = 3;
        
        switch(num) {
            case 1:
                System.out.println("num为1");
                break;
            case 2:
                System.out.println("num为2");
                break;
            case 3:
                System.out.println("num为3");
                break;
            case 4:
                System.out.println("num为4");
                break;
            case 5:
                System.out.println("num为5");
                break;
            default:
                System.out.println("没有num的值");
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         num为3
         结束
         */
 
    }
 
}

 


 

3. 循环结构

  • java的循环结构用于执行具有重复性的工作,让代码编写更简便
  • 执行方式:根据条件判断执行重复的语句
3.1 while循环结构
  • 通过判断while条件是否成立来决定循环体是否再次执行
  • 进入循环体之前就进行判断
  • 语法结构:while(条件){循环体}
public class Demo {
 
    public static void main(String[] args) {
 
        //输出0~4
        int num = 0;
        
        while(num<5) {
            System.out.println(num);
            num++;
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         0
         1
         2
         3
         4
         结束
         */
 
    }
 
}
3.2 do-while循环结构
  • 通过判断while条件是否成立来决定循环体是否再次执行
  • 进入循环体之后才进行判断,循环体至少执行一次
  • 在while(条件)后要加上“;”
  • 语法结构:do {循环体}while(条件);
public class Demo {
 
    public static void main(String[] args) {
 
        int num = 10;
        
        do
        {
            System.out.println(num);
            num++;
        }while(num<5);
        
        System.out.println("结束");
        
        /*
         输出结果:
         10
         结束
         */
 
    }
 
}
3.3 for循环结构
  • for循环结构是支持迭代的一种通用结构,是最有效,最灵活的循环结构
  • for循环结构在循环之前就确定了循环的次数
  • 语法结构:for(初始化;判断条件;更新) {代码块}
public class Demo {
 
    public static void main(String[] args) {
 
        //输出0~4
        int num = 5;
        
        for(int i=0;i<num;i++) {
            System.out.println(i);
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         0
         1
         2
         3
         4
         结束
         */
        
        //for(;;)为无条件循环
 
    }
 
}
3.4 for循环增强结构
  • for循环增强结构主要用于数组和集合
  • 语法结构:for(声名语句:表达式) {代码块}
public class Demo {
 
    public static void main(String[] args) {
 
        //输出数组arrNum的元素
        int[] arrNum = {1,2,3,4,5};
        
        for(int i:arrNum) {	//i应为后面的数组或集合对应的元素类型
            System.out.println(i);
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         1
         2
         3
         4
         5
         结束
         */
 
    }
 
}

 


 

4. break、continue、goto

4.1 break
  • break用于任何循环语句以及switch多选结构中,其功能为结束循环语句或switch多选结构,即不执行循环体或switch多选结构剩余的语句
public class Demo {
 
    public static void main(String[] args) {
 
        //输出0~5
        int num = 100;
        
        for(int i=0;i<num;i++) {
            System.out.println(i);
            if(i==5) {
                break;
            }
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         0
         1
         2
         3
         4
         5
         结束
         */
 
    }
 
}
4.2 continue
  • continue用于循环语句,其功能为结束当次循环,即跳过当次循环进行下一次循环
public class Demo {
 
    public static void main(String[] args) {
 
        //输出0到10的奇数
        int num = 10;
        
        for(int i=0;i<num;i++) {
            if(i%2==0) {
                continue;
            }
            System.out.println(i);
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         1
         3
         5
         7
         9
         结束
         */
 
    }
 
}
4.3 goto
  • java语言中虽然有goto关键字,但并未得到正式使用,只能在带标签的break和continue中看到goto的影子(不推荐使用)
public class Demo {
 
    public static void main(String[] args) {
 
        //输出10到20的质数
        next:for(int i=10;i<=20;i++) {
            for(int j=2;j<i/2;j++) {
            	if(i%j==0) {
                    continue next;
                }
        	}
            System.out.println(i);
        }
        
        System.out.println("结束");
        
        /*
         输出结果:
         11
         13
         17
         19
         结束
         */
 
    }
 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值