黑马程序员技术交流社区

标题: 输入流system.in和args的参数区别 [打印本页]

作者: 马伟奇    时间: 2011-12-30 08:41
标题: 输入流system.in和args的参数区别
如题如题如题如题如题如题

作者: 李爱霞    时间: 2011-12-30 08:52
System.in属于Java的标准输入流,因为输入流可以包括一个文件,键盘输入,更或是一个其他的输入流等,System.in就属于控制台输入流,键盘输入是一种System.in流
作者: 张绍成    时间: 2011-12-30 09:52
本帖最后由 张绍成 于 2011-12-30 09:55 编辑

这两种方法输入的对比:
对比一:
  1. public class a{
  2.       public static void main (String args[]{
  3.             System.out.println("参数:"+args[0] +args[1]+args[2]);
  4.       }
  5. }
复制代码
如是代码,要输出args[0]数据,用dos输入时,应该 java a +你想输入的数据!!。
对比二:如果是要java a 回车之后才输入就可以用system.in
例如
  1. import java.io.*;
  2. public class a{
  3.    public static void main(String args[]) throws IOException{
  4.       String str;
  5.       BufferedReader buffer;
  6.       buffer= new BufferedReader (new InputStreamReader(System.in)); //system.in输入的都只能是字符??
  7.       str=buffer.readLine();
  8.       System.out.println("输入的字符串"+ str);
  9.       int s1=Integer.parseInt(str);                      //字符转换成int类型。 拓展:如果是数据类型转换成字符串,则是String s    =string.valueOf(v1).    用valueOf()函数
  10.       System.out.println("输入的int"+ s1);
  11. }
  12. }
复制代码
System.in 是一个方法   定义一个变量接收 然后做Integer 转换就可以了

对比三:
  1. public class aa{
  2. public static void main(String args[]){
  3.           StringBuffer s=new StringBuffer(args[0]);   //用 StringBuffer不用String原因是两者最大不同是StringBuffer可以直接修改字符串中的内容 append()增加,insert(),reverse();
  4.           System.out.println("输入的字符串"+s);
  5.           s.insert(0,"good morning"); //在第0个位置插入字符串
  6.           System.out.println("插入后的字符串"+s);
  7.           s.reverse();
  8.           System.out.println("反转的的字符串"+s);
  9.        }
  10. }
复制代码

作者: 周吉明    时间: 2011-12-30 20:39
args[] 用来在程序启动的时候传入参数。
System.in 是在程序运行中读入数据。
String[] srgs传入的是字符串数组而System.in传入的是字符。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2