Java学习笔记-流程控制,三大逻辑结构

2021/4/11 1:25:50

本文主要是介绍Java学习笔记-流程控制,三大逻辑结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

流程控制

用户交互Scanner

  • 提供一个实现程序和人交互的工具类,可以获取用户的输入。

  • java.util.Scanner是Java5的新特性,我们可以通过Scanner类来获取用户的输入。

  • 基本语法:

    Scanner s = new Scanner(System.in);
    
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

Scanner 对象

  • next():
    • 一定要读取到有效字符后才可以结束输入。
    • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
    • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
    • next()不能得到带有空格的字符串。
  • nextLine():
    • 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
    • 可以获得空白。

顺序结构

  • JAVA的基本结构就是顺序结构,除非特别指明,否则就安装顺序一句一句执行。
  • 顺序结构是最简单的算法结构
  • 语句与语句之间,框与框之间是从上到下的顺序进行,它是由若干个依次执行的处理步骤组成的,是任何一个算法都离不开的一种基本算法结构

选择结构

  • if单选择结构

    • 很多时候需要去判断一个东西是否可行,然后才会去执行,这样的过程在程序中 用if语句来表示。
    • if(布尔表达式){//如果布尔表达式为true,将执行这里的语句}
  • if双选择结构

    • 判断一个条件是否可行,可行就执行语句1的内容,否则执行语句2的内容。
    • if(布尔表达式){//如果布尔表达式的值为true} else{//如果布尔表达式的值为false}
  • if多选择结构

    • 但判断代码不符合实际情况,真实情况还可能存在ABCD,存在区局多级判断。生活中往往存在的选择不仅只有两个,所以需要一个多选择机构来处理这类问题。
    • if(布尔表达式1){//如果布尔表达式1的值为true就执行代码}
    • else if(布尔表达式2){//如果布尔表达式2点值为true就执行代码}
    • else{//如果以上的布尔表达式都不为true则执行代码}
  • 嵌套的if结构

    • 使用嵌套的if...else语句是合法的,我们可以在另一个if或else if语句中使用if或者else if语句。可以像if语句一样嵌套else if ... else
    • if(布尔表达式1){//如果布尔表达式1的值为true则执行代码 if(布尔表达式2){如果布尔表达式2的值为true则执行代码}}
    • 如何快速寻找一个数?在1-100之间。 把数值减少一半(判断是否大于50)。
  • switch多选择结构

    • 实现方式是switch case语句。

    • switch case语句判断一个变量与一系列值中某个值相等,每个值称为一个分支

      switch(expression){
        case value:
          //语句;
          break;//可选;
        //可以有任意数量的case语句。
        default://可选
          //语句。
      }
      
    • switch语句中的变量类型可以是:

      • byte , short , int , char。
      • 从Java SE7开始,switch支持字符串String类型。
      • 同时case标签必须为字符串常量或者字面量。

循环结构

  • while循环
    • while是最基本的循环:
      • while(布尔表达式){//循环内容}
    • 只要布尔表达式为true,循环就会一致执行下去。
    • 大多数情况是会让循环停止下来,我们需要一个让表达式失效的方式来结束循环
    • 少部分情况需要循环一直执行(服务器的请求响应监听等)
    • 循环条件一直为true就会造成无限循环(死循环),正常业务编程中应该 尽量避免死循环,会影响程序性能或者造成程序卡死崩溃【while true】。
    • 1+2+3+...+100=?
  • do...while循环
    • 对于while语句而言,如果不满足条件,则不能进入循环。但是有时候即使不满足条件,也至少执行一次的程序。
    • do...while循环和while循环相识,不同的是,do...while循环至少会执行一次。
    • do{//会被执行的代码语句}while{布尔表达式}
    • while和do...while的区别:
      • while先判断后执行,dowhile是先执行后判断
      • do...while总是保证循环会被至少执行一次。
  • for循环
    • 虽然所有循环结构都可以while或者do...while表示,但是Java提供了另一循环语句-》for循环,使一些循环结构变得更加简单。
    • for循环语句是支持迭代的一种通用结构,是最有效最灵活的循环结构。
    • for循环执行的次数是在执行前就确定了:
      • for(初始化;布尔表达式;更新迭代){//代码语句}
    • 计算1-100之间奇数和偶数的和、 用while或for循环输出1-1000之间能被5整除的数,且每行输出3个、 九九乘法表。
  • 在Java5中引入了一种主要用于数组的增强型for循环。
    • for(声明语句:表达式){//代码句子}
    • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。
    • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

break

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强制退出循环,不执行循环中剩余的语句,(break也可以在switch循环中使用)

continue

  • continue语句用在循环语句体中,用于终止某次循环过程,即是跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

goto

  • goto关键字很早就在程序语言中出现,尽管goto仍是java的一个保留关键字,但并未在语言中得到正式使用; Java没有goto,然而在break和continue这两个关键字的身上,我们仍然能够看到一些goto的影子--》带标签的break和continue。
  • “标签”是指后面跟一个冒号的标识符,例如:label:
  • 对Java来说唯一用到标签对地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。


这篇关于Java学习笔记-流程控制,三大逻辑结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程