Java基本程序设计结构——输入输出

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;

猜你喜欢

转载自blog.csdn.net/qq_38386085/article/details/80579010