A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java冬冬 高级黑马   /  2013-5-11 00:17  /  1160 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 java冬冬 于 2013-5-11 13:06 编辑
  1. public class SystemDemo
  2. {
  3. public static void main(String[] args)
  4. {
  5. String str="itheima";
  6. try
  7. {
  8. System.out.println(Integer.parseInt(str));
  9. }
  10. catch (Exception e)
  11. {
  12. System.out.println(e);
  13. System.err.println(e);
  14. }
  15. }
  16. }
复制代码
执行结果:

虽然System.out与System.err两者写法不同,但是输出的结果却是一样的,
既然功能是一样的,为什么还要写成两种呢?求解?????{:soso_e152:}

6 个回复

倒序浏览
本帖最后由 Jacky_Chen1990 于 2013-5-11 00:23 编辑

还有吻么。。。。{:soso_e152:}

他们的功能是不一样的。只是此刻你输出的一样。

你看一下API就知道了。API内容如下:
err:
“标准”错误输出流。此流已打开并准备接受输出数据。 通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。按照惯例,此输出流用于显示错误消息,或者显示那些即使用户输出流(变量 out 的值)已经重定向到通常不被连续监视的某一文件或其他目标,也应该立刻引起用户注意的其他信息。  


out:“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。 对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是:

回复 使用道具 举报
out有缓存,err无

当向控制台输出信息时,开发者有两个选择:System.out和System.err。使用者更倾向于输出的是System.out,而如果是System.err则输出“error”。尽管这看起来是显而易见的,但很多开发者都不了解为什么出错和调试时使用System.err。     
  当输出一个流时,JVM和操作系统共同决定何时输出这个流。也就是说,尽管开发者键入了:   
  System.out.print_   
  ("Test   Output:");   
  JVM和操作系统的组合体并不会立即输出这个流。相反,它将保持等待状态直到将要输出的东西达到一定的量。   
  假设输入以下指令:   
  System.out.println("Debugging   Info.");   
  JVM可能同意输出;然而,操作系统可能决定暂不输出。   
  由于这个原因,在调试程序时想要发现出错的位置就有可能成为问题。考虑以下的程序:   
   
  for(int   i=0;   i<56;   i++)   {   
  System.out.println(i);   
  ...   //   containing   an   error   
  }   
  错误可能出现在i等于54时,但是可能JVM在i等于49时就结束输出了。50到54仍然存在于缓存中,结果也就丢失了。   
   
  使用System.err来报告错误、调试程序就可以避免这种情况出现,它将使每一次操作的结果都输出出来。例如以下程序:   
   
  for(int   i=0;   i<56;   i++)   {   
  System.err.println(i);   
  ...   //   containing   an   error   
  }   
  在每一次i等于54时都将显示错误信息。
回复 使用道具 举报
他们的功能是不一样的 建议你查查API 楼上的已经解释的很清楚了 我就不多说了
回复 使用道具 举报
Jacky_Chen1990 发表于 2013-5-11 00:21
还有吻么。。。。

他们的功能是不一样的。只是此刻你输出的一样。

:handshake
回复 使用道具 举报
zZZ~~ 发表于 2013-5-11 00:22
out有缓存,err无

当向控制台输出信息时,开发者有两个选择:System.out和System.err。使用者更倾向于输出 ...

:handshake
回复 使用道具 举报
壹旪傾峸 发表于 2013-5-11 01:27
他们的功能是不一样的 建议你查查API 楼上的已经解释的很清楚了 我就不多说了  ...

:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马