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 6

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);

时间与日期的转换符

可以采用一个格式化的字符串支出要被格式化的参数索引,索引必须紧跟在%后面,并以$终止,例如:

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(Path.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(Path.get(“myfile.txt”));

}

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 7

static Path get(String pathname)

根据给定的路径名构造一个Path

时间: 2024-08-12 08:42:20

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

黑马程序员——Java基础语法(三)---数组

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本篇博文主要的内容是java语法的第三部分--数组,数组同一种类型数据的集合.其实,数组就是一个容器.数组可以自动给数组中的元素从0开始编号,方便操作这些元素. 一.数组的定义 数组的格式一:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];如:int[] arr=new int[5]; 数组定义的格式二:元素类型[]数组名=new元素类型[]{元素,元素,……

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

一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ]数组名 = new 元素类型 [元素个数或数组长度] ; 如: int []  arr = new int [3];  也可以写成: int arr[] = new int[3]; 格式2:元素类型 []数组名 = new 元素类型 [ ]{元素1,元素2,…}; 如: int []  arr =

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

Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为: DataType identifier; 或 DataType identifier = value; 其中,DataType是变量类型,如int/string/char/double/boolean等:identifier是变量名称,即标识符:value就是声明变量的值. 注: a.标识符由数字0-9.大小写字母.下划线.美元符号.人民币符号以及所有

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

java 基础语法

第一周接触java基础语法,上课听得头痛,还是半懂不懂,放学后讲的啥子都忘了. 这是老师给的周末作业: 1.输入长与宽计算长方形面积与周长.(用精度类型计算)2.输入一个学生三科成绩,计算平均分.3.输入int型市场价格,购买价格,计算差额,差额显示为单精度浮点型.4.42页第二,计算房贷那道题.5.输入一个学生成绩,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.6.题目:输入三个整数x,y,z,请把这三个数由小到大输出.程序分析:我们想办法把最小的数放到x

JavaSE入门学习7:Java基础语法之语句(下)

继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for. (5)Java循环语句之while 语法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 运行

黑马程序员——Java基础语法(一) --- 关键字、标识符、注释、常量和变量、运算符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 本篇博文主要总结java的基础语法,主要的内容包括:关键字.标识符.注释.常量和变量.运算符几部分. 一.关键字 关键字是被Java语言赋予了特殊含义的单词.关键字中所有的字母都是小写. java中的关键字主要包括如下几部分: 1.用于定

java基础(三章)

java基础(三章) 一.基本if结构 1.流程图 l  输入输出 l  判断和分支 l  流程线 1.1              简单的if条件判断 if(表达式){            //表达式为true,执行{}中的代码 } 1.2              简单的if条件判断 if(表达式){            //表达式为true,执行这里 }else{            //表达式为false,这行这里 } 说明:如果if或else后面,有且仅有一行代码,{ }可以省略

Java基础语法(一)---关键字、常量、变量、运算符

Java基础语法(一)---关键字.常量.变量.运算符一.关键字 定义:被Java赋予了特殊含义的单词. 特点:体现上都是英文小写. 1. 用于定义数据类型的关键字 基本数据类型: 整数类型: byte(1字节,最大值127) short(2字节,最大值为2^15-1) int(4字节,最大值为2^31-1) long(8字节,最大值为2^63-1) 浮点类型: float (单精度实数在内存中占32bit 有效数字为6~7位) double(双精度实数占内存单元为64bit 有效数字为15~1