Scanner基础

package 流程控制;
//Scanner是一个工具类,可以获取用户的输入。 java.util.Scanner(一个工具包)是java5的新特性
//基本语法:Scanner s = new Scanner (System.in)

/*两种方法:next()与nextLine()获取输入的字符串
读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
*/

import java.util.Scanner;

public class Scanner之next {
public static void main(String[] args) {

//创建一个扫描器对象,用于接收键盘数据
// (可以通过输入new Scanner 然后选择Scanner java.util快捷导入包)
Scanner scanner = new Scanner(System.in);//in就是输入,out是输出

System.out.println("使用next方式接受:");

//判断用户是否输入字符串
//(目前用不到,可以去掉 用于循环,推测与最后的close有关?阻止了if的循环?虽然删了close也没啥区别好像,该关还是关)
if (scanner.hasNext()) {

String str = scanner.next();//程序会等待用户输入完毕
System.out.println("输入的内容为:" + str);
}
//凡是属于IO流(输入输出)的类如果不关闭就会一直占用资源,应用完就关

//此时运行后,可以看到程序一直在运行,等待着输入值
//直到输入值以后,才会结束
scanner.close();
/*next()
一定在读取到有效字符后才可以结束输入
读取到字符前的空白会自动去掉
读取字符后,后面的空白会被作为分隔符或结束符
不能得到带有空格的字符串
*/

}

}===================================================
package 流程控制;

import java.util.Scanner;

public abstract class Scanner之nextLine {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("使用nextLine方式接受:");//这句应该是告诉你程序开始运行了,实际上没有也不影响

/*if(scanner.hasNextLine()){ 这个可以不加,,用于循环,暂时学不到
}
*/
String st = scanner.nextLine();
System.out.println("输出的内容为:"+st);

scanner.close();
/*nextLine()
以Enter为结束符,也就是说,这个方法返回的是回车前的所有字符
可以获得空白
*/

/*所以,总体就是
先导入java.util.Scanner
然后设类设方法
接着通过Scanner指令设定一个新的Scanner,并添加修饰符in(输入)
然后设定一个程序开始运行后输出的语句(应该是用来告诉你程序已经开始了,其实没有也能运行)
随后设定一个字符串,令其赋值为scanner.nextLine()
最后输出字符串
关闭scanner
*/
}
}
posted @ 2021-12-21 21:47  ∷牧野苍枚∷  阅读(55)  评论(0)    收藏  举报