欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础--流程控制

程序员文章站 2024-03-23 20:36:04
...

流程控制

包括三种:
		1.顺序结构
		2.选择结构
		3.循环结构

选择结构

一、单分支

语法结构:
			if(表达式.boolean值){
				执行语句;
			}
执行顺序:
			1:判定表达式的值,如果表达式的值位true执行对应				的执行语句
			2:表达式值是false 整个if语句都不执行
注意事项:
		当if分支中存在单条语句时可以省略大括号。当整个if的表		达式无论真假,执行之后都会执行后续代码以后多大数的逻		  辑不单单只有两种情况,有待加强。单分支结构永远只能		    保证一种情况下会做什么操作。

二、双分支

语法结构:
		if(boolean值表达式){
				执行语句1;
			}else{
				执行语句2;
			}
执行顺序:
			1:判定表达式的结果,如果表达式的结果是true
				执行对应的执行语句1
			2:如果表达式的结果是false 那么执行对应的执行语					句2
注意事项:
			可以省略大括号 保证执行语句只有一行即可整个判定			结果结束执行,执行语句执行之后继续执行后续代码

三、多分支

语法结构:
			if(表达式1){
				执行语句1;
			}else if(表达式2){
				执行语句2;
			}else if(表达式3){
				执行语句3;
			}................{
			
			}else{
				执行语句n;
			}
			
执行顺序:
			1:判定表达式的结果,如果表达式的结果是true
				执行对应的执行语句。整个多分支结果执行结束。
			2:依次判定后续的else if,只要有一个判定结果是					true那么整个多分支结束。
			3:如果所有的判定条件都为假,执行最后的else内容

四、switch

语法结构:
			switch(表达式){
				case 值1:
					执行语句1;
					break;
				case 值2:
					执行语句2;
					break;
				.......
				default:
					执行语句3;
			}
			
			
执行顺序:
			首先计算switch中的表达式的值然后依次匹配对应的			  case,如果匹配成功,执行对应的执行语句这里注意要		    通过break防止穿透,如果所有的case都不匹配执行最后		    的default,default位置无所谓的
		
注意事项:
			1:防止case穿透,用break
			2: switch只能做等值判定 if可以做区间判定
			3: default位置可以任意 一般放到最后
			4: switch表达式值不能是long float double 					boolean 类型
			   jdk1.5之后允许switch中存放枚举类型enum
			   jdl1.7之后允许switch中存放String类型
					 保证case也是String类型

循环结构

一、while循环

语法结构
			while(循环条件|表达式){
				循环体;//执行语句
			}
执行顺序
			1:判定循环条件,如果条件为真执行循环体1次
			2:再次判定循环条件,直到循环条件不满足,整个循		     	环结束。
注意事项
		不确定循环次数优先考虑while

二、do-while循环

语法结构
			do{
				循环体;
			}while(循环条件);
			
			
执行顺序
			1:先执行循环提一次
			2:再判定循环条件,如果条件为真,执行循环体1次
			3:再次判定循环条件,直到循环条件不满足,整个循环				结束。
			
注意事项
			while先判定在执行
			do-while先执行在判定

三、for循环

语法结构
			for(循环变量;循环条件;改变循环变量的表达式){
				循环体;
			}
			
			
执行顺序
			1:声明循环变量 (降低生命周期 调高内存利用率)
			2:判定循环条件 如果循环条件为真,执行循环体一次
			3:改变循环变量的值,判定循环条件,直到循环条件				不满足整个循环结束
注意事项
			1:确定循环次数可以使用for循环

跳出循环的方法

1. continue
	跳出本次循环,这次循环不执行,跳到下次循环开始
2.break
	switch防止穿透,跳出当前循环(指break所在的循环)
3.return
	结束所有的循环,结束当前方法

斐波那契数列

计算斐波那锲数列 兔子问题
		1 1 2 3 5 8 13 。。。。
	计算第20个数字是多少?
		第一项:1
		第二项:1
		第三项:前两项的和
		
		第20项: 第19+第18
	
		int num1 = 1;
		int num2 = 1;
		
		int num3 = num1+num2;
		
		num1 = num2;// 第一项里存放的是第二项的值
		num2 = num3;//第二项里存放的是第三项的值
		num3 = num1+num2;

public class Demo08{
	public static void main(String[] args){
		
		//声明前2项的值
		int num1 = 1;
		int num2 = 1;
		int num3 = 0;
		for(int i = 3;i<=20;i++){
			num3 = num1+num2;
			//交换位置
			num1 = num2;
			num2 = num3;
		}
		
		System.out.println("第20项是:"+num3);
		
		
	}