Java学习笔记-流程控制
在Java中,最常见的就是顺序结构,另外,还有其他的一些的结构,选择,循环等,这些程序结构的加入,使得程序代码更有选择性
判断结构
if语句
- 三种格式:
if(条件表达式) {
执行语句;
}
if(条件表达式) {
执行语句;
} else {
执行语句;
}
if(条件表达式) {
执行语句;
} else if (条件表达式) {
执行语句;
}
···
else {
执行语句;
}
- if语句特点
每一种格式都是单条语句
第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中
条件表达式无论写成什么样子,只看最终的结构是否是true或者false
选择结构
switch语句
- 格式:
switch(表达式) {
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
default:
执行语句;
break;
}
- switch语句特点
表达式的数据类型可以是byteshortintchar枚举类型和java.lang.String(从java7开始允许)
case之间与default没有顺序。先执行第一个case,没有匹配的case执行default
结束switch语句的两种情况:遇到break,执行到switch语句结束
如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束
循环结构
按照满足条件反复执行某段代码
循环结构一般会有如下四个部分:初始化语句,循环条件,循环体,迭代语句
代表语句:
while,do while,forwhile语句格式
while(条件表达式) {
执行语句;
}
- do while语句格式
do {
执行语句;
}while(条件表达式);
do while特点是条件无论是否满足,循环体至少被执行一次
- for语句格式
for(初始化表达式;循环条件表达式;循环后的操作表达式) {
执行语句;
}
- for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止
- while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用
- 最简单无限循环格式:while(true), for(;;)无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环
其他流程控制语句
break(跳出),continue(继续)
break:完全结束一个循环,跳出循环体 可接标签
continue:忽略本次循环剩下的语句 可接标签
return:结束方法
注:
- 这两个语句离开应用范围,存在是没有意义的
- 这个两个语句单独存在下面都不可以有语句,因为执行不到
- continue语句是结束本次循环继续下次循环
- 标号的出现,可以让这两个语句作用于指定的范围
Java学习笔记-流程控制的更多相关文章
- JavaScript学习笔记——流程控制
javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分 ...
- Go语言学习笔记-流程控制(二)
Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...
- go学习笔记-流程控制(if/else,for/range)
流程控制(if/else,for/range) if if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事. func testIf() { num := 10 if num &l ...
- python学习笔记---流程控制
二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...
- Java 学习笔记 线程控制
题目一 本质上来说,线程是不可控制的,线程的执行是由CPU资源分配决定的,我们无法干预系统CPU的资源分配,但我们可以增加条件来让线程按照我们的预想顺序来执行. 比如.如果当前的执行的线程不满足我们所 ...
- JAVA学习笔记16——控制线程
Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程执行. join线程 Thread提供了让一个线程等待另一个线程完成的方法——join().当在某个线程执行流中 ...
- C学习笔记-流程控制
常用的流程图符号 起止框用于表示流程的开始或结束: 输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容: 判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后 ...
- Java学习笔记之---流程控制语句
Java学习笔记之---流程控制语句 (一)循环语句 (1)if语句 if(布尔表达式){ //如果布尔表达式为true将执行的语句 } if(i%2!=0){ System.out.println( ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- 洛谷P2114 起床困难综合症【位运算】【贪心】
题目:https://www.luogu.org/problemnew/show/P2114 题意:有n个操作,每个可以是与.或.异或 一个数. 初始值是0~m之间的一个数,问经过n个运算之后,可以得 ...
- JavaScript中的变量提升和严格模式
1.什么是变量提升 所谓的变量提升指的是:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体(作用域)的最顶部. //先声明后使用 var x; console.log(x) ...
- git 之 .gitignore文件
所有空行或者以注释符号 # 开头的行都会被 Git 忽略 匹配模式最后跟反斜杠(/)说明要忽略的是目录 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反 *.a # 忽略所有 .a 结 ...
- [Luogu] 最大收益
题面:https://www.luogu.org/problemnew/show/P2647 题解:https://www.zybuluo.com/wsndy-xx/note/1142685
- JavaWeb_(Mybatis框架)MyBatis Generator简单入门
官方文档 传送门 下载地址 传送门 MyBatis Generator(MBG)简介: MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为 ...
- java学习之路(1)
java中的main()方法: 一.java主类中的主方法形式: public static void main(String[] args){ //TODO } 二.个部分解释: (1).publi ...
- Linux:sed
[参考文章]:shell中sed命令的用法 [参考文章]:SED 简明教程 1. 简述 sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用. 执行命令时,一次处理一行内容 ...
- sass/scss 和 less对比
一. Sass/Scss.Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,Sass语法属于缩排语法,比css比多出好些功能(如变量 ...
- MAC升级Nodejs和Npm到最新版及CNPM使用
1.MAC升级Nodejs和Npm到最新版 第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安 ...
- 彻底搞清楚javascript中的require、import和export(js模块加载规范的前世今生)
为什么有模块概念 理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. 但是,Javascript不是一种模块化编程语言,在es6以前,它是不支持”类”(class),所以也 ...