黑马 程序员——Java基础---流程控制
黑马程序员——Java基础---流程控制
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------
一.概述
Java提供了两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于是根据条件来选择执行某段代码,循环结构则是根据循环条件重复执行某段代码。分支语句有if和switch两种,循环语句有for、while和do while三种。除此之外,jdk1.5还提供了foreach循环,同时java还提供了break和continue来控制程序的循环结构。
二.正文
1、顺序结构
这是程序最常见的结构,如果没有流程控制,java就会从上到下一次执行每条语句,这个没什么可说的。
2、分支结构
2.1 if条件语句
If有三种形式:
第一种:
if(logic expression){statement...}
第二种:
if(logic expression){statement...}else{statement....}
第三种:
if(logic expression){statement...}else if(logic expression){statement...}....\\可以写零个和多个else ifelse{statement...}
注意:if括号里面的内容只能是一个逻辑表达式,返回值只能是true或false。第三种形式的多行代码称为代码块,通常被当成一个整体执行,除非遇到break、return、contin等关键字,或者遇到异常。
2.2 switch分支语句
格式如下:
switch(expression){case condition1:{statement(s)break;}case condition2:{statement(s)break;}......case conditionN:{statement(s)break;}default:{statement(s)}}
注意:switch语句后的expression表达式的数据类型只能是byte、short、char、int四个整数类型和枚举类型。
3、循环结构
3.1 while循环语句
格式如下:
while(expression){statement;}
注意:while(expression);是个陷阱,后面千万不能加分号,否则会造成死循环;还有一定要保证while有跳出循环的时候,否则也会成为死循环。
3.2 do while循环语句
格式如下:
do{statement;}while (expression);
注意:与while不同的是,do while后必须有一个分号,这个分号表明循环结束;while先判断条件,如果为真则执行循环体,do while则是先执行循环体,然后才判断条件,为真则继续,否则结束。
3.3 for 循环
格式如下:
for([init_statment];[expression];[iteration_statement]){statement;}
注意:init_statment初始化语句只执行一次,然后判断expression是否为真(expression只能是逻辑表达式),如果为真就执行循环体,循环体结束后执行iteration_statement,然后再判断expreeion,如果为真则继续,否则结束。
4、控制循环结构
4.1 使用break结束循环
break是用于完全结束一个循环,当有些时候我们需要在某种条件出现时强行终止循环,而不是等到循环条件为false才退出循环。
注意:一般情况break只是结束当前循环,但是如果break后面紧跟一个标签,可以结束标签所标识的外层循环(标签只有放在循环语句之前才有作用)。例如:
outer:for(int i=0; i<5; i++){for(int j=0; j<3; j++){if(j == 1)break outer;}}
4.2 使用return结束方法
return并不是专门用于结束循环的,而是结束一个方法。如下:
public class Test{public static void main(String[] args){for( int i=0; i<3; i++){if(i == 1)return;}}}
当i==1是运行到return时,直接就结束当前方法,这里是结束main方法(main方法结束也意味着程序结束)。
三. 总结
这是我对流程控制结构的基本使用方法和格式做的简单的总结,其实还有比较特殊的情况,比如for(;;)和while(true)是无限循环。循环还可以嵌套使用,大循环里套了小循。for循环对比while,for循环括号内变量使用完了就在内存中释放了,也就是说循环结束后就无法使用,while则相反,循环结束后变量还存在,能继续使用。
转载于:https://www.cnblogs.com/hutanlong/p/4351365.html
黑马 程序员——Java基础---流程控制相关推荐
- 黑马 程序员——Java基础---IO(下)
黑马程序员--Java基础---IO(下) ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供 ...
- 黑马程序员-Java基础知识预备之Java流程控制与数组
-------- android培训.java培训.期待与您交流!---------- 本博文涉及的主要内容如下: if语句 switch语句 循环结构 循环结构的控制 数组类型 数组在内存中的运行机 ...
- 黑马程序员--Java基础加强篇
开发工具使用 --------------------------------------------------------------------------------------------- ...
- Java入门-学习黑马程序员Java基础视频教程(到P92)
目录 P0:写在前面的小知识 P3:Java环境搭建: JDK安装.常用命令 P4:入门程序HelloWorld P7:补充知识:JDK组成.跨平台原理 P8:补充知识:JDK安装后Path和JAVA ...
- 黑马程序员—java基础总结1
------- android培训.java培训.期待与您交流! ---------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用 ...
- 黑马程序员-Java基础加强之枚举
--------- android培训.java培训.期待与您交流!---------- 一.为什么要有枚举? 问题:要定义季节.星期向或性别的变量,该怎么定义?假设用1-4分别表示春.夏.秋.冬,但 ...
- 黑马程序员-Java基础:面向对象(上)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.面向对象概述 当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高.可随着需求的 ...
- 黑马程序员 — JAVA基础 — 内部类、异常
-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一.内部类 1.概念: 把类定义在另一个类的内部,该类就被称为内部类. Eg:把 ...
- 黑马程序员-Java基础:设计模式总结
--Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- Java基础部分设计模式 一.设计模式概述 设计模式(Design pattern)是一套被反复使用.多数人知晓的 ...
最新文章
- 强化学习是针对优化数据的监督学习?
- Linux socket 流模式(STREAM)跟数据报模式(DGRAM)的区别
- Angular JS 中的内置方法之表单验证
- 把 14 亿中国人民都拉到一个微信群里在技术上能实现吗?
- java基础之lambda表达式
- 全网最详细 TCP 参数讲解,再也不用担心没有面试机会了......
- python 获取网页元素_记一次python提取网页标签元素的坑
- 从零基础入门Tensorflow2.0 ----七、34 embedding rnn
- 漂亮的不像实力派--锤子新品“坚果手机”发布会
- vs2015如何建立c语言程序,C语言快速入门——使用Visual Studio 2015创建控制台应用程序...
- 手动编译源代码安装wget
- Python——单因素方差分析表
- 群晖Docker容器“failed to initialize logging driver“解决办法
- linux下weblogic新建域domian
- 教你windows10系统更改任务栏颜色教程
- uni-app的生命周期说明及平台差异性说明
- python3主函数返回值_Python 详解基本语法_函数_返回值
- 领扣LintCode问题答案-57. 三数之和
- C# 代码规范和质量检查工具 StyleCop.Analyzers
- 红米Note11TPro和荣耀70Pro哪个值得买 两者配置对比
热门文章
- hdu5391 Zball in Tina Town
- Shi-Tomasi算子的运用 ,用于检测角点
- 上传文件_.net core进行文件上传
- 可视化卷及神经网络热力图
- 支持向量机ModuleNotFoundError: No module named ‘sklearn.datasets.samples_generator‘
- java中什么表示菜单项_下列类型中,表示菜单项的是( )。_学小易找答案
- mfc cedit 默认显示内容_拼多多评价不显示的几大原因,看完之后才知道是触碰了这几个环节...
- bootstrap框架下 单选按钮组的选中以及取值问题
- 转】MYSQL性能调优与架构设计之select count(*)的思考
- 详细配置架设自己的Serv-U FTP服务器图文教程