用户交互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. ELKF搭建

    logstash cat /etc/logstash/logstash.yml |grep -v '#'path.data: /data/logstash/datapipeline.ordered: ...

  2. wpf 自定义Messagebox时,对话框显示不居中问题

    在自定义Messagebox(有属性Window.SizeToContent="WidthAndHeight")时,对话框显示不居中,经过尝试,应设置如下: msgBox.Wind ...

  3. Spark log4j 配置

    Spark的ml包提供了非常好用的调参功能,通过ParamGridBuilder构建待选参数(如:logistic regression的regParam),然后数据量小的时候可以用CrossVali ...

  4. httpclint的传值和访问https

    一.StringContent与FormUrlEncodedContent 可参考这篇文章写的非常好: https://blog.csdn.net/lxrj2008/article/details/7 ...

  5. C++ 函数类型和函数指针类型的自动推导、声明和赋值

    1.函数类型推导 #include <iostream> bool MyComp(int val1, int val2) { return val1 > val2; } int ma ...

  6. Java script Date和长整型互换

    document.write(new Date().getTime()); document.write('<br/>') var date1=new Date(1590024428000 ...

  7. springboot返回前端对象null转为空字符串

    1 2 import com.fasterxml.jackson.core.JsonGenerator; 3 import com.fasterxml.jackson.core.JsonProcess ...

  8. OA产品并发访问能力

    环境:cpu 16c,内存 32G,系统管理服务.jtportal服务 启动双实例样本:50线程,循环登录60次,共计3000次登录,用时3分钟40秒结论:平均每分钟支持800次登录,均在3秒左右.按 ...

  9. 动态修改网页的 icon 和 title

    在public的index.html中使用 link 和 title 占位(内容随意,获取到数据之后此处的内容会被覆盖) 在App.vue中调用接口获取数据,找到 link 和 title 元素,将获 ...

  10. Docker 详解

    1.docker 基础 https://blog.csdn.net/huangjhai/article/details/118854733 2.docker进阶 https://blog.csdn.n ...