java基础(六) switch语句的深入解析】的更多相关文章

引言   switch 语句是非常的基础的知识,掌握起来也不难掌握,语法比较简单.但大部分人基本是知其然,不知其所以然.譬如 早期JDK只允许switch的表达式的值 int及int类型以下的基本类型,后期的JDK却允许匹配比较 字符串.枚举类型,这是怎么做到的呢?原理是什么?本文将深入去探索. 一.switch 介绍 switch 语法格式: switch (表达式) { case 常量表达式或枚举常量: 语句; break; case 常量表达式或枚举常量: 语句; break; .....…
代码: import java.util.Scanner; /* * switch语句格式: * switch(表达式) { * case 值1: * 语句体1; * break; * case 值2: * 语句体2; * break; * ... * default: * 语句体n+1; * break; * } * 格式解释: * 表达式:byte,short,int,char * JDK5以后可以是枚举 * JDK7以后可以是字符串 * case:就是要和表达式进行比较的值 * break…
不得不说的几点小秘密: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case 后面的值可以是常量数值,如 1.2:也可以是一个常量表达式,如 2+2 :但不能是变量或带有变量的表达式,如 a * 2 3. case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 4. 可以把功能相同的 case 语句合并起来,如 case 1: case 2: System.out…
Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型…
一.if ... else 判断语句 1.if ... else 判断语句的格式 1.1.格式一 if(判断条件){ 执行不满足条件的语句 } 1.2.格式二 if(判断语句){ 满足条件的语句 }else{ 执行不满足条件的语句 } 1.3.格式三 if(判断条件1){ 满足条件语句1 }else if(判断条件2){ 满足条件语句2 }else if(判断条件3){ 满足条件语句3 }..........else{ 执行不满足条件的语句 } 2.举例 2.1.格式一 题目:提示用户输入一个人…
Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: while 循环 do…while 循环 for 循环 在Java5中引入了一种主要用于数组的增强型for循环. while 循环 while是最基本的循环,它的结构为: while( 布尔表达式 ) { //循环内容 } 只要布尔表达式为 true,循环就会一直执行下去. 实例 Test.java 文件…
一 前言 周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了.基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者理解并且知识体系齐全觉得文章不错的可以关注一下作者.控制流程语句的概念其实作者感觉是从工程流程图里面转换过来的,比如是非选择啊,循环执行啊之类都可以用流程图来讲述咯!!!!!! 二 if - else 语句 2.1 if -else if (如果)- else(否则) 在之前的基础系列三元运算符中有…
一.While循环语句 1.格式 while(条件表达式){ 执行语句: } 2.要点 1,先判断后执行 2,循环次数不定 3,避免死循环 3.举例 题目1:输出0-100之间的所有数 class Demo3 { public static void main(String[] args){ //输出0-100之间的所有数 int i=1; while(i<100){ System.out.println(i); i++; } } } 题目2:猜数字游戏 public static void m…
继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for. (5)Java循环语句之while 语法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=&qu…
switch 语句是单条件多分支的开关语句,它的一般格式定义如下(其中break语句是可选的): switch(表达式) { case 常量值: 若干个语句 break; case  常量值: 若干个语句 break; ... case  常量值n: 若干个语句 break; default: 若干语句 } switch语句中的“表达式”和“常量值”的值必须为byte.short.int.char型或者枚举类型,而且互不相同. import java.util.Scanner; public c…
作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=19 当我们在代码逻辑中有多个选项,而且需要为每个选项执行不同的任务时,我们可以使用switch case语句. switch case语句的语法看上去如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 switch (变量或整数表达式) {      case constant:      //Java code      ;    …
switch 语句由一个控制表达式和多个case标签组成. switch 控制表达式支持的类型有byte.short.char.int.enum(Java 5).String(Java 7). switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高. default在当前switch找不到匹配的case时执行.default并不是必须的. 一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break. sw…
在一次做题中遇到了switch的问题,由于对switch执行顺序的不了解,在这里简单的通过字节码的方式理解一下switch执行顺序(题目如下): public class Ag{ static public int i=10; public static void main(String []args){ switch(i){ default: System.out.println("this is default"); case 1: System.out.println("…
if语句: /* if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2: 三元运算符: 好处:可以简化if else代码. 弊端:因为是一个运算符,所以运算完必须要有一个结果. */ class IfDemo { public static void main(String[] args) { int x = 1; if(x>1) { System.out.println("yes"); } else { System.out.println("…
与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实现从内层循环跳出的目的(这种情况C语言采用goto语句实现).另外,Java SE 5.0还添加了一种变形的for循环,在C或者C++中没有这类循环.它有点类似于C#中的foreach循环. 1.块作用域 在学习控制结构之前,需要了解块(block)的概念. 块(即复合语句)是指由一对花括号括起来的…
switch 语句的格式: switch ( 整型或字符型变量 ) { case 变量可能值1 :   分支一; break; case 变量可能值2 :   分支二; break; case 变量可能值3 :   分支三; break; ... default : 最后分支; } 在 switch 的语法里,我们要学到4个关键字:switch.case .break.default. 在 switch ( 变量 ) 这一行里,变量只能是整型或字符型.程序先读出这个变量的值,然后在各个"case…
在JDK1.6的版本中,switch后面的括号里面只能放int类型的值,注意是只能放int类型, 但是放byte,short,char类型的也可以. 是因为byte,short,shar可以自动提升(自动类型转换)为int. 而不能放long型和String型. 而在JDK1.7的版本中,switch中可以使用字串String.但仍不支持long型. String name = "b"; switch(name) { case "b": System.out.pri…
Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码: 示例1: package main import "fmt" func main() { num := 3 switch num { case 1: fmt.Println("按下的是1楼") case 2: fmt.Println("按下的是2楼") c…
XML已经成为一种非常通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. 诸多web应用框架,其可配置的编程方式,给我们的开发带来了非常大程度的便捷,但细细想来,它们的应用无一不是java bean与xml之间的转换解析.本文将对xml的两种操作标准DOM和SAX,从它们各自的特点.适用范围等方面进行简介. DOM (Document Object Model) :DOM标准中,採用W3C标准表示XML,有多重语言支持.因此其跨平台性非常好. 採用DO…
枚举: 刚开始项目中没怎么用过,只知道能够实现作为项目中类似定义Constant的功能,然后知道枚举实现的单例模式几乎是最优雅的,所以, 想要深入完整的了解一下 1.基本特性: Enum.values()可以遍历enum实例.返回的是enum实例的数组 public enum EnumDemo { jesen, kobe, gakki } public static void main(String[] args) { for (EnumDemo demo : EnumDemo.values()…
switch语句使用的注意事项: 多个case后面的数值不可以重复. switch后面的小括当中只能是下列数据类型: 基本数据类型:byte/short/char/int 引用数据类型:String字符串.enum枚举. switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略. “匹配到哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止.” public class CaiNiao{ public static void mian(String[]…
switch(练习) /* if和 switch 语句很像. 具体什么场景下使用什么语句呢? 如果判断的具体数值不多且符合byte.short.int.char.String类型,虽然两个语句都可以使用建议使用switch语句,因为效率稍高 其他情况:对于区间判断对结果为Boolean类型判断使用if,if使用范围更广 */ /* 练习2 :根据用于指定月份,打印该月份所属的季节. 3,4,5 春季 6.7.8 夏季 9.10.11 秋季 12.1, 2 冬季 */ class Test { p…
1. 流程控制 1.1 流程控制语句概述 1.2 流程控制语句分类 1.3 顺序结构 2. if语句 2.1 if语句格式1 适合一种情况的判断 执行流程图: 2.2 if语句格式2 适合两种情况的判断 执行流程图: 2.3 if语句格式3 适合多种情况的判断 执行流程图: 3. switch语句 3.1 switch语句格式和说明 执行流程图: 3.2 案例 穿透现象如下:…
本文将讲解String的几个性质. 一.String的不可变性 对于初学者来说,很容易误认为String对象是可以改变的,特别是+链接时,对象似乎真的改变了.然而,String对象一经创建就不可以修改.接下来,我们一步步 分析String是怎么维护其不可改变的性质: 1. 手段一:final类 和 final的私有成员 我们先看一下String的部分源码: public final class String implements java.io.Serializable, Comparable<…
在谈论到反射这个问题时,你是否有例如以下疑问? 不管是在.NET还是Java中反射的原理和机制是一样的,理解了一种还有一种就能够迎刃而解,想要理解反射首先须要了解底层的一些概念和执行.理解了反射有助于你理解程序的执行原理,眼下非常多框架(java..NET)中都引入了反射这一个技术,反射事实上也不是什么新的技术仅仅是几个不同的操作过程集成到一起关联起来了. 从表面上我们看到的效果是这种:通过传入一个字符串能够得到某个类的对象,在这一个过程中做了非常多事情.你是否有以下的一些疑问存在?      …
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnb…
public class SwitchDemo01 { /** * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励 */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请您输入比赛的名次:"); int…
计算1-100,7的倍数的数的总和 代码如下: public class Demo1 { public static void main(String[] args) { int num=1; int sum=0; while(num<=100){ if (num%7==0){ sum=sum+num; } num++; } System.out.println(sum); }} 运行结果如下: 此乃java语句的基础,其中应注意的是num++语句,不应放在if判断语句中,一版初学者都会犯此类错…
java中的循环: Java中提供了3中循环结构:  while  do-while  for ① 循环结构的作用? 可以不断重复执行循环结构中的代码: ② 上面的3个循环结构功能都是一样的,只是结构不一样: ③ 循环的次数的控制 ④ 多种循环结构的语法以及执行流程: ⑤ 能够区分每一种的特点,知道如何选择 while语法: while(条件){ // 循环体,需要重复做的事情的代码 } 执行流程: 上面的这个循环结构可能会执行n次循环 第一次  : 条件(true) ---> 执行一次循环体:…
浏览以下内容前,请点击并阅读 声明 表达式 表达式由变量,操作符和方法调用组成,表达式的返回值类型由表达式中的元素(如操作符,变量等)决定如: cadence = 0 上述代码将返回一个int类型的值,因为赋值操作符返回一盒和左边操作对象类型相同的数据类型,当然表达式还可以返回其他的类型如boolean类型和String 类型. java中也可组合多个表达式形成一个更为复杂的表达式,如 x + y / 100 // 注意操作符运算优先级 语句 java语句类似于自然语言中的句子,语句是完整的执行…