用户交互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. 动态规划-1-钢条切割(Dynamic Programming-1-rod cutting)

    1 #include <stdio.h> 2 #define LEN 10 3 #define NEGINF -999999 4 struct r_d { 5 int r; //profi ...

  2. unity3d Time.deltaTime个人理解

    官方的解释是:静态只读属性,时间增量,渲染上一帧所花费的时间看下面的代码 /// <summary> /// 每帧刷新 /// </summary> void Update() ...

  3. 记下HTML中图片的路径

    1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...

  4. python中如何获取主机的ip和主机名

    使用python中的socket库,可以轻松获取主机ip和主机名. 一.获取主机名 import socket hostname = socket.gethostname() print(hostna ...

  5. The `.update()` method does not support writable nestedfields by default. Write an explicit `.update()` method for serializer `...`, or set `read_only=True` on nested serializer fields.解决办法

    原因 Serializers中,外表的字段如source="group.title"不能进行写入操作 解决办法 将外表字段设置为read_only=True,此时可能有人就会问了: ...

  6. 简单的js hook

    // ==UserScript== // @name ethereum request // @namespace http://tampermonkey.net/ // @version 0.1 / ...

  7. 扫二维码 下载app

    <?phpheader("Access-Control-Allow-Origin: https:// ");$version = PAPI_GetSafeParam('ver ...

  8. 浅谈前端自动化构建(Grunt、gulp。webpack)

    前言 现在的前端开发已经不再仅仅只是静态网页的开发了,日新月异的前端技术已经让前端代码的逻辑和交互效果越来越复杂,更加的不易于管理,模块化开发和预处理框架把项目分成若干个小模块,增加了最后发布的困难, ...

  9. JAVA根据时间增加1天

    String time = "2021-12-1"; //指定时间 int day = 30;//指定增加天数 SimpleDateFormat sf = new SimpleDa ...

  10. js 深拷贝 和 浅拷贝

    1.  ...运算符  (浅拷贝) let obj = {a:1,b:2}; let obj2 = {...obj}; obj.a=3 obj //{a: 3, b: 2} obj2 //{a: 1, ...