JavaSE基础知识(3)—流程控制结构

一、顺序结构

1、说明
  程序从上往下依次执行,中间没有任何跳转或选择
2、特点
  变量必须遵循 “前向引用”
  (局部变量必须先声明、赋值,然后再使用!)

二、分支结构(条件)

1、说明
  程序从两条或多条路径中,选择一条去执行

2、分类

  语法 执行顺序 注意事项
  if结构 
1、单分支
  if(条件){
    代码块1;
  }


先判断条件是否成立,

如果成立,则执行代码块1.否则跳过if结构,往下执行

①条件 的结果只能是boolean类型,形式可以为:
  关系表达式
  逻辑表达式
  oolean变量
  boolean常量
  boolean变量的赋值语句
②代码块 可以为0条或多条语句
  形式可以为输出、输入、分支、循环等
③如果代码块中只有一句话,则可以省略大括号

2、双分支
  if(条件){
    代码块1;
  }else{
    代码块2;
  }


先判断条件是否成立,

如果成立,则执行代码块1.否则执行代码块2


3、多重分支
  if(条件1){
    代码块1;
  }else if(条件2){
    代码块2;
  }...
  else{
    代码块n;
  }


先判断条件1,

如果成立执行代码块1,否则判断条件2,

如果成立,执行代码块2,依次类推,如果都不成立,则执行代码块n


4、嵌套分支
  if(){
    if(){
    }
  }


先判断外层条件,

如果成立,则进行代码块,即继续判断内层条件..

switch结构 switch(变量){
case 常量值1:代码块1;break;
case 常量值2:代码块2;break;
...
default:代码块n;break;
}

先得出switch括号中变量的值,

然后依次判断各个case,如果有匹配的,则执行对应的代码块,直到遇见break为止;

如果都不匹配,则执行default中的代码块n,直到遇见break为止


①变量的类型
  只能是int、byte、short、char
  String(jdk1.7)
  枚举(jdk1.5)
②case后的常量值不能重复
③case后不可以是变量
④break可以省略,但可能影响效果
⑤default可以省略,位置也可以提前,但可能影响效果

3、if和switch的对比★

相同点:都属于分支结构
不同点:
  能用switch的,肯定能用if
  能用if的,不一定能用switch,必须满足以下要求:
    ①等值判断
    ②判断的类型必须为int、byte、short、char、String(jdk1.7)、枚举(jdk1.5)
注意:使用switch结构效率较高!

三、循环结构

1、说明

  在满足某个特定条件的基础上,反复执行某段代码的结构

2、四要素

  ①循环变量初始化

  ②循环条件

  ③循环操作

  ④循环变量更新

3、好处

  ①提高代码简洁性

  ②提高代码的维护性和扩展性

4、分类

  while

  do while

  for

  jdk5.0之后,多了增强for循环

5、具体实施步骤★

题型一:知道次数

  优先考虑用for    

  1、先搭框架
    for(int i=1;i<=次数;i++){执行代码;}

  2、分析循环操作
  3、检测循环是否具备四要素

题型二:不知道次数
  1、先搭框架
    while(){
    }
  2、分析循环操作和循环条件
  3、检测循环是否具备四要素

6、三种循环结构详细介绍★

(1)while

语法:

  循环变量初始化 ①

  while(循环条件){ ②

    循环操作 ③
    循环变量更新 ④
  }
执行顺序:①②③④②③④....直到②不成立为止

(2)do while

语法:

  循环变量初始化 ①
  do{
    循环操作 ③
    循环变量更新 ④
  }while(循环条件); ②
执行顺序:①③④②③④②③④...直到②不成立为止

(3)for

语法:

      ①      ②    ④
  for(循环变量初始化;循环条件;循环变量更新){

    循环操作③
  }
执行顺序:①②③④②③④....直到②不成立为止

7、三种循环结构比较★

相同点:
  1、都能解决任何类型的循环题目
  2、都具备循环四要素
不同点:

  1、语法不同

  2、执行顺序不同
    while和for 先判断后执行
    do while 先执行后判断
  3、执行效果不同
    如果第一次条件成立,while、do while、for 执行效果相同
    如果第一次条件不成立,while、for 执行0次;do while 执行至少一次!
  4、执行效率不同
    do while 效率最高
  5、应用场景不同
    知道次数,优先考虑用for
    不知道次数,
      先判断:while
      先执行:do while

8、嵌套循环

说明:一个循环结构中又嵌套了另一个完整的循环结构
注意:如外层循环,执行m次;内层循环,执行n次。 内层循环的循环体最终执行 m*n次

四、跳转结构

1、说明

  用于改变正常的程序控制流
2、分类
  break
  continue
  return
3、跳转结构详细介绍

(1)break
  特点:一般用于循环或switch中,跳出所在的循环或switch
  语法:
    场景1:【最常用】
      一般搭配if结构放在循环中或直接放在switch的case语句中
    场景2:【了解】
      直接搭配标签,放在任何代码块中

示例1:
  label:if(){
    break label;
  }
示例2:
  label :while(){
      while(){
        if(){
          break label;
        }
      }
    }
