day03-选择语句与循环结构

选择语句和循环结构

顺序结构

程序从上执行到下一行一行执行

选择结构

根据不同的结果(boolean 表达式),执行不同的代码

为什么要使用逻辑结构?

可以在代码中体现一些逻辑,当满足条件的时候执行对应的操作

if

if(boolean){
    //boolean值为true时执行此代码块操作;
    //boolean值为false时不执行此代码块操作;
}

例:

class IfDemo{
    public static void main(String[] args){
        int age = 17;
        if(age>18){
            System.out.println("可以去网吧了");
        }
    }
}

if-else

if(boolean){
    //boolean值为true时执行此代码块操作;
}else{
    //boolean值为false时执行此代码块操作;
}

例:

class IfElseDemo{
    public static void main(String[] args){
        int age = 17;
        if(age>18){
            System.out.println("可以去网吧了");
      	}else{
            System.out.println("回家玩游戏去");
        }
    }
}

if-else if-else if-else

if(boolean){
    //boolean值为true时执行此代码块操作;
}else if(boolean){
    //boolean值为true时执行此代码块操作;
}else if(boolean){
    //boolean值为true时执行此代码块操作;
}
...
else{
    //如果上面都为false 则执行该代码块
}

例:

class IfElseIfElseDemo{
    public static void main(String[] args){
        int age = 17;
        if(age>18){
            System.out.println("可以去网吧了");
      	}else if(age<18){
            System.out.println("回家玩游戏去");
        }else{
            System.out.println("年轻人去奋斗");
        }
    }
}

switch:

使用在判断是否等于一个数值的时候

case 值(必须是常量值)

用于解决使用过多eles if的问题(简化ifelse的代码)

switch(byte/short/char/int/String变量等){
	case:
    	执行的操作
	break;
	case:
    	执行的操作
	break;
	...
	default
		执行的操作
	break;
}

break:结束当前switch语句的执行

没有break:继续执行后面的语句

class MonthChooseDemo{
	public static void main(String[] args){
		//定义一个 int 类型 变量存放当前月份(month)
		int month = 12;
		//使用 switch 进行判断
		switch(month){
			case 1:
			case 2:
				System.out.println("冬季");
				break;
			// 3 月到 5 月是打印春季
			case 3:
			case 4:
			case 5:
				System.out.println("春季");
				break;
			//6 月到 8 月打印夏季
			case 6:
			case 7:
			case 8:
				System.out.println("夏季");
				break;
			//9 月到 11 月打印夏季
			case 9:
			case 10:
			case 11:
				System.out.println("秋季");
				break;
			//12 月到 2 月打印夏季	
			case 12:
				System.out.println("冬季");
				break;
			default :
				System.out.println("月份非法");
		}
	}
}

常见错误

​ if(boolean)后不用接";"结束

switch和if else对比

switch对常量以外的情况无能为力(如:a>0 && a<100)

if else能够适应更多的场合,所以if else比较灵活。

if和else if每次都是要进行判断的

switch只计算一次,然后表达式的值和每个case的值进行比对

switch只有在常量选择的时候比if else的效率高

switch性能比if else更加高(大概10倍左右)

循环结构

三种循环的执行结果都是一样的,只有语法上的差异

为什么要使用循环结构

让系统做重复的事情

while

while(boolean表达式){
    //表达式的结果为true的时候执行,再判断表达式的结果,直到表达式的结果为false为止
}

do while

do{
    //循环体
}while(boolean表达式)

do while与while的区别

无论while中的表达式是否为true,都会执行一次循环体

for

for(初始化语句;boolean 表达式;循环后的操作语句){
    //循环体
}

初始化:操作只执行一次,在进行循环操作之前

判断:每次在执行之前判断,判断为true进入循环体,判断为false跳出循环体,执行循环之后的代码

每次循环体结束后进行一次循环后的操作语句

常用循环体变量

i,j,k,m,n

死循环

//while
while(true){
    
}
//do while
do{
    
}while(true)
//for
for(;;){

}

嵌套循环

需要循环执行另外的循环

for(int i = 0 ; i < 10 ; i++){
    for(int j = 0 ; j < 10 ; j++){
        ....
    }
}

控制循环

continue

跳过当前这一次循环,继续下一次的循环执行

for(int i = 0 ; i < 10 ; i++){
    continue;
}
break

跳出循环

for(int i = 0 ; i < 10 ; i++){
    break;
}
return

结束整个方法

for(int i = 0 ; i < 10 ; i++){
    return;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值