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. [原创]K8uac bypassUAC(Win7/Wi8/Win10) 过46款杀软影响所有Windows版本

    [原创]K8uac bypassUAC(Win7/Wi8/Win10) 过46款杀软影响所有Windows版本 工具: k8uac编译: VC++ 作者:K8哥哥发布: 2018/11/25 1:30 ...

  2. 怎么让Word形状里的文字上下左右居中

    怎么让Word形状里的文字上下左右居中? 第一:左右居中,用段落居中方法: 第二:上下居中,选定图形,单击鼠标右键并选择“设置形状格式”,在选项卡的“文本框”中,选择中部对齐 效果图:

  3. yum install --downloadonly 下载依赖包研究

    在CentOS中可以使用yum自动安装软件,在离线环境中却行不通. Linux localhost 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 U ...

  4. less用法小结

    1,采用koala进行编译,可以实时地在vscode这样的工具中看到less到css的转换: 2,均支持/**/以及//两种形式的注释,由于后期维护是维护less,因此推荐使用后者,因为后者不会被编译 ...

  5. 设置Firefox(火狐)浏览器的中文菜单/界面

    步骤一: 设置Firefox浏览器的中文菜单/界面.首先需要查一下正在使用的火狐版本号(小生使用的火狐版本是55.0.3).      步骤二: 下载对应版本的xpi中文插件 其次,访问下面的火狐官方 ...

  6. MFC控件编程之组合框跟列表框

    MFC控件编程之组合框跟列表框 一丶简介 如果要使用组合框跟列表框.那么就要知道.组合框列表框是最核心的东西就是索引. 索引是从0开始的. 二丶组合框列表框常用的方法 AddString(字符串) 添 ...

  7. MySQL中间件之ProxySQL(14):ProxySQL+PXC

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+PXC 本文演示ProxySQL代理PXC(Pe ...

  8. spark之scala程序开发(集群运行模式):单词出现次数统计

    准备工作: 将运行Scala-Eclipse的机器节点(CloudDeskTop)内存调整至4G,因为需要在该节点上跑本地(local)Spark程序,本地Spark程序会启动Worker进程耗用大量 ...

  9. java实现带空格字符串的倒序输出

    import org.junit.Test; public class StringtoChar { @Test public void main(){ String str ="hello ...

  10. Java核心技术 对象与类

    对象与对象变量: 要想使用对象,就必须首先构造对象,并指定其初始状态,然后,对对象应用方法. 在Java中,使用构造器构造新实例.构造器是一种特殊的方法,用来构造并初始化对象. 在实际开发中,通常需要 ...