分支结构学习笔记
来源:互联网 发布:同业 知乎 编辑:程序博客网 时间:2024/06/07 14:35
任何人在做选择时,两边同样的优秀时,选择其中之一显得那么困难,以致于出现一个名次叫做,选择困难症。生活中时常遇见。
程序是没有思想的所以在执行程序面前只会按部就班的执行,如果两段相似的程序,只能执行其中一段,按照程序本身的执行规则,两段程序会先后执行,那么这就不是想要的效果了,那么让程拥有选择的能力显得那么有必要,于是分支结构就出现了。
接下来要说的是Java中的几个分支结构,分别是 if、if else 、嵌套if else、 switch。
if判断是最基本的判断语句,开发中也是常用的。下面看下实例:
//if 判断样例
if(i<0){
System.out.println("值:"+i);
}
解析:该语句表示,当i值小于0时,执行输出i值。也就是当表达式满足时,才执行判断结构里面的程序。
语法:if(布尔表达式){//执行语句}
遇到二选一时,我们还可以配合else使用
下面再看if else实例:
//if else 判断样例
if(i<0){
System.out.println("值:"+i);
}else{
System.out.println("值:"+i+1);
}
解析:以上语句表示,当i值小于0时输出i值,否则当i大于0时,输出i+1的值。
语法:if(布尔表达式){//执行语句}else{//执行语句}
有时我们可能需要不止两个选择,可能是三个或者四个,控制选择的条件,也不止一个,那么下面实例同样可以做到:
if( i < 0 ){
System.out.println("值:"+i);
}else if( i == 0 ){
System.out.println("值:"+i+1);
}else{
System.out.println("值:"+(i-1));
}
解析:以上程序表示,第一个表达式成立时,也就是i值小于0时,输出i值,当第二个表示成立时,也就是i值等于0时,输出i+1的值,否都输出i-1的值。
此种写法相比而言比较繁琐,如果条件较多不建议使用。
有时候我们需要在选择一次后还要在进行选择时,这就用到了我们的嵌套分支,来看下面的实例:
//嵌套分支样例
if( i < 0 ){
if( i == 0 ){
System.out.println("值:"+i+1);
}else{
System.out.println("值:"+i*1);
}
System.out.println("值:"+i);
}else{
System.out.println("值:"+(i-1));
}
解析:所谓的嵌套就是分支里面再写分支,以上实例表示,当i不小于0成立时,输出i-1的值,当i小于0时,再判断i值是否等于0,如果等于输出i+1的值,否则不等于0时输出i乘1的值。
如果有需要可以一直嵌套,直至完成需要。
需要注意的是,else必须在所有的else if之后,原因是每个单独if判断只能存在一个else。else if 在数量上则没有限制,但是不可以写在else之后,必须在前。
上面也有说到,如果有很多选择时,上面那个写法比较繁琐,那有没有简便的写法呢?很显然也是有的,那么下面我们就来看下switch语句:
//switch 语句样例switch(i){
case '0':
System.out.println("值:"+(i-1));
break;
case '1':
System.out.println("值:"+i);
break;
case '2':
System.out.println("值:"+i+1);
break;
case '3':
System.out.println("值:"+i*1);
break;
....
case n:
System.out.println("值:"+i+n);
break;
default:
System.out.println("值:"+i);
解析:以上语句表示,判断i值,如果i值等于 case 参数,则输出跟随其后的程序,break跳出switch。如果比较没有发现和变量i相同的case参数,则会输出default后面的默认程序,default后面不需要break,因为默认程序走完就会自动跳出switch。
需要注意的是switch 语句中的变量类型可以是: byte、short、int 或者 char。
从 Java SE 7版本 开始,switch 也支持字符串类型,同时 case 标签必须为字符串常量或字面量。
一个switch可以拥有很多case,每个case后面紧跟着比较参数以及冒号,比较参数也必须和变量的类型相同。
另外一种情况,如果有两个case,case1后面没有跟随break,case2后面跟随有break,那么变量在跟case1 比较相同后还会执行case2,然后遇到break才跳出switch,如果在case1后面加上break,变量在比较相同执行程序后,就直接跳出switch了。
- 分支结构学习笔记
- shell学习笔记三 分支结构
- [学习笔记04]函数与分支结构
- C学习笔记- 分支结构程序体验 -0615
- PHP学习笔记——巢状条件分支结构;
- C#学习回顾笔记九:switch选择分支结构
- PHP学习笔记——PHP单路分支和双路分支,else if多项条件分支结构;
- 汇编学习---分支结构程序设计
- iOS学习_Lesson02_分支结构
- C语言学习-分支结构
- Java学习笔记四-Java的循环结构和分支结构以及break,continue关键字
- PHP学习笔记(25)流程分支控制结构 (26)PHP实现简单计算器
- C++学习笔记(第三章 多分支结构 循环程序设计 之一)
- C++学习笔记(第三章 多分支结构 循环程序设计 之二)
- 黑马程序员---C语言学习笔记之分支结构if语句与switc语句的详解
- PHP学习笔记——流程控制概述, PHP分支结构;
- PHP学习笔记——多向条件分支结构switch子句;
- Git学习笔记之分支
- JDK-jps:虚拟机进程状况工具
- 11.15课堂笔记-JSON对象、面向对象编程中的 this、Web Storage
- 11.15 学习心得
- 表分区与表空间
- [innoVation]SQL语句基础 2017.11.15
- 分支结构学习笔记
- 实训Day 2
- 递归和非递归分别实现求n的阶乘
- classes\WEB-INF\MANIFEST.MF(系统找不到指定路径)
- mysql 主从同步
- information_schema系统表——ENGINES
- verilog testbench编写笔记
- C++ preprocessor "/lib/cpp" fails sanity check 解决方法
- SSKeychain