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. Java使用OkHttps工具类调用外部接口

    前言 现在公司业务已止不是传统的增删改查等简单的业务处理操作,而是对数据各种联调三方接口与其他系统进行交互等,那么就需要我们在后台java中进行外部接口的调用,本文采用OkHttps工具类对接微信接口 ...

  2. deque源码1(deque概述、deque中的控制器)

    deque源码1(deque概述.deque中的控制器) deque源码2(deque迭代器.deque的数据结构) deque源码3(deque的构造与内存.ctor.push_back.push_ ...

  3. C++版 - 剑指offer 面试题16:反转链表(Leetcode 206: Reverse Linked List) 题解

    面试题16:反转链表 提交网址: http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId= ...

  4. HashMap源码之常用方法--JDK1.8

    常用方法 hash(key) static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCo ...

  5. ACM--string常见用法

    在ACM竞赛中,常常需要将读入的数字的每位分离出来,如果采用取余的方法,花费的时间就会太长,这时候,我们可以将读入的数据当成字符串来处理,这样就方便.省时多了.下面这个程序演示了求一个整数各位的和: ...

  6. Java实现敏感词过滤 - DFA算法

    Java实现DFA算法进行敏感词过滤 封装工具类如下: 使用前需对敏感词库进行初始化: SensitiveWordUtil.init(sensitiveWordSet); package cn.swf ...

  7. leetcode — climbing-stairs

    /** * * Source : https://oj.leetcode.com/problems/climbing-stairs/ * * * You are climbing a stair ca ...

  8. Keras 构建DNN 对用户名检测判断是否为非法用户名(从数据预处理到模型在线预测)

    一.  数据集的准备与预处理 1 . 收集dataset (大量用户名--包含正常用户名与非法用户名) 包含两个txt文件  legal_name.txt  ilegal_name.txt. 如下图所 ...

  9. javaScript之变量与数据类型

    http://www.cnblogs.com/yuanchenqi/articles/5980312.html 在了解变量之前,我们首先学习JavaScript的引入方式 JavaScript的引入方 ...

  10. MySQL中字段字符集不同导致索引不能命中

    今天写了一个sql,其中涉及的表中的数据量都差不多为50w左右,查询发现用了8s.这个只是测试服上数据,放到正式服上,肯定一运行就挂了. SELECT Orders. NO, GuidNo, Orde ...