选择循环语句

选择结构

顺序语句
分支语句
  • 也叫作选择结构,根据逻辑判断,存在多个不同的结果,此时就会产生不同的选择,不同的选择执行不同的代码

  • if(boolean表达式){

    语句体;

    }单分支

    int a = 10;
    System.out.println("begin...");
    if(a > 5){
        System.out.println("a大于5");
    }
    System.out.println("and");
    if(a > 20){
        System.out.println("a大于20");
    }
    System.out.println("end");
    
    • if…else…双分支

      if(boolean表达式){

      语句体1;

      }else{

      语句体2;

      }

      int num = 10;
      if(num % 2 ==0){
          System.out.println("偶数");
      }else{
           System.out.println("奇数");
      }
      
      /*[2]复杂条件分支
      登录案例:如果用户名是'A'密码是123,控制台提示登陆成功,
      否则提示用户名或密码错误*/
      char uerName = 'A';
      int passWord = 123;
      if(userName == 'A' && passWord == 123){
          System.out.println("登陆成功");
      }else{
          System.out.println("用户名或密码错误");
      }
      /*总结:
      1.多个条件要用到逻辑运算符
      2.字符可以直接进行比较,所以字符也被称之为类整形
      */
      
    • if …else…if…else…

      //多分支,需求:给定两个数,如果a>b,输出a大于b
      int a = 10;
      int b = 5;
      if(a > b){
          System.out.println("a大于b");
      }else if(a == b){
           System.out.println("a等于b");
      }else{
           System.out.println("a小于b");
      }
      
      //控制台输入
      Scanner sc = new Scanner(System.in);
      int days = sc.nextInt();
      if(days >= 0 && days < 5){
          System.out.println("等级为00000000");
      }else if(days < 12){
        System.out.println("☆");
      }else if(days < 21){
        System.out.println("☆☆");
      }else if(days < 32){
        System.out.println("☆☆☆");
      }else{
         System.out.println("☾");
      }
      /*对于区间的分支一定选用多分支
      多分支时,如果从小到大,用小于号
      如果从大到小,用大于号
      */
      
    • switch语法

    • 判断是否等于某一数值

    • 注意事项:1.整形表达式的类型:byte,short,char,int;2.java5开始支持枚举,java7开始支持String,实际开发中迫不得已的情况下才能使用,尽量不使用;3.case之后的表达式结果必须是常量;4.case表示执行代码的入口

    Scanner sc = new Scanner(System.in);
    int day = sc.nextInt();
    String str;
    switch(day){
    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;}
    }
    
循环结构
  • 如果要做重复的操作,一定要用到循环结构

  • 在满足循环条件的情况下,重复执行某一段代码,这段被重复执行的代码就是循环体结构{while语句.do while语句.for语句}

  • while

    • while(boolean表达式){

      循环体;

      }

    //需求:输出好好学习,天天向上5遍
    //声明一个变量
    int i = 1;
    //确定循环条件
    while(i <= 5){
        //循环体
        System.out.println("好好学习,天天向上");
        //循环控制变量变化
        i++;
    }
    
    //打印1-100
    int i = 1;
    while(i <= 100){
        System.out.println(i);
        i++;
    }
    //1-10中所有的偶数
    int j = 1;
    while(j <= 10){
        if(j % 2 == 0){
            System.out.println(j);
        }
        j++;
    }
    
    //求1-10的和
    int i = 1;
    int sum = 0;
    while(i <= 10){
        sum = sum + i;//sum += i;
        i++;
    }
    System.out.println(sum);
    
  • do while

    • do {

      循环体;

      }while{boolean表达式}

    int i = 1;
    do {
        	System.out.println("好好学习");
        i++ ;
    } while (i <= 5);
    
    int i = 1;
    do {
        System.out.println(i);
        i++;
    } while (i <= 10);
    
    int i = 1;
    int sum = 0;
    do {
        sum += i;
        i++;
    } while (i <= 10);
    System.out.println(sum);
    
    int i = 1;
    do {
      if (0 == i % 2) {
          System.out.println(i);
      }
      i++;
    } while (i <= 10);
    
  • for

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

      循环体;

      }

      • 注意:如果知道循环次数,优先选用for循环
    //打印五遍好好学习
    for (int i = 1; i <= 5; i++){
        System.out.println("好好学习");
    }
    //打印1-10
    for (int i = 1;i <= 10;i++) {
        System.out.println(i);
    }
    //打印1-10的偶数
    for (int i = 1;i <= 10 ;i++){
        if (i % 2 == 0){
            System.out.println(i);
        }
    }
    //计算1-10的和
    int sum = 0;
    for (int i = 1;i <= 10;i++){
      sum +=i;
    }
    System.out.println(sum);
    

    for循环细节问题:1. 提升初始化语句的位置;在实际开发中,需要获取i的值

    //将i的初始值提升到主方法内,从局部变量变成一个成员变量
    int i = 1;
    for (;i <= 5;i++){
        
    }
    System.out.println(i);
    
    1. i++的位置;
    //i++的位置
    for(int j = 1;j <= 5;){
        if (true){
            j += 2;
        } else {
            j++;
        }
    }
    
    //需求:循环输入5个学生的成绩,如果输入的成绩不合格,提示重新输入
    Scanner sc = new Scanner(System.in);
    for (int k = 1;k <= 5;){
        System.out.println("请输入第" + k + "个学生的成绩");
        int score = sc.nextInt(); 
        if (score < 0 || score > 100){
            System.out.println{"输入的成绩不合法,请重新输入"}
        } else {
            System.out.println("您输入的成绩是" + score);
            k++;
        }
    }
    
  • 循环嵌套

    /*☆ ☆ ☆ ☆
    ☆ ☆ ☆ ☆
    ☆ ☆ ☆ ☆
    */
    for (int line = 1;line <= 3;line++ ){
        for (int i = 1;i <= 4;i++){
            System.out.print("☆ ");
        }
        System.out.println();
    }
    /*总结:外层循环控制行数,内存循环控制列数
    双层循环可以解决行列问题
    */
    /*☆ 
    ☆ ☆ 
    ☆ ☆ ☆ 
    ☆ ☆ ☆ ☆
    */
    for (int line = 1;line <= 4;line++){
        for (int i = 1;i <= line; i++){
            System.out.print("☆");
        }
        System.out.println();
    }
    
    
    for (int i = 1;i <= 9;i++){
        for (int j = 1;j <= i;j++){
            System.out.print(j + "×" + i + "=" + i*j + "\t");
        }
        System.out.println();
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值