Java流程控制

    包括顺序控制、条件控制和循环控制

    顺序控制就是逐条执行有if和switch两个分支

    循环控制就是又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作

    循环控制有三种while循环  do…while循环 
for循环

     while语句和for语句在循环语句中属于“先判断再循环”的结构,而do-while语句属于“先循环再判断”的结构

1、if语句

  if 条件语句是最简单的条件语句,作为条件分支语句,根据条件选择一个或者多个执行语句,执行语句里面可以嵌套if语句

      if(条件一){ //必须有

   
执行语句

      }else if(条件二){ //可有可无可以有多个

  
执行语句

     }else{     //
可有可无 最多只能有一个

  
执行语句

   }

int number=2;
//1 标准写法
if(number==1){
System.out.println("星期一");
}else{
System.out.println("不是星期一");
} // 2、省略写法
if(number==1){
System.out.println("星期一");
} // 3、多重分支
if(number==1){
System.out.println("星期一");
}else if(number==2){
System.out.println("星期二");
}else{
System.out.println("不是星期一也不是星期二");
}
// 4、多重分支 省略
if(number==1){
System.out.println("星期一");
}else if(number==2){
System.out.println("星期二");
}

2、switch语句

    switch语句处理多路分支问题,效果等同于多个else if

    分支语句:switch case key:需要比较的表达式 value:与表达式进行比较的值

    执行流程:如果key和value比较的结果为true,那么将执行case部分的代码,case部分可以有多个类似于else if 部分

     说明:key和value之间的比较只能是== default部分是不满足以上任何去执行的代码,类似于else

     switch (key) { // key
取值只能是整型或者可以转换为整型的数值类型或者枚举

    case value: //  case是常量表达式,value的取值只能是常量或者常量表达式

      break;//
标识分支结束 可有可无如果没有break会直接进入下一个case语句

    default: //
默认分支 可有可无

      break;

     }

		switch (number) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
default:
System.out.println("不是星期一也不是星期二");
break;
}

3、while循环 和do while 循环

    while语句不断执行块里的语句,当判定表达式为true的时候进入代码块,执行需要执行的代码否则跳过循环

    do while 比while多执行一次执行语句,至少会执行一次

    while (判定表达式) {  //满足条件一直执行

       
执行语句

    }

    do{                  // do while
比while 多执行一次执行语句,至少会执行一次

    }while(判定表达式);

	while(number<7){
System.out.println("一周之内");
number++;
}
do{
System.out.println("一周之内");
number++;
}
while(number<7);

4、for循环

    通过初始化语句和迭代语句来判定是否满足循环条件
如果满足执行需要执行的代码否则跳过循环

      for(初始化语句;循环条件;迭代语句){

       
循环体;

       }

     a、执行初始化语句

    b、判断循环条件,如果循环条件为false,则结束循环,否则执行下一步

    c、
执行循环体

     d、执行迭代语句

     e、跳转到步骤b重复执行

     需要注意的是:for语句中的各个语句都可以为空,初始化语句在for语句执行时执行且只执行一次。

 依据for语句的语法格式,则最简单的for语句是如下格式:for(;;);

      由于循环条件为空时,默认为true,则循环条件恒成立

      该循环的循环体即最后的一个分号,这样的语句称作空语句,则该循环是一个死循环,循环体是空语句。

	for (int i = 0; i < 7; i++) {
System.out.println("一周之内");
}

5、增强for循环

    For-Each循环也叫增强型的for循环,或者叫foreach循环

    For-Each循环的加入简化了集合的遍历。对比for循环,for-each丢失索引index信息

   遍历集合中所有元素 type是集合元素类型  element临时变量 array 集合

    for(type element: array)

    {

    System.out.println(element);

    }

      int[] arr = {1, 2, 3, 4, 5,6,7};
for(int element:arr)
{
System.out.println("星期"+element);
}

6、跳出循环 break continue 和return

    break语句主要有三种用途。第一,它可以用于跳出 switch语句。第二,break语句可以用于跳出循环。第三,可以用于大语句块的跳出

    continue 语句主要是跳过单次循环的循环体,执行下次循环

    return  结束循环所在的方法

