java控制台输入输出总结

一、控制台输入:

1.最常用:Scanner

public static void main(String[] args) {
  System.out.println("请输入数据:");
  Scanner scan = new Scanner(System.in);
  String read = scan.nextLine();
  System.out.println("输入的数据为:"+read);
 }

备注:

* scan.next():输入一个不含空格的字符串,
* scan.nextInt():输入一个整数
* scan.nextDouble():输入一个double
* scan.nextByte():输入一个字符

2.BufferedReader(繁琐)

public static void main(String[] args) {
  System.out.println("请输入数据:");
  BufferedReader br = new  BufferedReader(new  InputStreamReader(System.in));
  String read="";
  try {
   read=br.readLine();  
  } catch (IOException e) {
   e.printStackTrace();
  }
  System.out.println("输入的数据为:"+read);
 }

3.System.in

(1)char类型接收:一次只能读入一个字节数据,不能读取整个输入的字符串

public static void main(String[] args) {

 char read = '0';
 System.out.println("输入数据:");

 try {
   read = (char) System.in.read();
  }catch(Exception e){
   e.printStackTrace();
  }

System.out.println("输入的数据为:"+read);

}

(2)byte[]接收:System.in.read(byte abyte0[]);

public static void main(String[] args) {
  System.out.println("请输入数据:");
  int i=0;
  byte b[] = new byte[1024];
  try {
    i = System.in.read(b);
  } catch (IOException e) {
   e.printStackTrace();
  }
  System.out.println(new String(b, 0, i-2));//有两个结束符:\r\n,所以要减2
 }

二、控制台输出:

1.正常输出:换行:System.out.println("输出的内容: "+str); 不换行:  System.out.println("输出的内容: "+str);

2.错误输出:System.err.println("输出内容: "+str);

3.格式化输入:System.out.printf(format, args);其中:format为指定的输出格式,args为参数  

原文:http://blog.csdn.net/ajioy/article/details/6778923

 System.out.printf("%+8.3f\n", 3.14); //"+"表示后面输出的数字会有正负号,正的+,负的- ;8.3f表示输出浮点数,宽度为8,小数点保持3位有效
   System.out.printf("%+-8.3f\n", 3.14);//"-"表示靠左对齐
   System.out.printf("%08.3f\n", 3.14);//"0"8位宽度中自动补0
   System.out.printf("%(8.3f\n", -3.14);//"("如果是负数,自动加上( )
   System.out.printf("%,f\n", 123456.78); //","金钱表示方法,每三位有一个逗号
   System.out.printf("%x\n", 0x2a3b); //输出16进制数
   System.out.printf("%#x\n", 0x2a3b);//输出带0x标识的16进制数
   System.out.printf("老板:您名字%s,年龄:%3d岁,工资:%,-7.2f\n","ajioy",21,36000.00);
   System.out.printf("老板:您名字%1$s,年龄:%2$#x岁\n","ajioy",38); //"n{1}quot;表示用第n个参数

输出结果如下:

 +3.140
+3.140
0003.140
   (3.140)
123,456.780000
2a3b
0x2a3b
老板:您名字ajioy,年龄: 21岁,
老板:您名字ajioy,年龄:0x26岁

 

注意:console下的输出在实际开发中并不常用,所以理解即可。

 

posted @ 2017-11-22 16:34  青山不改,绿水长流  阅读(1643)  评论(0编辑  收藏  举报