(三)选择与循环语句概括

选择与循环语句

选择结构

顺序结构

如果没有流程控制,程序按照从上往下顺序执行

分支结构(选择结构)

当面临多个选择时,我们可以采用分支结构,分为

  • 条件选择语句if ifelse
  • 等值匹配分支switch
if
if(boolean表达式){
    语句体;
}
布尔表达式为true才会运行if语句
if-else
if(boolean表达式) {
    语句体1;
} else {
    语句体2;
}

boolean表达式为true则执行语句体1,false则执行其他语句
if-else if-else
if(boolean表达式1){
    语句体1;
}else if(boolean表达式2){
    语句体2;
}else if(boolean表达式3){
    语句体3;
}else{
    语句体4;   
}

运行判断if条件语句,如果判断表达式1true,则执行语句体1,false则判断表达式2,
表达式2true,则执行语句体2,false,则继续判断表达式3
表达式3true,则执行语句体3,false,则执行语句体4
switch

switch中表达式要求必须是整型,或者类整型(char), jdk1.7后,也可以字符串(不建议)

switch(整型表达式){
case A值:
       语句体1; break;
case B值:
       语句体2; break;
case C值:
       语句体3; break;
n多个case语句
       default:
        以上值都不满足时,执行此语句;
         break;//可以省略
}

例子:

需求:根据输入的一个数字,判断是星期几?

//定义一个Scanner类,用作控制台输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入1-7之间一个数");
int week = sc.nextInt();

switch(week){
       case 1: System.out.println("今天是周一");
        break;
        case 2:System.out.println("今天是周二");
        break;
        case 3:System.out.println("今天是周三");
        break;
        case 4:System.out.println("今天是周四");
        break;
        case 5:System.out.println("今天是周五");
        break;
        case 6:System.out.println("今天是周六");
        break;
        case 7:System.out.println("今天是周日");
        break;
    default: System.out.println("你输入错啦");
        break;
}

//  case 语句中break不能省略  
//switch 一般只适合等值判断

循环结构

一般重复执行某段代码时可以使用循环结构

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

while循环,先判断boolean表达式,true,则执行循环体,直到为false,停止运行,若为false,则不运行
do while
do{
    语句体;
}while(boolean表达式); //分号别忘了

不管对错,先执行一遍语句体,再进行判断,true,则执行循环体,直到为false,停止运行,若为false,则不运行

例子:

while与do-while对比

int a = 10;
int b = 15;
//使用while循环
while(a>b){
    System.out.println("a大于b");
}

while循环,结果:没有执行
    
//使用do-while循环
    do{
        System.out.println("a大于b");
    }while(a>b);
结果:输出了"a大于b" 语句  do-while会先执行一次语句体
for
for(初始化语句 ; boolean表达式;循环后语句){
    语句体;
}

先执行初始化语句(只运行一次),再进行boolean判断,false则不运行for循环,true则执行语句体,执行完后运行循环后语句,再进行boolean判断,true则继续运行以上操作,直到为false

例子:

需求:找出 [1, 500] 之间偶数的个数。

   public class Demo13 {
        public static void main(String[] args) {
            int count = 0;  //作为偶数个数的计数器
            //for循环遍历1-500
            for(int i =1; i<=500 ;i++){
                //if判断偶数
                if(i % 2 ==0){
                    //为偶数则计数器加1
                    count++;
                }
            }
            System.out.println(count);
        }
    }

break,continue,return

break : 结束整个循环
return: 结束整个方法
continue : 结束当前此次循环(跳过此次循环),直接进入下一次循环  
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值