package introduction5;

public class SwitchDemo {

    //switch用于固定值的判断,如星期、人的性别
//if用于判断区间、范围,能够用switch进行判断的,if都能判断,反之则不然 //案列:返回月份天数
static int numOfDay(int year,int month) {
int numDay = 0;
switch (month) {
case 1:
numDay = 31;
//break的作用:如果满足当前条件,就返回numDey的值,跳出switch循环语句,其它的选项都不执行
break;
case 2:
//因为闰年的2月是29天,所以此处需要加if进行判断
//闰年:
//能被4整除且不能被100整除或能被400整除,则判断为闰年,输出天数为29天
if(year%4==0&&year%100!=0||year%400==0) {
numDay = 29;
}
//否则为平年,天数输出为28天
else {
numDay = 28;
}
break;
case 3:
numDay = 31;
break;
case 4:
numDay = 30;
break;
case 5:
numDay = 31;
break;
case 6:
numDay = 30;
break;
case 7:
numDay = 31;
break;
case 8:
numDay = 31;
break;
case 9:
numDay = 30;
break;
case 10:
numDay = 31;
break;
case 11:
numDay = 30;
break;
case 12:
numDay = 31;
break;
/*default:相对于if语句中的else,如果输入的数字不在1~12之间(以上所有条件都不满足),
* 那么就执行default,输出“无效的月份”。
*/
default:
{
System.out.println("无效的月份");
break;
}
}
return numDay;
}
public static void main(String[] args) {
int numDey = numOfDay(78, 30);
//如果给定的月份不在1~12之前,那么打印的结果为“0”
System.out.println("给定年和月里面的天数是:"+numDey);
}
}

自己练习:

package introduction;

import java.time.temporal.WeekFields;

public class Demo {
public static String OfWeek(int number) {
/*
* 自己练习时错误:
* 1、忘记在每个case后面加break关键字。
* 2、不知道怎么在主方法中调用写完的程序,
* 自己调用的方式是先实例化再调用,实际有更简单的方式去验证调用
* 3、default部分需要用大括号括起来
*/
String week = "";
switch(number) {
case 1:
week = "星期一:Monday";
break;
case 2:
week = "星期二:Tuesday";
break;
case 3:
week = "星期三:Wednesday";
break;
case 4:
week = "星期四:Thursday";
break;
case 5:
week = "星期五:Friday";
break;
case 6:
week = "星期六:Saturday";
break;
case 7:
week = "星期日:Sunday";
break;
default:
{
System.out.print("请输入1~7之间的有效数字,");
break;
}
}
return week;
} public static void main(String[] args) {
String week = OfWeek(9);
System.out.println("给定的数字代表:"+week);
}
}

章节四、2-Switch语句的更多相关文章

  1. C#学习笔记(四):switch语句

    条件语句 switch语句快速生成枚举方法,复制枚举名在switch()里,双击TAB 快速生成方法,用纠错功能 随机数 using System; using System.Collections. ...

  2. Java中简单的操作(if语句、常用操作符、switch语句、变量赋值等)

    ---------------------if语句介绍--------------------------------------------------- class IfDemo { public ...

  3. 透过IL看C#:switch语句(转)

    透过IL看C# switch语句(上) 摘要: switch语句是 C#中常用的跳转语句,可以根据一个参数的不同取值执行不同的代码.本文介绍了当向 switch语句中传入不同类型的参数时,编译器为其生 ...

  4. goto语句 switch语句

    goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...

  5. C和指针 (pointers on C)——第四章:语句(上)

    第四章--语句(上) 总结总结!!! C没有布尔类型,所以在一些逻辑推断时候必须用整型表达式,零值为假,非零值为真. for比while把控制循环的表达式收集起来放在一个地方,以便寻找. do语句比w ...

  6. 1203.2——条件语句 之 switch语句

    用 if else 语句在处理多分支的时候,分支太多就会显得不方便,且容易出现 if 和 else配对出现错误的情况.例如,输入一个整数,输出该整数对应的星期几的英文表示: #include < ...

  7. 逆向随笔 - switch 语句深入分析

    switch case 语句在c语言里还是比較简单的.可是被编译出来之后,优化结果往往让人非常疑惑.全然看不懂,以下我们一次次的尝试,看看编译器究竟把switch语句变成什么样了.   ① 先上个最简 ...

  8. java基础2 判断语句:if ... else 语句和 switch 语句

    一.if ... else 判断语句 1.if ... else 判断语句的格式 1.1.格式一 if(判断条件){ 执行不满足条件的语句 } 1.2.格式二 if(判断语句){ 满足条件的语句 }e ...

  9. C语言switch语句

    C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的星期几的英 ...

随机推荐

  1. 使用maven插件构建docker镜像

    为什么要用插件 主要还是自动化的考虑,如果额外使用Dockerfile进行镜像生成,可能会需要自己手动指定jar/war位置,并且打包和生成镜像间不同步,带来很多琐碎的工作. 插件选择 使用比较多的是 ...

  2. vue项目 使用Hbuilder打包app 设置沉浸式状态栏

    使用 Hbuilder新建好移动app项目后,mainfest.json这个文件里的 plus里设置 statusbar ..... "plus": { "statusb ...

  3. [WebKit内核] JavaScriptCore深度解析--基础篇(一)字节码生成及语法树的构建

    看到HorkeyChen写的文章<[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现>,写的很好,深受启发.想补充一些Horkey没有写到的 ...

  4. 飞跃式发展的后现代 Python 世界

    飞跃式发展的后现代Python世界 如果现代Python有一个标志性特性,那么简单说来便是Python对自身定义的越来越模糊.在过去的几年的许多项目都极大拓展了Python,并重建了“Python”本 ...

  5. 分布式系统监视zabbix讲解八之自动发现/自动注册--技术流ken

    自动发现(LLD) 概述 自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网 ...

  6. iOS UITextfield只允许输入数字和字母,长度限制

    -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementSt ...

  7. 使用LayoutInflater添加一个布局引用

    LayoutInflater 与 xml 的<include/>的区别,至今没搞清楚,下面记录一下LayoutInflater引用一个布局并立即显示呈现的方法: private void ...

  8. mysql双主+keepalived

    环境 OS: centos7Mysql 版本: mysql 5.7Keepalived: keepalived-1.2.20Mysql-vip:192.168.41.100Mysql-master1: ...

  9. 【Java每日一题】20170207

    20170206问题解析请点击今日问题下方的“[Java每日一题]20170207”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...

  10. springboot调优

    application.properties server.tomcat.max-connections=0 # Maximum number of connections that the serv ...