一、控制台输入:
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));//有两个结束符:
,所以要减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
", 3.14); //"+"表示后面输出的数字会有正负号,正的+,负的- ;8.3f表示输出浮点数,宽度为8,小数点保持3位有效
System.out.printf("%+-8.3f
", 3.14);//"-"表示靠左对齐
System.out.printf("%08.3f
", 3.14);//"0"8位宽度中自动补0
System.out.printf("%(8.3f
", -3.14);//"("如果是负数,自动加上( )
System.out.printf("%,f
", 123456.78); //","金钱表示方法,每三位有一个逗号
System.out.printf("%x
", 0x2a3b); //输出16进制数
System.out.printf("%#x
", 0x2a3b);//输出带0x标识的16进制数
System.out.printf("老板:您名字%s,年龄:%3d岁,工资:%,-7.2f
","ajioy",21,36000.00);
System.out.printf("老板:您名字%1$s,年龄:%2$#x岁
","ajioy",38); //"n{1}quot;表示用第n个参数
输出结果如下:
+3.140
+3.140
0003.140
(3.140)
123,456.780000
2a3b
0x2a3b
老板:您名字ajioy,年龄: 21岁,
老板:您名字ajioy,年龄:0x26岁
注意:console下的输出在实际开发中并不常用,所以理解即可。