用户交互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. JavaScript的Array.flat()函数深入探讨

      JavaScript的Array.flat()函数深入探讨 在过去的几年中,已经将许多有用的功能添加到Javascript Array全局对象中,这些功能为开发人员在编写可用于数组的代码时提供了多 ...

  2. UltiSnips安装及设置

    2022-10-05 10:56:50 星期三 安装了UltiSnips插件,然后开始学习 第一个命令 UltiSnipsEdit 不好使,创建了~/.vim/UltiSnips 还是 can not ...

  3. ideavimrc 示例

    我自己的idea vim配置,用熟悉了以后还真的挺方便的 比较常用的有 ManageRecentProjects,快速切换多个project,经常会遇到同时打开多个project,来回切换方便多了 H ...

  4. WinForm嵌入Web网站

    1.安装CefSharp 2.GetMac()获取用户mac地址方法 3.根据错误提示新建CEFKeyBoardHander.cs form1.cs using CefSharp; using Cef ...

  5. 吴恩达老师机器学习课程chapter05——评估模型

    吴恩达老师机器学习课程chapter05--评估模型 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十章.第十一章. 目录 吴恩 ...

  6. select,poll和epoll使用场景和区别

    阻塞I/O至I/O多路复用 阻塞I/O指进程发起调用后会被挂起(阻塞),直到收到数据再返回.如果调用一直不返回,进程就一直被挂起.因此,使用阻塞I/O需要利用多线程来处理多个文件描述符. 引入非阻塞I ...

  7. springboot+mybatis多数据源的事务问题

    1.springboot+mybatis实现多数据源后,针对单个数据源我们可以使用@Transactional(name="xxxTransactionManager") 来指定使 ...

  8. JDK、JRE、JVM和i++

    JRE:运行环境(包含JVM和JAVA核心类库) JDK:JAVA开发工具包(包含JRE和开发工具)----开发工具:指编译工具javac和运行工具java JVM:虚拟机,保证了跨平台 ++i:先运 ...

  9. LeetCode 29. 两数相除 时间击败【100.00%】 内存击败【76.25%】

    不禁让我想起了计算机是怎样进行除法运算的,单独考虑溢出以及边界情况,单独考虑符号,其他过程和我们小学除法是一模一样的:左移除数(十进制就是扩大十倍,二进制扩大两倍),直到正好比被除数小,一边累加商(在 ...

  10. 解决idea不能自动下载maven配置文件pom.xml下的jar包依赖的问题

    表现:无法下载pom配置文件中的依赖包,或只能下载少数包,各项配置都正确的情况 理由未知: 百度了很长一段时间,网上给出比较精准的解决之一是 setting>>maven>>去 ...