注意:break如果不搭配标签,默认跳出的就是所在的最近的switch或一层循环。如果搭配标签,则可以跳出标签指定的代码块

(2)continue
  特点:只能用于循环中,结束本次循环,继续下一次循环
  语法:
    场景1:【最常用】
      搭配if结构放在循环中

while(){
if(){
continue;
}
}

场景2:【了解】
  label:while(){
      while(){
        if(){
          continue label;
        }
      }
  }
注意:continue如果不搭配标签,默认起作用的就是所在的一层循环。如果搭配标签,则可以跳出标签指定的循环

(3)return
  特点:用在方法中,跳出所在的方法

4、跳转结构比较

  语法应用场景 特点
break 一般放在循环或switch 中断所在的结构
continue 只能放在循环 结束本次循环,继续下一次
return 用在方法中 跳出所在方法

原文地址:https://www.cnblogs.com/truthseeking/p/9506224.html

时间: 2024-08-13 21:51:27

JavaSE基础知识(3)—流程控制结构的相关文章

JavaSe基础知识总结

Java基础知识总结 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. -------------------------------------------------------------------------

基础知识回顾——流程控制

通过条件语句或循环语句改变程序运行顺序的过程叫流程控制. 条件语句 条件语句:用于改变程序的执行流程,其中else代码块是可选的.1.if/else 1 pwd = raw_input("what's the password ?") 2 if pwd == 'apple': 3 print "loging on..." 4 else: 5 print "password error!" 6 print "all done"

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

PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;. <?php if ($a == 5): ?>A is equal to 5<?php endif; ?> <?phpif ($a == 5):    echo "a equals 5

网站搭建基础知识、流程概括

最近突发奇想想自己搞个网站玩玩,我是什么都不懂得纯菜鸟,就把最基本的东西写下来,如果有不对的烦请大牛们指点一下,希望对一些人都用. 一.做网站的流程: 购买域名.购买空间.解析和绑定.上传建站程序.完成网站搭建 二.价格: 域名:50~80 空间:100左右(个人网站) 三.域名: 1.特点:唯一性.稀缺性 万网(国内最大的空间商)可以查询域名情况.但是不建议万网购买域名,较贵! 域名和空间最好一起购买,较便宜 godaddy,全球最大的空间商--英文网站 一级域名:xxx.com(加www.也

Go基础系列:流程控制结构

条件判断结构:if else 分支选择结构:switch case 循环结构:for break:退出for或switch结构(以及select) continue:进入下一次for迭代 虽然Go是类C的语言,但Go在这些流程控制语句中的条件表达式部分不使用括号.甚至有些时候使用括号会报错,但有些复杂的条件判断需要使用括号改变优先级. 如: if (name == "longshuai" && age > 23) || (name == "xiaofan

JavaSE基础知识(2)—变量和运算符(2.2数据类型)

一.常见的数据类型 int:用于保存整型的double:用于保存浮点型的char:用于保存单个字符,要求字符值必须用单引号引起来String:用于保存字符串,要求字符串值必须用双引号引起来 二.数据类型的分类 ★ 三.基本数据类型详细介绍 一)整型   名称 所占字节空间 数值范围 byte 字节整型 1个字节 -27~27-1 short 短整型 2个字节 -215~215-1 int 整型 4个字节 -231~231-1 long 长整型 8个字节 -263~263-1 特点: 1.编译器默

JavaSE基础知识(4)—数组的应用(4.2数组的基本及高级使用)

  功能 代码 功能 代码 基本使用 正序打印 for(int i=0;i<arr.length;i++){ System.out.println(arr[i]);} 倒序打印 for(int i=arr.length-1;i>=0;i--){ System.out.println(arr[i]);} 求和.求平均 int sum = 0;for(int i=0;i<arr.length;i++){ sum+=arr[i];}和:sum平均值:sum/arr.length 查找 int

JavaSE基础知识(5)—面向对象(5.1类和对象概念、创建及内存分配)

一.类和对象的相关概念 1.面向对象和面向过程的理解 面向对象和面向过程都属于解决问题的思考方式.面向过程:以执行者的角度思考问题,侧重于"怎么做",比较适合解决小型项目面向对象:以指挥者的角度思考问题,侧重于"谁来做",比较适合解决中大型项目面向对象和面向过程不能分割开来,二者相辅相成,缺一不可!宏观上通过面向对象思考,微观上通过面向过程思考! 2.类和对象的概念.关系.区别 (1)概念 对象:客观世界中所有可以被描述的事物都称为对象(万物皆对象).类:具有相同属

JavaSE基础知识(5)—面向对象(5.5 this和super关键字)

一.this关键字 1.说明 this关键字代表当前类的对象,可以访问本类的属性.方法.构造器注意:谁调用该方法,则this就指谁 2.语法 访问属性: this.属性名 = 值; System.out.println(this.属性名);访问方法: this.方法名();访问构造器: this([参数列表]); 3.注意事项 一般来讲如果本类内部访问当前类的成员,则直接访问即可,默认也是通过this调用的.当局部变量和成员变量重名时,则必须通过this才能调用到成员变量! 二.super关键字