栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

java程流程控制--分支结构switch-case

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java程流程控制--分支结构switch-case

文章目录
    • 1.switch-case
    • 2.练习
      • 1.使用switch-case把小写类型的char转换为大小写。只转换a,b,c,d,e, 其他的输出other
      • 2.对学生成绩大于60分的,输出”合格“,低于60分的,输出“不合格”
      • 3.根据用于指定月份,打印该月份所属的季节,3,4,5春季6,7,8夏季,9,10,11秋季,12,1,2冬季
      • 4.编写程序,从键盘上输入2019年的“month”和day,要求通过程序输出输入的日期为2019年的第几天
      • 5.从键盘上分别输入年、月、日,判断这一天是当年的第几天

1.switch-case
switch(;表达式){
 case 常量1:
        执行语句1;
        break;(根据实际情况添加)
 case 常量2;
        执行语句2;
        break;(根据实际情况添加)
        default;
        breat;


}

说明:
1)根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。
2)break ,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
3)switch结构中的表达式,只能是如下的6种数据类型之一:byte、short、int、char、枚举类型(jdk1.5新增)、String类型(jdk1.7新增)
4)case只能声明常量,不能声明范围。
5)break关键字是可选
6)default关键字相当于if-else中的else,default是可选,位置是灵活的

 class SwitchCase{
     public static void main(String[] args){
            int number=2;
switch(number){
  case 0:
   System.out.print("zero");
  case 1:
   System.out.print("one");
case 2:
   System.out.print("two");
case 3:
   System.out.print("three");
default:
  System.out.print("default");


}


}





}

 class SwitchCase{
     public static void main(String[] args){
            int number=1;
switch(number){
  case 0:
   System.out.print("zero");
   break;
  case 1:
   System.out.print("one");
   break;
case 2:
   System.out.print("two");
   break;
case 3:
   System.out.print("three");
break;
default:
  System.out.print("default");
break;


}


}





}

2.练习 1.使用switch-case把小写类型的char转换为大小写。只转换a,b,c,d,e, 其他的输出other

提示:String wold=scan.next():
char c=word.charAt(0);
switch©{

}
小写比大写多32

import java.util.Scanner;
public class  SwitchTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入a~e的小写字母:");
        String word= sc.next();
        char c= word.charAt(0);//读取第1个字符并强制转换为char类型
        switch(c){
            case 'a':
                System.out.println(c -= 32);
                break;
            case 'b':
                System.out.println(c -= 32);
                break;
            case 'c':
                System.out.println(c -= 32);
                break;
            case 'd':
                System.out.println(c  -= 32);
                break;
            case 'e':
                System.out.println(c -= 32);
                break;
            default:
                System.out.println("other");
        }
        }
    }

注意:1) 读取第一个字符转换为char类型 char c=word.charAt(0);
2) 小写比大写多32

2.对学生成绩大于60分的,输出”合格“,低于60分的,输出“不合格”
import java.util.Scanner;//
class TestSwsitch2{
    public static void main(String[] args){
    Scanner s = new Scanner(System.in);//
    System.out.println("请输入您的成绩");//
    int score= s.nextInt();
  
    switch(score/10){
       case 0:  
       System.out.println("不及格");
        case 1:
        System.out.println("不及格");
        break;
          case 2:
        System.out.println("不及格");
          case 3:
    System.out.println("不及格");
          case 4:
       System.out.println("不及格");
          case 5:
      System.out.println("不及格");
          case 6:
        System.out.println("及格");
          case 7:
    System.out.println("及格");
          case 8:
        System.out.println("及格");
          case 9:
        System.out.println("及格");
          case 10:
        System.out.println("及格");
        break;
        default:
        System.out.println("输入有误");
        break;
    }
    }
}
import java.util.Scanner;//
class TestSwsitch2{
    public static void main(String[] args){
    Scanner s = new Scanner(System.in);//
    System.out.println("请输入您的成绩");//
    int score= s.nextInt();
  
    switch(score/60){
        case 0:
        System.out.println("不及格");
        break;
        case 1:
       System.out.println("及格");
        break;
        default:
        System.out.println("输入有误");
        break;
    }
    }
}

考虑:分数除以10,60后case的分类

3.根据用于指定月份,打印该月份所属的季节,3,4,5春季6,7,8夏季,9,10,11秋季,12,1,2冬季
import java.util.Scanner; 
public class TestSwsitch3{
    public static void main(String[] args){
       Scanner sc = new Scanner(System.in);
        System.out.print("请输入月份:");      
         int month = sc.nextInt();
                switch(month){
                    case 3 : 
                    case 4 : 
                    case 5 :
                        System.out.println(month + "月为春季");
                    break;
                    case 6 : 
                    case 7 : 
                    case 8 :
                        System.out.println(month + "月为夏季");
                    break;
                    case 9 : 
                    case 10 : 
                    case 11 :
                        System.out.println(month + "月为秋季");
                    break;
                    case 12 :
                    case 1 : 
                    case 2 :
                        System.out.println(month + "月为冬季");
                    break;
                    default :
                        System.out.println("输入月份错误!");

                }

}

}
4.编写程序,从键盘上输入2019年的“month”和day,要求通过程序输出输入的日期为2019年的第几天
import java.util.Scanner;
class SwitchTest02{
    public static void main(String[] args){
         Scanner sc=  new Scanner(System.in);
          System.out.println("请输入2019的月:");
        int month = sc.nextInt();
          System.out.println("请输入日:");
        int day = sc.nextInt();

        int sumDays = 0;
         
        switch (month){
            case 12: 
        sumDays += 30;
            case 11: 
        sumDays +=31;
            case 10:
         sumDays += 30;
            case 9:
         sumDays += 31;
            case 8:
         sumDays += 31;
            case 7:
          sumDays += 30;
            case 6:
          sumDays += 31;
            case 5:
          sumDays += 30;
            case 4:
          sumDays += 31;
          case 3:
              sumDays += 28;
            case 2:
             sumDays += 31;
            case 1:
          sumDays += day;

}
    system.out.print("2019年"+month+"月"+day+"日是当年的"+sumDays+"天");
        }
}

考虑:
case中的break关键字是可选,此处的逻辑思路是12月份倒着写

5.从键盘上分别输入年、月、日,判断这一天是当年的第几天

注:判断一年是否是闰年的标准
1)可以被4整除,但不可以被100整除或
2)可以被400整除

import java.util.Scanner;
class SwitchTest03{
    public static void main(String[] args){
           Scanner sc=  new Scanner(System.in);
          
         System.out.println("请输入年:");
           int year = sc.nextInt();
         
         System.out.println("请输入月:");
           int month = sc.nextInt();
         
          System.out.println("请输入日:");
           int day = sc.nextInt();

      
                 int sumDays = 0;
         
        switch (month){
            case 12: 
        sumDays += 30;
            case 11: 
        sumDays +=31;
            case 10:
         sumDays += 30;
            case 9:
         sumDays += 31;
            case 8:
         sumDays += 31;
            case 7:
          sumDays += 30;
            case 6:
          sumDays += 31;
            case 5:
          sumDays += 30;
            case 4:
          sumDays += 31;
          case 3:
            if((year%4==0&&year%100!=0)||year%400==0){
          sumDays+=29;
            
        
        }else{
          sumDays+=28;
            
}
            case 2:
             sumDays += 31;
            case 1:
          sumDays += day;

}
System.out.print(year+"年"+month+"月"+day+"日是当年的"+sumDays+"天");

   }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号