热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javaswitch,javaswitch怎么用

本文目录一览:1、javaswitch语法特点

本文目录一览:


  • 1、java switch语法特点


  • 2、java中switch的用法


  • 3、java中switch语句


  • 4、java switch语句有哪些?


  • 5、java switch语句是什么意思?

java switch语法特点

switch语句特点:

1、switch语句选择的类型只有四种:byte,short,int,char。

2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。

3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。

4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇

到break或者switch结尾结束。

5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case

上面,执行顺序也不变。

for语句特点

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句;(循环体)

}

for里面的三个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行

循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

for循环的初始化表达式、循环后的操作表达式可以是多个表达式,通过逗号分隔。

例如:

for(inta=1,b=2;a2b3;a++,b++){

}

java中switch的用法

java中switch的用法

首先从原理上来阐述这个问题:

switch(表达式)

{

case 常量表达式1:语句1;

....

case 常量表达式2:语句2;

default:语句;

}

1.default就是如果没有符合的case就执行它,default并不是必须的.

2.case后的语句可以不用大括号.

3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.

4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.

原理归原理,下面是几个容易混淆的例子.

1.标准型(case后面都有break语句)

int i=3;

switch(i)

{

case 1:

System.out.println(1);

break;

case 2:

System.out.println(2);

break;

case 3:

System.out.println(3);

break;

default:

System.out.println("default");

break;

}

输出结果:

3

2.特殊型1(不是完全有break语句,可以完成一些特殊应用)

int year=2005;

int mOnth=3;

int day;

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day=31;

break;

case 2:

day=28;

break;

case 4:

case 6:

case 9:

case 11:

day=30;

break;

}

这里 day=31;

3.特殊型2(default的位置)

int i=1;

switch(i)

{

case 1:

System.out.println(1);

default:

System.out.println("default");

case 2:

System.out.println(2);

break;

case 3:

System.out.println(3);

break;

}

输出结果:

1

default

2

java中switch语句

switch 语句的格式:

 

switch ( 整型或字符型变量 )

