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

Day008 选择结构 (switch语句)

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

Day008 选择结构 (switch语句)

           switch选择结构:
              语法结构:
                  switch(表达式){
                      case 常量1:
                          //语句1
                          break;
                      case 常量2:
                          //语句2
                         break;
                      case 常量3:
                          //语句3
                          break;
                      ..........
                      case 常量n:
                          //语句n
                          break;
                      default:
                          //语句m;
                          break;
              }
          执行规律:
                  根据表达式的值去匹配case后面的常量值,匹配上了就执行对应的语句,执行完对应语句后,执行break,结束整个switch结构,继续往下执行switch选择结构之后的代码
                  如果表达式的值与所有的常量值都不匹配,就执行default里面的语句,执行完以后执行break退出整个switch选择结构
        
          注意:
          1)表达式的值可以使int、short、byte、char、枚举类型、String(JDK1.7及以后版本支持)
          2)case后面的常量值不能相同
          3)default语句可以省略不写.如果写上表示表达式的值与所有表达式的值不匹配,就执行default里的语句.default语句可以写在任意位置,一般写在switch的末尾位置
          4)switch选择结构只能处理等值判断问题
          5)break语句的作用是结束整个switch选择结构,如果缺少,代码会继续向下执行,执行下一个case里的语句,这种现象称之为"case穿透现象".case穿透现象可以合理使用

例题

使用switch选择结构实现判断某年某月某日是这一年的第几天?

package cn.bdqn.Demo03;

import java.util.Scanner;

public class practice111 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

int year = sc.nextInt();

// System.out.println("年份是:");

System.out.println("请输入月份:");

int month = sc.nextInt();

// System.out.println("月份是:");

System.out.println("请输入多少天:");

int day = sc.nextInt();

// System.out.println("天数是:");

int sumDay = 0;

// 运用穿透现象,让12月份在最上面,依次向下,避免穿透到底

switch (month) {

case 12:

sumDay += 30;

case 11:

sumDay += 31;

case 10:

sumDay += 30;

case 9:

sumDay += 31;

case 8:

sumDay += 31;

case 7:

sumDay += 30;

case 6:

sumDay += 31;

case 5:

sumDay += 30;

case 4:

sumDay += 31;

case 3:

//润年可以被四整除,不可以被一百整除或者被四百整除

if(year%4==0&&year%100!=0||year%400==0){

sumDay += 29;

}else{

sumDay += 28;

}

case 2:

sumDay += 31;

case 1:

//举例:若为6月6日,下式所加即为6,所加的整月有1,2,3,4,5五个月,六月只加了6天

sumDay += day;

// default:

// System.out.println("输入的年月日格式不对");

// break;

}

System.out.println(year+"年"+month+"月"+day+"日"+"是这一年的第"+sumDay+"天");

System.out.println("程序执行到此结束");

sc.close();

}

}

 

 使用switch选择结构判断一个月份属于一年中的那个季节。(春夏秋冬)

package cn.bdqn.Demo03;

public class practice22 {

public static void main(String[] args) {

int month = 9;

// 使用穿透现象

switch (month) {

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;

case 8:

System.out.println("夏季");

break;

case 9:

// System.out.println("秋季");

// break;

case 10:

// System.out.println("秋季");

// break;

case 11:

System.out.println("秋季");

break;

case 12:

// System.out.println("冬季");

// break;

case 1:

// System.out.println("冬季");

// break;

case 2:

System.out.println("冬季");

break;

default:

System.out.println("月份输入错误");

break;

}

System.out.println("程序执行完毕");

}

}

 

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

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

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