黑马程序员——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基础---流程控制相关推荐

  1. 黑马 程序员——Java基础---IO(下)

    黑马程序员--Java基础---IO(下) ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供 ...

  2. 黑马程序员-Java基础知识预备之Java流程控制与数组

    -------- android培训.java培训.期待与您交流!---------- 本博文涉及的主要内容如下: if语句 switch语句 循环结构 循环结构的控制 数组类型 数组在内存中的运行机 ...

  3. 黑马程序员--Java基础加强篇

    开发工具使用 --------------------------------------------------------------------------------------------- ...

  4. Java入门-学习黑马程序员Java基础视频教程(到P92)

    目录 P0:写在前面的小知识 P3:Java环境搭建: JDK安装.常用命令 P4:入门程序HelloWorld P7:补充知识:JDK组成.跨平台原理 P8:补充知识:JDK安装后Path和JAVA ...

  5. 黑马程序员—java基础总结1

    ------- android培训.java培训.期待与您交流! ---------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用 ...

  6. 黑马程序员-Java基础加强之枚举

    --------- android培训.java培训.期待与您交流!---------- 一.为什么要有枚举? 问题:要定义季节.星期向或性别的变量,该怎么定义?假设用1-4分别表示春.夏.秋.冬,但 ...

  7. 黑马程序员-Java基础:面向对象(上)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.面向对象概述 当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高.可随着需求的 ...

  8. 黑马程序员 — JAVA基础 — 内部类、异常

    -----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一.内部类 1.概念: 把类定义在另一个类的内部,该类就被称为内部类. Eg:把 ...

  9. 黑马程序员-Java基础:设计模式总结

    --Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- Java基础部分设计模式 一.设计模式概述 设计模式(Design pattern)是一套被反复使用.多数人知晓的 ...

最新文章

  1. 强化学习是针对优化数据的监督学习?
  2. Linux socket 流模式(STREAM)跟数据报模式(DGRAM)的区别
  3. Angular JS 中的内置方法之表单验证
  4. 把 14 亿中国人民都拉到一个微信群里在技术上能实现吗?
  5. java基础之lambda表达式
  6. 全网最详细 TCP 参数讲解,再也不用担心没有面试机会了......
  7. python 获取网页元素_记一次python提取网页标签元素的坑
  8. 从零基础入门Tensorflow2.0 ----七、34 embedding rnn
  9. 漂亮的不像实力派--锤子新品“坚果手机”发布会
  10. vs2015如何建立c语言程序,C语言快速入门——使用Visual Studio 2015创建控制台应用程序...
  11. 手动编译源代码安装wget
  12. Python——单因素方差分析表
  13. 群晖Docker容器“failed to initialize logging driver“解决办法
  14. linux下weblogic新建域domian
  15. 教你windows10系统更改任务栏颜色教程
  16. uni-app的生命周期说明及平台差异性说明
  17. python3主函数返回值_Python 详解基本语法_函数_返回值
  18. 领扣LintCode问题答案-57. 三数之和
  19. C# 代码规范和质量检查工具 StyleCop.Analyzers
  20. 红米Note11TPro和荣耀70Pro哪个值得买 两者配置对比

热门文章

  1. hdu5391 Zball in Tina Town
  2. Shi-Tomasi算子的运用 ,用于检测角点
  3. 上传文件_.net core进行文件上传
  4. 可视化卷及神经网络热力图
  5. 支持向量机ModuleNotFoundError: No module named ‘sklearn.datasets.samples_generator‘
  6. java中什么表示菜单项_下列类型中,表示菜单项的是( )。_学小易找答案
  7. mfc cedit 默认显示内容_拼多多评价不显示的几大原因,看完之后才知道是触碰了这几个环节...
  8. bootstrap框架下 单选按钮组的选中以及取值问题
  9. 转】MYSQL性能调优与架构设计之select count(*)的思考
  10. 详细配置架设自己的Serv-U FTP服务器图文教程