用户交互Scanner

Scanner对象

  • 基本语法

    Scanner sc = new Scanner(System.in);

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

  • next():

      1. 一定要读取到有效字符后才可以结束输入。

      2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。

      3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

      4. next()不能得到带有空格的字符串

  • nextLine():

      1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。

      2. 可以获得空白。

顺序结构

  • JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 顺序结构是最简单的算法结构。

  • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

选择结构

  • if单选择结构

    • 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中使用if语句来表示

    • 语法

      if(布尔表达式){
         //如果布尔表达式为true将执行的语句
      }
  • if双选择结构

    • 语法

      if(布尔表达式){
         //如果布尔表达式为true将执行的语句
      }else{
      //如果布尔表达式为false将执行的语句
      }
  • if多选择结构

    • 语法

    if(布尔表达式1){
       //如果表达式 1的值为true将执行的语句
    }else if(布尔表达式2){
    //如果表达式 2的值为true将执行的语句
    }else if(布尔表达式3){
    //如果表达式 3的值为true将执行的语句
    }else{
    //如果以上表达式都不为true将执行的语句
    }
  • 嵌套的if结构

    • 语句

    • if(布尔表达式1){
         //如果布尔表达式1的值为true执行代码
         if(布尔表达式2){
             //如果布尔表达式2的值为true执行代码
        }
      }
  • switch多选择结构

    • 多选择结构还有一个实现方式就是switch case语句。

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

    • switch语句中的变量类型可以是:

      • byte、short、int或者char。

      • 从Java SE 7开始

      • switch 支持字符串String类型了

      • 同时case标签必须为字符串常量或字面量。

      语法

      switch(expression){
         case value:
             //语句
             break;//可选
         case value:
             //语句
             break;//可选
         //你可以有任意数量的case语句
         default: //可选
             //语句
      }

循环结构

  • while循环

  • do...while循环

  • for循环

  • 在Java5中引入了一种主要用于数组的增强型for循环。

while循环

  • while是最基本的循环,它的结构为:

    while(布尔表达式){
       //循环内容
    }
  • 只要布尔表达式为true,循环就会一直执行下去。

  • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。

  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等。

  • 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免你死循环。会影响程序性能或者造成程序卡斯崩溃!

Day03_Class01的更多相关文章

随机推荐

  1. JS字符串拼接的方法及性能比较

    一.+和+=str += "one" + "two";这段代码在运行过程中,会经历四个步骤:1.在内存中创建一个临时字符串2.将连接后的字符串"one ...

  2. 日志 LOG / Debug

    有很多时候我们想要查看日志文件,发现服务器已经被重启了,然后原来的日志就被打包存起来了,这个时候生成的gz日志文件我们就没有办法直接去查看了. 所以这个时候我们就需要zcat+日志名.gz来查看,还可 ...

  3. SQLite检查表是否存在

    通过检索SQLite的内置表sqlite_master,查询是否有需要检索的表信息,即可得出该表是否存在. SELECT * FROM sqlite_master WHERE type='table' ...

  4. Grafana + Prometheus 监控JVM

    最近在研究监控系统,所以第一次接触了Grafana跟Prometheus,Grafana是一个很强大的可视化指标工具,而Prometheus是一个时序数据库. 项目总会慢慢做大,一些必要的监控以及预警 ...

  5. redis的持久化方案RDB和AOF

    RDB:快照形式,定期把内存中当前时刻的数据保存到磁盘.Redis默认支持的持久化方案.速度快但是服务器断电的时候会丢失部分数据 AOF形式:append only file.把所有对redis数据库 ...

  6. [NepCTF2022]中学数学

    中学数学 p.q挣扎很久没分解出来,wp出来了赶紧复现试试. 题目 from gmpy2 import * from Crypto.Util.number import * from secret i ...

  7. Wps调用dll操作Excel表格转PDF

    起始原因:wps编辑创建的文档在microsoft office 中打开,会报内容存在异常是否恢复,因此wps文件被微软设定为破损文件,无法对原有文档进行操作运行,故在此使用wps对Excel进行操作 ...

  8. Java流程控制之DoWhile循环

    DoWhile循环 对于while语句而言,如果不满足条件,则不能进入循环.但有时候我们需要即使不满足条件,也至少执行一次. do...while 循环和 while循环相似,不同的是,do...wh ...

  9. Oracle数据泵恢复用户数据实例

    我们测试环境经常会遇到恢复生产数据的情况,我一般比较习惯使用数据泵来搞,这个具体根据自己的业务形态选择适合自己的方式. 此次我们说的是完全恢复用户数据,具体步骤如下: 1.备份数据 expdp tes ...

  10. 使用Echarts 动态更新散点图

    最近遇到一个作业,要求使用 Echarts 散点图,本来这个图是很容易的,官网上也有很多的教程.但是如果可以动态的更新 Echarts 散点图就更好了.我本身对 js 不感兴趣,经过不停的查找资料最终 ...