• 重修之Java-基础篇-流程控制


      在上一篇学习过Java中基础篇-数据类型和运算符,这一章节中将会继续学习Java的基础知识-流程控制,不管哪种语言,都会提供两种基本的流程控制结构:分支结构和循环结构。分支结构就是根据条件来选择执行某一块代码,循环结构就是根据条件来重复执行某一块代码。Java中提供了两种分支结构:if和switch,提供了三种循环结构:while,do while和for循环结构。Java还提供了foreach循环来遍历集合和数组的元素,并使用break和continue来控制循环。

    1. 分支结构

      分支结构有两种,都比较简单,能够很容易理解。

    1.1 if条件语句

      有三种方式,下面直接上代码:

    public class Demo{
    	public static void main(String[] args){
    		int salary = 6000;//鄙人穷逼一个,就用月薪来举个栗子(真实月薪)
    		//第一种形式,只有if
    		if(salary == 6000){//括号里面表达式如果成立,就返回true,则执行下面的代码
    			System.out.println("勉强够生活");
    		}
    
    		//第二种形式,加了一个else
    		if(salary == 8000){//括号里面表达式如果成立,就返回true,则执行下面的代码;如果不成立,则执行else后面花括号的代码
    			System.out.println("勉强够生活");
    		}else{
    			System.out.println("达不到这个工资呀");
    		}
    		//第三种形式,其实就是在第二个形式上多加一个else if,当然,你可以多加几个else if
    		
    		if(salary == 8000){//括号里面表达式如果成立,就返回true,则执行下面的代码;如果不成立,则执行else后面花括号的代码
    			System.out.println("达不到这个工资呀");
    		}else if(salary == 10000){
    			System.out.println("8000都没有,还想要10000");
    		}else{
    			System.out.println("既然都没有8000和10000,那就好好学习吧");
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

      满足某个分支的条件就去执行该分支下的代码,如果都不符合,就去执行else下的代码。

    1.2 switch分支

      switch分支和if功能差不多,只是形式不同:

    public class Demo{
    	public static void main(String[] args){
    		int salary =  6000;
    		switch(salary){//传入需要判断的参数,参数的数据类型只能是byte,short char,int 四种整数类型,枚举类型和String类型,不能是boolean类型
    			//如果salary等于6000;
    			case 6000:
    				System.out.println("勉强够生活");
    				break;//结束当前循环;
    			//如果salary等于6000;
    			case 8000:
    				System.out.println("达不到这个工资呀");
    				break;//结束当前循环;
    			//如果salary等于6000;
    			case 10000:
    				System.out.println("8000都没有,还想要10000");
    				break;//结束当前循环;
    			//都不等于
    			default:
    				System.out.println("没工资输入");
    				break;//结束当前循环;
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    2. 循环结构

      循环就是在满足某一条件的时候,重复执行某一块代码。Java中有三种,for循环,while,do while。

    2.1 for循环

      for循环应该是用的最多的一个循环,他可以替代while循环、do while循环。它的基本格式如下:

    for(表达式A;表达式B;表达式C){
    	//循环体
    }
    
    • 1
    • 2
    • 3

      表达式A是对循环的初始化,表达式B是对循环条件的判断,判断是否继续执行循环;表达式C是如何循环的,下面举例:

    public class Demo{//这里用到了花括号
    	public static void main(String[] args){//这里使用到了中括号、花括号和圆括号,以及空格
    		int numA;
    		for(numA = 10;numA < 20;numA++){
    			System.out.println(numA);/
    			/*先将numA初始化为10,然后判断其是否小于20,小于,则执行输出numA=10;然后执行numA++,此时numA为11;
    			继续执行下一个循环,下一个循环则不需要对numA进行初始化,直接判断num是否小于20,11不小于20,继续输出numA=11,然后执行numA++,此时numA为12;
    			依此类推,直到numA=19,此时numA小于20,执行输出numA=19,然后执行numA++,numA=20;判断numA是否小于20,不小于,则中断循环。
    			*/
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.2 while循环

      while循环比for循环稍微简单一点:

    public class Demo{//这里用到了花括号
    	public static void main(String[] args){//这里使用到了中括号、花括号和圆括号,以及空格
    		int numA =10;
    		//错误示范
    		while(numA < 20){//循环条件
    			System.out.println(numA);//输出当前numA的值
    		}//可以看出,numA的值并没有发生改变,因此判断是否执行循环时,始终会返回true,就无法跳出循环,就会产生死循环。解决的方法是在循环体内加numA++,使得numA的值能够逐渐递增超过20,这样就能够跳出循环了。
    		
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.3 do while循环

      比while循环多了一个do:

    public class Demo{//这里用到了花括号
    	public static void main(String[] args){//这里使用到了中括号、花括号和圆括号,以及空格
    		int numA =10;
    		do{
    			System.out.println(numA);//先执行一下循环体,while循环则是先判断是否循环,dowhile是先循环一次
    			numA++;
    		}while(numA<20);//循环条件
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3.控制循环结构

      Java提供了两种continue和break;翻译成中文就是,继续和中断;continue就是跳过当前循环,继续下一次循环;break则是直接中断循环。

    public class Demo{
    	public static void main(String[] args){//这里使用到了中括号、花括号和圆括号,以及空格
    		
    		for(int numA = 10;numA<20;numA++){
    			System.out.println(numA);
    			if(numA == 16){
    				System.out.println("我不干了");
    				break;//当输出到16时,就直接中断循环了,不会执行下一次循环了
    			}
    		}
    		for(int numB = 10;numB<20;numB++){
    			System.out.println(numB);
    			if(numB == 16){
    				System.out.println("我休息会儿,等会儿继续干");
    				continue;//当输出到16时,就中断此次循环,继续执行下一次循环了
    			}
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

      还有一个return也能够中止循环,虽然效果都一样,但是中断的是某个方法:

    public class Demo{
    	public static void main(String[] args){//这里使用到了中括号、花括号和圆括号,以及空格
    		//上述的break和continue都只是中断某一个循环,但是return是中断函数
    		for(int numB = 10;numB<20;numB++){
    			System.out.println(numB);
    			if(numB == 16){
    				System.out.println("难干?我瞧就别干了");
    				return;//当输出到16时,就中断main函数了,就不会执行下面的循环体
    			}
    		}
    		//上面直接罢工了,我也没法干啊
    		for(int numA = 10;numA<20;numA++){
    			System.out.println(numA);
    			if(numA == 16){
    				System.out.println("我不干了");
    				break;
    			}
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    AVS3:DMVR
    混动汽车消费者分析洞察?普通消费者如何看待混动汽车?
    java八股文(mysql篇)
    Linux 如何让远程连接工具操作断开后所做的操作不结束
    JPA 和 EclipseLink 如何使用数据库审计、数据库安全、代理身份验证和 VPD
    三个数之和
    优先级队列(堆)——小记
    单片机学习笔记---直流电机驱动(PWM)
    复盘:Python内存管理&垃圾回收原理
    微信小程序云开发入门-数据库插入数据(包含批量)
  • 原文地址:https://blog.csdn.net/qq_39443703/article/details/134069804