Java 控制执行流程
来源:互联网 发布:关系型数据库原理 编辑:程序博客网 时间:2024/04/30 01:06
复习Java控制语句,先做一个简单的整理结构。
一、判断条件
1. 只支持结果是true或false,不支持0和1(C/C++支持)。例如: 2==2
2. 短路计算,即第一个返回false的情况下不执行后续判断
二、 if else
三、 循环语句(迭代)
1. while
语义 while 当满足。。 执行 。。(后续代码)
控制流程后一行 if 如果没有{},直接运行if后一行代码。
控制流程后一行 if 如果没有{},直接运行if后一行代码。
2. do while
无论是否满足while判断,先执行一次do循环体
3. for 与 foreach
? * size、 length(判断执行了多少次 , 通常在for中使用)
四、无条件分支语句(Code)
1. return - 跳出方法体,不执行后续的代码
含义:1 方法返回值 2 退出当前方法
2. break - 跳出循环,不执行后续的代码
3. continue - 跳出此次循环,执行循环体后续代码
? try中使用无条件分支语句(?在try语句中出错)
五、标签(goto )
循环标签
break跳出while循环,执行后续的代码
private static void loopBreak() {
labelA: while(true ) {
System. out.println("break loop start" );
while(true ) {
// 跳出标记处的循环
break labelA;
}
}
// 此行代码还是会执行
System. out.println("break loop end" );
}
continue
continue语句只能应用在for、while和do...while循环语句中,用于让程序直接跳过其后面的语句,进行下一次循环。
跳出离continue最近的第一层循环。
? 是不是可以不使用标签。 使用多态? 加一个Control?
六、switch
switch 语义 用户处理若干离散的整型或字符类型的值。一般记得使用default,这样没考虑到的因素,都会执行default操作。容错,default中做异常处理。
? switch能否缺失break语句?
整体:
* 缩进
* 循环体只有一句,也加{}
* 每中控制语句,至少十种写法
资料:
Java编程思想 第4章
代码阅读
扩展:
你还在用if else吗?
http://www.jdon.com/artichect/ifelse.htm
== 与equals
如何减少代码中的分支语句
http://www.cnblogs.com/bastard/archive/2012/08/08/2627939.html
switch 替换方案 查表发(数组)
http://www.jdon.com/artichect/ifelse.htm
== 与equals
如何减少代码中的分支语句
http://www.cnblogs.com/bastard/archive/2012/08/08/2627939.html
switch 替换方案 查表发(数组)
边界值问题
通常是在判断的时候会遇到边界值的问题
一
for(int i=0; i<5; i++) {
// 循环体中的内容
}
for(int j=5; j>0; j--){
// 循环体中的内容
}
问题:
1. 循环题中的内容执行几次?
都是5次
2. i,j的值分别是多少?
i -- 0,1,2,3,4(最后一次判断,i等于5, i<5为假)
j -- 5,4,3,2,1(最后一次判断,i等于0, i>0为假)
二
String str = "中文";System.out.println("\"中文\"长度:" + str.length()); // "中文"长度:2String[] strArr = {"1", "2", "3"};System.out.println("{\"1\", \"2\", \"3\"}长度:" + strArr.length);// {"1", "2", "3"} 长度:3List<String> list = new ArrayList<String>();list.add("1");list.add("2");list.add("3");System.out.println("list三个元素,长度:" + list.size());// list三个元素,长度:3
集合的size和字符串的length都是实际的个数,而从中取的时候需要减1,因为索引是从0开始的。
2013-04-22 添加扩展
2014-01-05 与控制执行流程文章合并2013-04-22 添加扩展
- Java 控制执行流程
- java控制执行流程
- java 控制执行流程
- java控制执行流程
- JAVA 控制执行流程笔记
- java之控制执行流程
- java中的控制执行流程
- java学习---控制执行流程
- Java操作符及执行流程控制
- JAVA基础之控制执行流程
- java学习-4.控制执行流程
- Java笔记整理:控制执行流程
- 4控制执行流程-Java编程思想
- 【Thinking in Java】控制执行流程
- java基础学习总结--控制执行流程
- java编程思想之控制执行流程
- JAVA控制执行流程学习过程
- Java学习笔记4-控制执行流程
- Requested registry access is not allowed(不允许所请求的注册表访问权)
- memset函数详细说明
- Raising Modulo Numbers 快速幂取模基础
- Android核心分析之(24)Android GDI之显示缓冲管理
- Relatives 欧拉函数基础
- Java 控制执行流程
- 解析Qt自带的Style示例
- malloc和free函数详解
- My C++ life:C++程序设计语言之 >>词汇精粹
- 一个Hibernate多对多实例
- Android核心分析之(25)Android GDI之共享缓冲区机制
- 中南大学数学天才
- "-It" 等价于 "<" "-gt" 等价于 ">" "-eq" 等价于 "=" ???
- HDU 1754 I Hate It(线段树)