1.读取输入:
控制台输入需要构造一个Scanner对象,并与“标准输入流”System.in关联
Scanner in = new Scanner(System.in);
nextLine方法将输入一行
System.out.print("what is your name");
String name = in.nextLine();
要想以空白符为分隔符,就调用
String firstname = in.next();
读取一个整数
in.nextInt();
2.Scanner类:
Scanner类定义在java.util包中
因为输入是可见的,所以Scanner类不适用于从控制台读取密码。
Java SE 6引入了Console类实现:
Console cons = System.console();
String username = cons.readLine("User name:");
char[] password = cons.readPassword("Password:");
Console类属于java.io包中
Java要与Console进行交互,不总是能得到可用的Java Console类的。一个JVM是否有可用的Console,依赖于底层平台和JVM如何被调用。如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就我们可以得到一个可用的Console实例。如果在Eclipse或NetBean中运行则得不到,因为JVM不是在命令行中被调用的,或者输入输出被重定向了。
3.java.util.Scanner 5.0:
Scanner(InputStream in)
用给定的输入流创建一个Scanner对象
String nextLine()
读取输入的下一个内容
String next()
读取输入的下一个单词(以空格作为分隔符)
int nextInt()
double nextDouble()
读取并转换下一个表示整数或浮点数的字符序列
boolean hasNext()
检测输入中是否还有其他单词
boolean hasNextInt()
boolean hasNextDouble()
检测是否还有表示整数或浮点数的下一个字符序列
4.java.lang.System 1.0:
static Console console()
5.java.io.Console 6:
static char[] readPassword(String prompt , Object...args)
static String readLine(String prompt , Object...args)
显示字符串并且读取用户输入,直到输入行结束。args参数可以用来提供输入格式。
6.格式化输出:
沿用C语言库函数中的printf方法,并结合转换符进行输出
例如:System.out.printf("%8.2f",x);
System.out.printf("%1$s %2$tB %2$te, %2$tY","Due date:",new Date());
System.out.printf("%s %tB %<te %<tY","Due date:",new Date());
参数索引值从1开始,而不是从0开始,%1$...对第1个参数格式化。
6.1语法图:
7.文件输入输出:
对文件进行读取,需要一个用File对象构造一个Scanner对象
例如:Scanner in = new Scanner(Paths.get("c:\\mydirectory\\myfile.txt"),"UTF-8");
要想写入文件就需要构造一个printWriter对象
例如:PrintWriter out = new PrintWriter("myfile.txt","UTF-8");
8.中断控制:
不带标签:break;
带标签:break ...;
例如:
continue;