码歌学习(day06)流程控制语句

流程控制

多分支结构

if else多分支结构:

书写方式:

if(表达式1){
    执行语句1;
}else if(表达式2){
    执行语句2;
}else if(表达式3){
    执行语句3;
}else if(表达式4){
    执行语句4;
    ...
}else if(表达式n){
    执行语句n;
}else {执行语句n+1}

执行顺序:

1.程序自上而下运行,到了第一个if的时候,判断表达式1的结果,如果为true,则执行对应的执行语句1,如果为false,程序跳过执行语句1并继续向下运行;

2.程序自上而下运行,到了第二个if的时候,判断表达式2的结果,如果为true,则执行对应的执行语句2,如果为false,程序跳过执行语句1并继续向下运行;

3.同上

4.最后,如果所有的if条件都不符合,那么结果就是最后的执行语句else里的执行语句。

注意事项:

  • if else语句中的表达式的值都是布尔类型的值。

  • 在整个判断语句中尽可能要将所有的情况罗列出来

  • 最后的else中的执行语句可以不写,但最好加上,可以保证程序的健壮性

  • 其中的执行语句只有一行的时候,可以不写大括号,但最好还是写上,否则比较难懂。

    测试用例:

public class Test{
    public static void main(String[] args){
        int num = (int)(Math.random()*100+1);
		System.out.println("生成的分数是:"+num);
        if (num == 100){
            System.out.println("大神");
        }else if(num>=90&&num<100){
            System.out.println("王者");
        }else if(num>=80&&num<90){
            System.out.println("强者");
        }else if(num>=70&&num<80){
            System.out.println("高手");
        }else if(num>=60&&num<70){
            System.out.println("及格");
        }else {
            System.out.println("菜鸟");
        }
    }
}

switch分支结构

书写规则:

switch(表达式)case1:执行语句1;break;
	case2:执行语句2;break;
    case3:执行语句3;break;
    ...
    case值n:执行语句n;break;
	default:执行语句;break;
}

运行方式:

程序自上而下运行,碰到了switch,然后判断switch内表达式的值,如果碰到了相匹配的值,就输出对应的执行语句,然后继续执行,如果碰到break,那么结束整个switch表达式的运行并继续执行switch后面的代码;如果运行过程中没有匹配到对应的case值,那么程序会执行最后的执行语句default。

测试用例:

/*
	随机生成1-12月份数字,根据该数字判断其季度。
*/
public class Demo06{
	public static void main(String[] args){
		int num = (int)(Math.random()*12+1);
		switch (num){
		case 3: case 4: case 5:
		System.out.println("春天");
		break;
		case 6: case 7: case 8:
		System.out.println("夏天");
		break;
		case 9: case 10: case 11:
		System.out.println("秋天");
		break;
		case 12: case 1: case 2:
		System.out.println("冬天");
		break;
		}
	}
}

案例分析:

程序自上而下运行,生成对应cases范围内的数字,并执行对应的输出语句;

例如:系统随机生成数字7;

在整个switch中匹配到了case7,然后继续运行,穿透了case8,并执行了夏天的输出语句;

语句执行结束,程序继续运行,碰到了break,整个switch语句结束。

注意事项:

  • switch程序中的语句中break的作用是为了防止case在程序运行期间穿透
  • default语句为了保证了程序的健壮性,可以将剩余的无法罗列的情况也加以输出反馈
  • default语句是可以放在整个switch语句中的(大括号内)任意位置的,但是一般将它放到switch的最后
  • switch的表达式的值一般是整型结果,其他的类型除了boolean类型之外可以通过强制类型转化来书写,在后续的新版本中新增加了对枚举,以及字符串类型的支持。

循环结构

在程序中执行重复的(或者规律性强的)连续型代码,可以使用循环来执行语句

while 循环

书写格式:

while(循环表达式){
    循环体;
}

比如:

int num1 = 1;
int num2 = 1;
while (num1<100){
    num1+=num2;
}
System.out.println(num2);

执行顺序:

while程序自上而下运行,判断小括号内的条件是否为true;如果为true,那么执行对应的循环体一次,直到小括号内的条件判断为false,循环停止,并执行后续的代码。

注意事项:

  • 循环表达式的值是一个布尔类型的值
  • while不能确定循环次数,但是可以知道什么时候可以结束循环。
  • 如果表达式里的值恒为true,那么该while循环是个死循环,在现阶段的学习中要尽量避免碰到死循环。(意思就是说以后有用嘞)
do while循环
do{
    循环体;
}while(循环表达式)

代码示例

int num = 0;
int a = 30;
do{
    num+=2;
    a--;
}while(a!=0)
    System.out.println(num);

执行顺序:

1.先执行循环语句一次

2.然后判断语句的布尔值,为true就继续循环,为false就结束循环并执行后续的语句。

注意事项

  • 使用规则大体上和while循环相同,不同的是do-while循环一定是需要执行一次循环体的。
for循环

书写格式:

for(声明循环变量;循环变量的表达式;改变循环变量的表达式){
    循环体;
    
}

示例:

int sum = 0;
for(int a = 0;a<=5;a++){
    sum+=a;
}
System.out.println(sum);

执行顺序:

  • 程序运行时先判断表达式中的a的值是否符合判断条件;
  • 如果符合条件,就将a的值计入sum变量中;
  • 将变量a的值自增1,并再次判断a的值是否符合条件
  • 重复第二第三条,直到判断语句中a的值不满足条件时,就结束循环体并执行后续的代码。

注意事项:

  • 对于for循环内的变量而言,外部是无法访问的
  • 对于第一个循环变量而言,声明的类型可以是基本数据类型和引用数据类型
  • 三个循环的区别
    • for循环可以确定循环条件
    • while循环可以知道什么时候结束循环
    • do-while循环必须先执行循环体一次
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值