免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1324 | 回复: 0
打印 上一主题 下一主题

JAVA输入与输出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-13 15:00 |只看该作者 |倒序浏览
使用Scanner取得输入:

在命令行模式下要输入数据至程序中时,可以使用标准输入串对象System.in。然而实际上很少直接使用它,因为System.in对象所提供的read()方法,是从输入串中取得一个字节的数据,并返回该字节的整数值,但通常您要取得的输入会是一个字符串,或是一组数字。所以,System.in对象的read()方法一次只读入一个字节数据的方式并不适用。
import java.util.Scanner;
public class ScannerDemo
{
  public static void main(String[] args)
{
    Scanner scanner = new Scanner(System.in);
    System.out.print("请输入您的名字:");
    System.out.printf("hello! %s!\n", scanner.next());   /* next()功能,来取得用户的输入字符串;使用Scanner工具的nextInt()功能取得数字;还可以使用nextFloat()、nextBoolean()等方法来取得用户的输入,并转换为正确的数据类型。 */
}
}

使用BufferedReader取得输入:

Scanner取得输入的依据是空格符,按下空格键、Tab键或是Enter键,Scanner就会返回下一个输入,所以有时并不适用。因为用户可能输入一个字符串,中间会包括空格符,而您希望取得完整的字符串。如果想要取得包括空格符的输入,比较简单的方法是使用java.io.BufferedReader类取得输入。
BufferedReader类是java.io包中所提供 一个类,所以使用这个类时必须使用import告诉编译器这个类位于java.io包下。

import java.io.*;  /*BufferedReader、InputStreamReader与IOException等类,都位于java.io包下,所以在程序的开头可以使用import与*号。*/
public class BufferedReaderDemo
{
  public static void main(String[] args) throws IOException
{
    BufferedReader bufferedReader=
                   new BufferedReader(
                     new InputStreamReader(System.in));  /* 增加一个BufferedReader工具,这个工具中还要加上一个InputStreamReader工具,而InputStreamReader工具中实际的核心是System.in工具。这3个工具组合在一起,就可以进行文字输入的读取。*/
    System.out.print("请输入一列文字,可包话空白:");
    String text = bufferedReader.readLine();  /* readLine()方法会近回用户在按下Enter键之前的所有字符输入,不包括最后按下的Enter返回字符。*/
    System.out.println("您输入的文字:"+text);
}
}

常用格式控制字符:
控制字符        作   用
\\             反斜线
\'             单引号'
\"             双引号"
\uxxxx         以十六进制数指定Unicode字符输出
\xxx           以八进制数指定Unicode字符输出
\b             倒退一个字符
\f             换页
\n             换行
\r             光标移至行首
\t             跳格(一个Tab键)

常用格式转换字符:
转换字符        作  用
%%             在字符串中显示%。
%d             以十进制整数方式输出,提供的数必须是Byte/Short/Integer/Long或BigInteger。
%f             将浮点数以十进制方式输出,提供的数必须是Float/Double或BigDecimal。
%e,%E          将浮点数以十进制方式输出,并使用科学记数法,提供的数必须是Float/Double或
               BigDecimal。
%a,%A          使用科学记数法输出浮点数,以十六进制输出整数部分,以十进制输出指数部分,提供的
               数必须是Float/Double或BigDecimal。
%o             以八进制整数方式输出,提供的数必须是Byte/Short/Integer/Long或BigInteger。
%x,%X          以十六进制整数方式输出,提供的数必须是Byte/Short/Integer/Long或
               BigInteger。
%s,%S          将字符串格式化输出。
%c,%C          以字符方式输出,提供的数必须是Byte/Short/Character或Integer。
%b,%B          将true或false输出。另外,非null值输出是true,null值输出是false。
%t,%T          输出日期/时间的前置。



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69626/showart_1717650.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP