JAVA入门级教学之(switch语句)

/*
     关于switch语句(我称为匹配语句):
        1.switch语句也属于选择结构,也是分支语句
        2.switch语句的语法结构:
            一个比较完整的switch语句应该这样编写:
//case有匹配的意思,相当于拿数据匹配,拿数据匹配
//case穿透现象,意思是当break不存在的时候,即使第一个不匹配,也会一直按顺序往下面匹配,直到遇见break;跳出结构体

        switch(int和String类型的字面值或变量){
            case int和String类型的字面值或变量:
                            Java语句;
                            Java语句;
                            break;
            case int和String类型的字面值或变量:
                            Java语句;
                            Java语句;
                            break;    
            default:
                            java语句;

        }

3.switch语句的执行原理:
    switch后面小括号中的"数据"和case后面的"数据"进行一一匹配,匹配成功的分支执行。

4.匹配成功的分支执行,分支中最后面有"break;"语句的话,整个switch语句都会终止。

5.匹配成功的分支执行,分支当中没有"break;"语句的话,直接进入下一个分支执行(不进行匹配的时候),
  这种现象被称为case穿透现象【意思是提供break;语句可以避免穿透】

6.所有分支都没有匹配成功,当有default的语句,会执行default分支当中的程序。

7.switch后面括号内和case后面只能是int或者是String类型的数据,不能是探测其它类型的数据。
    
    *当然byte,short,char也可以直接写在switch和case后面,因它们可以进行自动类型转换。
        
    *JDK6低版本的,switch和case后面只能探测int类型。

8.case可以合并
    
    int i=10;
    switch(i){
        case 1:case2:case3:case10:
    }
*/

