笔记整理 来源于《Java核心技术卷 I 》 《Java编程思想》

1. 读取输入

Scanner in = new Scanner(System.in);
 
输入一行(包含空格)
String str = in.nextLine()     
 
读取一个单词(以空白符作为分隔符)
String firstName = in.next();
 
读取一个整数
int age = in.nextInt();
 
读取一个浮点数 in.nextDouble()
 
输入是可见的,Scanner类不适合从控制台读取密码,Java 6引入Console实现
Console cons = System.console();
char[] passwd = cons.readPassword(“Password:”);
为了安全起见,返回的密码存放在一维字符数组中,而不是字符串中。在对密码进行处理之后,应马上用一个填充值覆盖数组元素。
采用console输入一次只能读取一行。
 

java.util.Scanner 5.0

Scanner(InputStream in)
用给定的输入流创建一个Scanner对象
 
String nextLine()
读取输入的下一行内容
 
String next()
读取输入的下一个单词(以空格作为分隔符)
 
int nextInt()
double nextDouble()
读取并转换下一个表示整数或浮点数的字符序列
 
boolean hasNext()
检测输入中是否还有其他单词
 
boolean hasNextInt()
boolean hasNextDouble()
检测是否还有表示整数或浮点数的下一个字符序列
 

java.lang.System 1.0

static Console console() 6
如果有可能进行交互操作,就通过控制台窗口为交互的用户返回一个Console对象。否则返回null。对于任何一个通过控制台窗口启动的程序,都可以使用Console对象。否则,其可用性将与使用的系统有关。
 

java.io.Console

static char[] readPassword(String prompt,Object…args)
static String readLine(String prompt,Object…args)
显示字符串primpt并且读取用户输入,知道输入行结束。args参数可以用来提供输入格式。

2. 格式化输出

System.out.printf()
每个以%字符开始的格式说明符都用相应的参数替换。格式说明符尾部的转换符将指示被格式化的数值类型:f表示浮点数,d表示是十进制整数。
用于printf的转换符:
 

用于printg的标志

 +                                           打印正数和负数的符号                                                                           +3333.33
 空格                                       在正数之前添加空格                                                                                 | 3333.33|
System.out.printf(“%,(.2f”) 使用分组的分隔符并将负数括在括号内
 
可以使用s转换符格式化任意的对象。对于任意实现了Formattable 接口的对象都将调用formatTo方法;否则将调用toString方法,它可以将对象转换为字符串。
可以使用静态的String.format方法创建一个格式化的字符串,而不打印输出:
String message = String.format(“Hello,%s. Next Year,you’ll be %d”,name,age);
 

2.1 时间与日期的转换符

可以采用一个格式化的字符串支出要被格式化的参数索引,索引必须紧跟在%后面,并以$终止,例如:
System.out.printf(“%1$s %2$tB %2$te,%2$tY,”date:”,new Date());
date:February 9, 2004
还可以选择使用<标志,指示前面格式说明中的参数将被再次使用。
System.out.printf(“%s %tB %<te %<tY”,”date:”,new Date());

参数索引从1开始

3. 文件输入与输出

读取,用File对象构造一个Scanner对象
Scanner in = new Scanner(Paths.get(“myfile.txt”));
如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠:“c:\\mydirectory\\myfile.txt”
然后就可以使用任何一个Scanner方法对文件进行读取
 
写入 需要构造PrintWriter对象。在构造器中,只需要提供文件名
PrintWriter out = new PrintWriter(“myfile.txt”);
如果文件不存在,创建该文件。可以像System.out一样使用print,println,printf
 
如果用一个不存在的文件构造一个Scanner,或者用一个不能被创建的文件名构造一个PrintWriter,那么会发生异常。
Public static void main(String[] args) throw FileNotFoundException
{
           Scanner in = new Scanner(Paths.get(“myfile.txt”));
           …
}
 
 
文件末尾写入 
FileWriter writer = new FileWriter("myfile.txt", true);

writer.write("信息");

换行 writer.write(dates+"\r\n");

java.util.Scanner 5.0

Scanner(File f)
构造一个从给定文件读取数据的Scanner
Scanner(String data)
构造一个从给定字符串读取数据的Scanner
 

java.io.PointWriter 1.1

PrintWriter(String filename)
构造一个将数据写入文件的PrintWriter.
 

java.nio.file.Paths

static Path get(String pathname)
根据给定的路径名构造一个Path

Java基础语法<三> 输入输出的更多相关文章

  1. Java基础语法(三)---数组

    一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...

  2. JavaSE基础(三)--Java基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  3. 011 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 05 变量的三个元素的详细介绍之三—— 变量值——即Java中的“字面值”

    011 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 05 变量的三个元素的详细介绍之三-- 变量值--即Java中的"字面值" 变量值可以是 ...

  4. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  5. JAVA基础(三)—— 输入输出处理

    JAVA基础(三)-- 输入输出处理 1 输入解析 //Scanner获取输入 import java.util.Scanner; Scanner s = new Scanner(System.in) ...

  6. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  7. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  8. java基础(三章)

    java基础(三章) 一.基本if结构 1.流程图 l  输入输出 l  判断和分支 l  流程线 1.1              简单的if条件判断 if(表达式){            //表 ...

  9. Java基础语法(下篇)

     Java基础语法(下篇) 内容概要:        (1)函数的定义        (2)函数的特点        (3)函数的应用        (4)函数的重载               ...

随机推荐

  1. Reinforcement Learning in R

    Reinforcement learning has gained considerable traction as it mines real experiences with the help o ...

  2. ArrayList实现分组功能

    这边只用2个属性来进行分组 定义Object有key与value属性 按照key的不同对于arrayList进行分组 List<Object> tempList=new ArrayList ...

  3. 点评阿里JAVA手册之编程规约(命名风格、常量定义、代码风格、控制语句、注释规约)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是 ...

  4. C. Friends

    C. Friends 题意 对于任一点,求到此点距离不超过6的节点数. 分析 第一次dfs,形成一个以 1 为根的有向树,设 down[i][j] 为以i为根节点,距离 i 点距离不超过 j 的节点数 ...

  5. 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)

    前面我们已经讨论了容器的各种操作,对容器的生命周期有了大致的理解,下面这张状态机很好地总结了容器各种状态之间是如何转换的. 如果掌握了前面的知识,要看懂这张图应该不难.不过有两点还是需要补充一下: 可 ...

  6. 【MyBatis源码解析】MyBatis一二级缓存

    MyBatis缓存 我们知道,频繁的数据库操作是非常耗费性能的(主要是因为对于DB而言,数据是持久化在磁盘中的,因此查询操作需要通过IO,IO操作速度相比内存操作速度慢了好几个量级),尤其是对于一些相 ...

  7. JS阻塞以及CSS阻塞

    一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...

  8. 透过源码看看Redis中如何计算QPS

    通常我们采集Redis的性能数据时,或者想要知道Redis当前的性能如何时,需要知道这个实例的QPS数据,那么这个QPS数据是如何计算的呢?我们都有哪些办法或者这个QPS ? QPS顾名思义就是每秒执 ...

  9. 学容器必须懂 bridge 网络 - 每天5分钟玩转 Docker 容器技术(32)

    上一节我们讨论了 none 和 host 类型的容器网络,本节学习应用最广泛也是默认的 bridge 网络. Docker 安装时会创建一个 命名为 docker0 的 linux bridge.如果 ...

  10. 原生js在绑定事件时不用获取id名可直接用id名绑定???

    <div id="btn"> 点击 </div> <script> btn.onclick=function(){ console.log(bt ...