{

 case 变量可能值1 :

  分支一;

 break;

case 变量可能值2 :

  分支二;

 break;

case 变量可能值3 :

  分支三;

 break;

...

default :

最后分支;

 

在 switch 的语法里,我们要学到4个关键字:switch、case 、break、default。

 

在 switch ( 变量 ) 这一行里,变量只能是整型或字符型。程序先读出这个变量的值,然后在各个"case"里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的分支,直到碰上break或者switch语句结束。

 

 

了解一下switch,case,break,default的意思,对理解前面的一切也会有帮助,它们分别是:开关,情况,中断,默认(值)。那么用一句话套起来的说法就是:根据开关值的不同,执行不同的情况,直到遇上中断;如果所有的情况都不符合开关值,那么就执行默认的分支。

 

最后说一下关于switch中非常重要的几个注意点。

 

第一、switch ( 整型或字符型变量 ) 中,变量的类型如文中所标,只能是整型和字符类型。它们包含 int,char。当然无符类型或不同的长度整型(unsigned int,short,unsigned char)等都可以。另外,枚举类型(enum)内部也是由整型或字符类型实现。所以也可以。实型(浮点型)数就不行,如:

float a = 0.123;

switch(a) //错误!a不是整型或字符类型变量。

{

....

}

 

第二、case 之后可以是直接的常量数值,如例中的1、2、3、4,也可以是一个使用常量计算式,如2+2等,但不能是变量或带有变量的表达式,如 a * 2等。当然也不能是实型数,如4.1,或2.0 / 2 等。

switch(formWay)

{

case 2-1 : //正确

...

case a-2 : //错误

...

case 2.0 : //错误

...

}

另外,在case 与常量值之后,需要一个冒号,请注意不要疏忽。

 

第三、break 的作用。

break 使得程序在执行完选中的分支后,可以跳出整个switch语句(即跳到switch接的一对{}之后),完成switch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的break或者switch完成。

比如,假设现在程序进入case 1: 中的分支,但case 1 的分支这回没有加break:

 

case 1 :

System.out.println("您是通过搜索引擎来到本网站的。");

case 2 :

System.out.println("您是通过朋友介绍来到本网站的。");

 

那么,程序在输出 "您是通过搜索引擎来到本网站的。" 之后,会继续输出case 2中的 "您是通过朋友介绍来到本网站的。" 。

请大家将前面实例中的代码片段改为如下(红色部分,即将所有的break都通过加//使之无效。):

...

case 1 :

System.out.println("您是通过搜索引擎来到本网站的。" );

//break;

case 2 :

System.out.println("您是通过朋友介绍来到本网站的。");

//break;

case 3 :

System.out.println("您是通过报刊杂志来到本网站的。");

//break;

case 4 :

System.out.println("您是通过其它方法来到本网站的。");

//break;

default :

System.out.println("错误的选择!请输入1~4的数字做出选择。");

...

 

运行后,结果会是如何?请大家动手试试,然后在作业中回答我。

 

第四、default是可选中,前面我们已经说过它的用处,及如果没有default,程序在找不到匹配的case分支后,将在switch语句范围内不做什么事,直接完成switch。大家也可以在实例中将default的代码注释掉,然后试运行,并且在选择时输入5。

...

//default :

//cout "错误的选择!请输入1~4的数字做出选择。" endl;

...

 

第五、必要时,可在各个case中使用{}来明确产生独立的复合语句。

前面我们在讲if...语句和其它流程控制语句时,都使用{}来产生复合语句:

if (条件)

{

分支一;

}

除非在分支中的语句正好只有一句,这里可以不需要花括号{}。但在switch的各个case语句里,我们在语法格式上就没有标出要使用{},请看:

switch ( 整型或字符型变量 )

{

 case 变量可能值1 :

  分支一;

 break;

case 变量可能值2 :

....

}

 

一般教科书上只是说 case 分支可以不使用{},但这里我想提醒大家,并不是任何情况下case分支都可以不加{},比如你想在某个case里定义一个变量:

switch (formWay)

{

case 1 :

int a=2; //错误。由于case不明确的范围,编译器无法在此处定义一个变量。

...

case 2 :

...

}

 

在这种情况下,加上{}可以解决问题。

switch (formWay)

{

case 1 :

 { 

int a=2; //正确,变量a被明确限定在当前{}范围内。

...

 } 

case 2 :

...

}

java switch语句有哪些?

java switch语句有哪些如下:

Scanner input = new Scanner (System.in)。

int temp=0。

System.out.println("请输入等级:")。

String a = input.next()。

if(a.equals("优秀")){。

temp=0。

}else if(a.equals("中等")){。

temp=1 }。

switch (temp) {。

case 0。

System.out.println("100")。

break。

case 1。

System.out.println("80")。

break。

default。

编程工具:

Eclipse:一个开放源代码的、基于Java的可扩展开发平台。

NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。

IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。

MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。

EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。

java switch语句是什么意思?

switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

switch(t),t的值貌似只有几类,只能是char或者int。根据t的值不同,选择不同的case语句,比如t==10的时候,会寻找case 10: 对应10的执行语句;break;如果没有case 10则会去执行default:默认的执行语句。

java switch语句如下:

Scanner input = new Scanner (System.in)。

int temp=0。

System.out.println("请输入等级:")。

String a = input.next()。

if(a.equals("优秀")){。

temp=0。

}else if(a.equals("中等")){。

temp=1 }。

switch (temp) {。

case 0。

System.out.println("100")。

break。

case 1。

System.out.println("80")。

break。

default。


推荐阅读
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 这篇文章 | 夕阳下的防火墙命令全解 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 无论是计算机专业学生还是非计算机专业的学习者,在掌握C语言的过程中可能会遇到诸多挑战,不清楚从何入手。为此,本文系统地梳理了2019年福建省C语言的核心知识点,并结合最新的技术进展进行了详细总结,旨在为初学者提供全面的学习指导。文章不仅涵盖了基础语法和数据结构,还深入探讨了指针、内存管理和算法优化等高级主题,帮助读者快速提升编程能力。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
author-avatar
__-霖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有