public class switch01
{public static void main(String[] args){
/*数值类型错误,大容量向小容量转换需要强制转换
//编译报错long a=10L;int b=a;long x=10L;switch(x){}        
*///解决编译报错
//实际上是进行一次强制转换
long x=100L;
switch((int) x){}//同样
byte b=10;
switch(b){}short s=10;
switch(s){}//string类型
String uesrname="zansan";
swtich(username){}//关于case穿透
/*
需求:接受用户的输入
1表示星期一,以此类推
*/java.util.Scanner s=new java.util.Scanner(System.in);
System.out.print("请输入数字");
int num=s.nextInt();
switch(num){
case 1:System.out.println("星期一");break;//当break;不存在的时候,输入1,会显示星期一和星期二//虽然输入1没有匹配下面的2,但是会执行2
case 2:System.out.println("星期二");break;    
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;
default;System.out.println("对不起,您输入的数字错误");
}//switch确实可以探测String类型,这是java7的新特性//例如:
java.util.Scanner s=new java.util.Scanner(System.in);System.out.println("请输入今天星期几");String dayWeek=s.next();//从此处检测switch(dayWeek){case"星期一":System.out.println(1);
case"星期二":System.out.println(2);
case"星期三":System.out.println(3);
default:System.out.println("不合法");}//用switch实现计算机中的+-* /%
/*实现思路:1.选择所有数据从键盘输入2.使用switch语句进行判断3.需要从控制台输入三次:*第一个数字*运算符*第二个数字最终在控制台上是这样的一个场景:欢迎使用计算机请输入第一个数字:10请输入运算符:+-* / %请输入第二个数字:20运算结果:10+20=30*/
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.println("请输入第一个数字");
int a=s.nextInt();
System.out.println("请输入一个运算符");
String b=s.next();
System.out.println("请输入第二个数字");
int c=s.nextInt();int result=0;switch(b){case "+":result=a+c;break;case "-":result=a-c;break;case "*":rusult=a*c;break;case "/":result=a/c;break;case "%":result=a%c;break;default:System.out.println("输入非法");System.out.println("运算结果:"+a+b+c+"="+result);}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java实现验证码图片_java实现验证码图片

1 packagesip.utils;2 importjava.awt.Color;3 importjava.awt.Graphics2D;4 importjava.awt.geom.AffineTransform;5 importjava.util.Random;67 /**8 * 验证码图片生成器9 *10 *authorWuZhengFei11 *12 */13 public classIdentityCode {14 /**15 * 验证码图片的宽度。16 */17…

JAVA入门级教学之(for循环)

/* 1.循环结构: 在程序中有一些代码段需要重复执行,假如没有循环结构, 就需要重复写代码。 将来把需要反复执行的代码片段放到"循环",再联合计数器,共同控制这段需要反…

如何做推荐系统 java_Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统

今天大部分时间都在写业务代码,然后算是从无到有的配置了下spring与mybatis的集成。SpringMVCMybatis Web开发流程配置数据源在applicationContext.xml中引入数据源的配置:在spring-my-datasource.xml中配置数据源相关的内容:配置完成后&…

JAVA入门级教学之(while循环语句)

/* while循环语句: 1.while(布尔表达式) { 循环体; } 2.while循环的执行原理: 先判断布尔表达式的结果: *true …

JAVA入门级教学之(do...while循环)

/* do...while: 1.do...while循环的语法结构: do{ 循环体; }while(布尔表达式); 2.do...while循环的执行原理: 3.do...while循环的执行次数: …

java 接口表单提交_Java http 调用接口提交表单以及文件

Java HttpURLConnection 使用/****/package com.demo.java;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnectio…

JAVA入门级教学之(break跳出)

/* 关于java控制语句中的break语句: 1.break是java语言中的关键字,被翻译为"中断/折断" 2.break";"可以成为一个单独完整的java语句; 3.break语句使用在switch语句中,用来终结swit…

java 文件通道_Java NIO(四)文件通道

文件通道通道是访问I/O服务的导管,I/O可以分为广义的两大类:File I/O和Stream I/O。那么相应的,通道也有两种类型,它们是文件(File)通道和套接字(Socket)通道。文件通道指的是FileChannel,套接字通道则有三个&#xff…

JAVA入门级教学之(continue)

/* continue语句: 1.continue表示:继续/下一个的意思 2.continue;也是一个continue关键字加一个分号构成一个单独的完整的java语句, 主要出现循环语句中用来控制循环的执行。 …

java算法实验标尺问题_在codeigniter项目中使用标尺库

我正在尝试将下面链接中可用的标尺库集成到我的codeigniter项目中 .我使用这些链接中给出的步骤安装和配置它 . 但仍然无法使用库中的方法 . 我尝试了库中的示例代码,但它不起作用 . 看起来Ruler库没有得到我的项目,因此方法没有解决 . 寻求帮助以实现这…

JAVA入门级教学之(方法-1)

目录 JAVA入门级教学之(方法-1) 1.以下程序不使用"方法",分析一下程序会存在哪些优缺点? 2.方法的本质:是一段代码片段,可以完成特定功能,可以重复利用 3.注意:方法定义在…

java设计模式初探之装饰者_JAVA设计模式初探之装饰者模式

装饰者模式1、意图: 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。2、适用环境(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责…

JAVA入门级教学之(方法-2)

/* 关于方法调用 -1.方法的修饰符列表中有static关键字,完整的调用方法是:类名.方法名(实参列表); -2.对于方法的修饰符列表中有static关键字的,"类名."可以省略不写 -3.对于在类外的方法调用,就必须使…

JAVA入门级教学之(方法-题-3)

/*分析以下程序的输出结果: *方法体内自上而下执行 *main方法开始main 方法结束*/public class method03 {public static void main(String[] args){System.out.println("main begin");m1();System.out.println("main over");}public static vo…

redis在java中的方法_redis在java中的使用方法

Redis是key-value方式储存数据的内存数据库。下载后解压,redis-server.exe是redis服务,启动之后就可以使用redis。redis-cli.exe是客户端,可以访问本地或远程的redis。redis-cli.exe -h 127.0.0.1 -p 6379 命令行命令。修改-h后的ip…

JAVA入门级教学之(方法-4)

/* 方法的返回值类型不是void的时候 1.要求方法必须保证百分百的执行"return 值;"这样的语句来完成值的返回 *没有这个语句编译器会报错 2.一个方法有返回值的时候,当我们调用这个方法的时候,方法返回了一个值&…

Java写一个快速排序_快速排序java实现

1.快速排序的思想快速排序属于交换排序,是冒泡排序的升降版。相对于冒泡排序而言,快速排序增大了记录比较和移动的距离,将关键字较大的记录直接移动到后面,将关键字较小的记录直接移动到前面;不再是相邻两个记录依次进…

JAVA入门级教学之(方法-调用-5)

/* 方法调用的时候实参和形参要求个数对应相同,数据类型对应相同 -类型不同的时候要求能够进行相应的自动类型转换 */ public class method05 {public static void main(String[] args){//编译错误,参数数量不对//method05.sum();//编译报…

JAVA实现命令助手_samples/简单语音编程,将手机打造成智能助手.md · javalovercn/HomeCenter - Gitee.com...

## 开发 语音小助手让我们用不到50行代码来开发一个跨平台语音生活助手(可运行于iPhone和Android),它会回答以下类似问题:1. “讲个笑话”,2. “什么是月季”,3. “今天北京到上海的火车”,4. “明天农历”&#xff0c…

JAVA入门级教学之(方法-6)

/* 深入return语句 *带有return关键字的java语句只要执行,所在的方法执行结束。 *在"同一个作用域"中,return语句下面不能编写任何代码,因为 这些代码永远执行不到。所以编译报错 */ public class method06…