if和switch的选择

switch结构中存在很多限制,存在这些限制的主要目的是提高多重分支结构的执行效率。因此,如果能够使用switch结构,就不要选择if结构。

无论是使用if结构,还是使用switch结构,应该确保下面3个目标的基本实现:

准确表现事物内在的、固有的逻辑关系。不能为了结构而破坏事物的逻辑关系。

优化逻辑的执行效率。执行效率是程序设计的重要目标,不能为了省事而随意耗费资源。

简化代码的结构层次,使代码更方便阅读。

相对来说,下面几种情况更适合使用switch结构:

枚举表达式的值。这种枚举是可以期望的、平行逻辑关系的。

表达式的值具有离散性,不具有线性的非连续的区间值。

表达式的值是固定的,不是动态变化的。

表达式的值是有限的,而不是无限的,一般情况下表达式应该比较少。

表达式的值一般为整数、字符串等类型的数据。

而if结构则更适合下面的一些情况:

具有复杂的逻辑关系。

表达式的值具有线性特征,如对连续的区间值进行判断。

表达式的值是动态的。

来源

时间: 2024-11-06 12:26:24

if和switch的选择的相关文章

if和switch的选择结构

1. Java中的if选择结构,包括以下形式. *基本if选择结构:可以处理一单一或组合条件的情况. *if-else选择结构:可以处理简单的条件分支情况. *多重if选择结构:可以处理连续区间的条件分支情况. *嵌套if选择结构:可以处理复杂的条件分支情况. 分析: (1)什么是if选择结构: if选择结构是根据条件判断之后再做处理的一种语法结构. (2)语法: if(条件){ 代码块   //条件成立后要执行的代码,可以是一条语句,也可以是一组语句 } 2. 使用if-else选择结构 语法

switch 多重选择

import java.io.File; import java.util.Scanner; import java.io.PrintWriter; class Demo { public static void main(String[] args) throws Exception { Scanner scn=new Scanner(System.in); System.out.println("输入选择:1,2,3"); int swi=scn.nextInt(); switch

java语法基础-程序流程控制-选择结构-switch语句

switch(表达式)  //被选择的表达式的值的数据类型只能是byte short int char { case 取值1: 执行语句: break: case 取值2: 执行语句: break: -... default: 执行语句: break:} switch语句特点: 1.switch语句选择的类型只有四种:byte,short,int , char. 2.备选答案没有顺序.但是执行必然从第一个case执行. 3.只有所有的case不匹配,才会执行default. 4.结束特点:遇到b

switch 语句

switch  case   选择顺序语句.    多选一 结构 : switch () { case "" : break; } 练习:输入几月几号,输出他是今年的第几天 1 int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30; 2 Console.Write("请输入月份:"); 3 int m = int.

SVN switch 用法总结

一直知道SVN有个switch命令,但是对它的介绍教程却很少,大多是生硬的svn帮助文档里的文字,从而一直不怎么会用.今天看了这篇文章,突觉豁然开朗,整理下来以备查阅. 使用SVN,自然是需要与别人合作开发才能体现出作用.两个人如果都在trunk上工作,那么每次提交时都要保证代码的正确性,否则自己提交一个bug百出的版本,对方一更新就挂了,所以提交时都要很谨慎.但我觉得应该有人会像我一样有这样的强迫症,文件做点小修改就想提交到服务器上去,唯恐自己将来哪里修改失败而万劫不复.抑或为了备份考虑或者有

JAVA-初步认识-第三章-语句-switch

一. 概述 可以将if语句的判断结构看成判断题,将switch的选择结构看成选择题.判断题两个结果选择一个,选择题的选项就比较多了. 对Switch的初步认识:Switch和if的区别,除了一个是选择,一个是判断外,在运算的控制还有一个显著的区别,Switch是对众多的选项都进行了测试,不同于if有一个判断应验就退出的操作. 二. 对Switch的认识 Switch作为一个比较复杂的语句,里面涉及到的关键字比较多,有这么四个,switch,case,break,default. →上图注解:无论

javascript switch..... case

switch(条件表达式) { case 常量: { 语句a; } break; case 常量: { 语句b; } break; case 常量: { 语句c; } break; ... case 常量: { 语句f; } break; default: { 语句n; } } 1 当"表达式"的值与某个case后面的常量相等时,就执行常量后面所执行的语句,之后跳出switch分支选择语句,当所有的case后面的常量都不符合"表达式"时,执行default后面的语句

语句(switch case)

/* C#:语句     判断,循环,形成循环的分支和循环 选择控制:if    else,     switch    case 选择控制:while,do,for.foreach 跳转语句:break,continue 异常处理:try,catch,finally */            /* int casezhi = 1; switch (casezhi)    //小括号内是一个数据类型的值 {                 //case 后面加空格,之后写上跟小括号内对应类型的

SVN switch 用法详解 (ZZ)

SVN switch 用法详解 (ZZ)  http://www.cnblogs.com/dabaopku/archive/2011/05/21/2052820.html 确实,以前不会用switch之前,就像文中提到的那样,先把trunk merge进branch,提交branch,再把branch merge进trunk,是很安全,很少会产生什么冲突,但是有点太麻烦了. switch的危险在于,如果switch之后常常忘记哪些文件是switch过的,需要查看文件的属性或者看revision