java控制执行流程--thinking in java学习
2015-06-02 18:14
453 查看
常用的控制执行流程有if-else;迭代while,do-while,for,foreach;return;break,continue;
和break,continue配合使用的标签;switch;在过thinking in java这章的过程中,
有两个地方又重新认识了一下,来和大家分享。
1、return 有两个作用,1.设定一个方法的返回值;2.退出当前方法。
因此任何方法都可以使用return语句,在void方法中使用return便是
使用return的退出当前方法的作用。
而且在返回void的方法中没有return语句时,在该方法的结尾处会有一个隐式
的return。
2、和break,continue配合使用的标签来达到goto的作用。
1.一般的continue会退回最内层循环的开头(顶部),并继续执行。
2.带标签的continue会达到标签的位置,并重新进入紧接在那个标签后面的循环。
3.一般的break会中断并跳出标签所指的循环。
4.带标签的break会中断并跳出标签所指的循环。
而需要注意的是:在java里需要使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层嵌套中
break和continue。
引入thinking in java中的代码段学习一下:
其中标签的写法为标签名加":",在多重嵌套的循环中,continue加标签,表明进入标签后面所跟的循环的下次循环(类似单层循环中的continue,差别是到标签后跟着的循环);break加标签,表明直接跳出标签后所跟的循环(类似单层循环中的break,差别是跳出标签后跟着的循环)。
和break,continue配合使用的标签;switch;在过thinking in java这章的过程中,
有两个地方又重新认识了一下,来和大家分享。
1、return 有两个作用,1.设定一个方法的返回值;2.退出当前方法。
因此任何方法都可以使用return语句,在void方法中使用return便是
使用return的退出当前方法的作用。
而且在返回void的方法中没有return语句时,在该方法的结尾处会有一个隐式
的return。
2、和break,continue配合使用的标签来达到goto的作用。
1.一般的continue会退回最内层循环的开头(顶部),并继续执行。
2.带标签的continue会达到标签的位置,并重新进入紧接在那个标签后面的循环。
3.一般的break会中断并跳出标签所指的循环。
4.带标签的break会中断并跳出标签所指的循环。
而需要注意的是:在java里需要使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层嵌套中
break和continue。
引入thinking in java中的代码段学习一下:
public class LabelDemo { public static void main(String[] args) { int i = 0; outer: for(; true ;) { inner: for(; i < 10; i++) { System.out.println("i = " + i); if(i == 2) { System.out.println("continue"); continue; } if(i == 3) { System.out.println("break"); i++; break; } if(i == 7) { System.out.println("continue outer"); i++; continue outer; } if(i == 8) { System.out.println("break outer"); break outer; } for(int k = 0; k < 5; k++) { if(k == 3) { System.out.println("continue inner"); continue inner; } } } } } }
其中标签的写法为标签名加":",在多重嵌套的循环中,continue加标签,表明进入标签后面所跟的循环的下次循环(类似单层循环中的continue,差别是到标签后跟着的循环);break加标签,表明直接跳出标签后所跟的循环(类似单层循环中的break,差别是跳出标签后跟着的循环)。
相关文章推荐
- java基础复习之二:Java实现同步机制是(生产消费者)
- Java图形界面设计基础
- java的串口通信
- SpringMVC源码剖析(三)- DispatcherServlet的初始化流
- SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
- SpringMVC源码剖析(二)- DispatcherServlet的前世今生
- Java 将List按照指定大小分段
- Spring中jdbcTemplate的用法实例
- SpringMVC源码剖析(一)- 从抽象和接口说起
- java学习路线图
- spring mvc 重定向传参
- java Swing中随机验证码的实现
- Java类库2
- [Java] 编写第一个java程序
- Java内存溢出详解
- Spring MVC拦截器+注解方式实现防止表单重复提交
- Spring MVC拦截器+注解方式实现防止表单重复提交
- Java基础 内部类 异常try catch throw RuntimeException
- 对一串数字采用相应的加密策略后传输的Java实现代码
- JAVA并行框架学习之ForkJoin