java 基础知识四 流程控制的更多相关文章

  1. 《Java基础知识》流程控制

    流程控制分类: 一.顺序结构如果没有流程控制(即没有分支结构和循环结构),Java方法里面的语句是一个顺序执行流,从上到下依次执行每条语句. 二.分支结构1.if语句if语句使用布尔表达式或者布尔值作 ...

  2. Java基础语法(4)-流程控制

    title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...

  3. Java基础语法02——流程控制

    流程控制:顺序结构.分支结构(if-else.switch-case).循环结构(for.while.do-while)

  4. PHP丨PHP基础知识之流程控制WHILE循环「理论篇」

    昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:whil ...

  5. Java基础语法与流程控制

    Java基础语法与流程控制 跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯 志同道合的小伙伴可以一起学习狂神的视频 本节地址:https://www.kuangstudy.com/co ...

  6. Java基础之程序流程控制

    Java中的程序流程控制 Java中的程序流程分为三种结构:①顺序结构:②分支结构:③循环结构 一.顺序结构 Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量. ...

  7. for、while循环(java基础知识四)

    1.循环结构概述和for语句的格式及其使用 * 什么是循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把 ...

  8. PHP基础知识之流程控制的替代语法

    PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,e ...

  9. Java基础教程(9)--流程控制

    一.分支结构 1.if语句   if语句会与其后的第一条语句或代码块结合,且只有当判断条件为true时才执行语句或代码块.例如,自行车只有在运动的时候才可以减速,就像下面这样: void applyB ...

随机推荐

  1. 了解 : prevent default

    基本了解是阻止事件之前设置好的事件触发,像是angular router ui里的 preventDefault是这样的. 在$stateChange的是后,可以调用preventDefault 来阻 ...

  2. Java设计模式之《桥接模式》及应用场景

    摘要: 原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6497919.html 这里摘抄一份他处的概念,你可以不必理会,先看下面得讲解与实例, ...

  3. Kubernetes运维生态-Heapster分析

    Heapster在Kubernetes的运维生态中如下:集群的容器的监控数据收敛汇聚层 heapster1.0版本后内部分为event和metric两个进程,可制作为两个docker镜像部署为两个独立 ...

  4. python之SQLAlchemy ORM 上

    前言: SQLAlchmey是暑假学的,当时学完后也没及时写博客整理下.这篇博客主要介绍下SQLAlchemy及基本操作,写完后有空做个堡垒机小项目.下篇博客整理写篇关于Web框架和django基础~ ...

  5. Visual Studio 2017正式版使用一些疑问

    刚升级完2017,是从2015升上去的,总体没有什么大的问题,就是报了一些ts的类型检查的问题,最重要的就是编译速度变得好慢啊,希望尽快出来补丁修复,以前一个解决方案只要10+秒,现在要50秒,表示体 ...

  6. C# 输入法

    C# 输入法 虽说输入法不是什么新事物,各种语言版本都有,不过在C#不常见:这就会给人一种误会:C#不能做!其实C#能不能做呢,答案是肯定的--三种方式都行:IMM.TSF以及外挂式.IMM这种就是调 ...

  7. (十) Jquery的基本使用

    一.引入 注意:如果在index.js中有使用到JQuery.js 那么JQuery.js文件必须比index.js文件先引入,否则index.js文件中不能使用JQuery.js. <scri ...

  8. 读书笔记 effective c++ Item 31 把文件之间的编译依赖降到最低

    1. 牵一发而动全身 现在开始进入你的C++程序,你对你的类实现做了一个很小的改动.注意,不是接口,只是实现:一个私有的stuff.然后你需要rebuild你的程序,计算着这个build应该几秒钟就足 ...

  9. servlet匹配规则和顺序

    1.  写法 ①完全匹配:以“/”开头,以字母(非“*”)结束    如:<url-pattern>/test/list.do</url-pattern> ②目录匹配:以“/” ...

  10. WebService客户端添加SOAPHeader信息

    通过JAXBContext创建Marshaller对头信息进行解析为dom,获取WSBindingProvider,使用Headers.creat()创建soap的Header元素: 另外就是:将us ...