Java输入方法总结

157 阅读2分钟
  • nextLine()

    读取整行数据,包括行内的空格和标点,以回车键结束。若要在nextInt()回车后使用nextLine(),则需要在二者中间加一个"scan.nextLine();"来吸收回车键。因为"nextInt()"以回车键结束,但不吸收回车键,被"nexInt()"扔在缓冲池中的回车键会使"nextLine()"还没开始就被迫结束

  • next() 用处不大,和"nextLine()"一样,吸收的是字符串数据.

          1. 吸收标点,但不吸收空格。若一行数据中含有空格,则会被分隔开,只得到了第一个空格前的数据
    
  1. 一定在读到有效字符后才可以结束输入。所以,当它与"nextInt()"连用时,就不用考虑刚开始接收数据就 迎头来一个回车符的问题

  2. 对输入有效字符之前遇到的空白,会自动忽略掉,不予接收

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

    注: 空白=空格、Tab 有效字符!=空格、Tab、回车

  • nextInt() 读取整数,以空格或回车键结束。

  • hasNext()
    1. 常伴随while条件语句使用,while程序体中会有一个输入语句。若有同类型数据继续输入,程序则继续接收;若输入的类型和while语句中要求输入的类型不同,则结束输入. 注:如果输进去的数以空格隔开,程序会把输进去的数处理完后一一保存,全部输完后按回车,程序输入结束,所有处理后的结果再一次性吐出 ; 如果每输入一个数就敲一次回车,那么结果也会是跟随回车键一一蹦出 2. 上述三种nextXXX类型,都可以搭配"hasNext()"使用。但也可以在整数型时使用"hasNextInt()",字符串型时使用"hasNextLine()"