System类

System类是一个特殊类,它是一个公共最终类,不能被继承,也不能被实例化,即不能创建System类的对象。System类功能强大,与Runtime一起可以访问许多有用的系统功能。System类保存静态方法和变量的集合。标准的输入、输出和Java运行时的错误输出存储在变量in,out和err中。由System类定义的方法丰富并且实用。System类中所有的变量和方法都是静态的,使用时以System作为前缀,即形如“System.变量名”和“System.方法名”。

1.标准的输入输出

System类包含三个使用频繁的公共数据流,分别是:标准输入(in)、标准输出(out)、标准错误输出(err)。

① public static final InputStream in--------标准输入。

这个属性是InputStream类的一个对象,它是未经包装的原始Input Stream,读取System.in之前应该先加以包装。可以通过read()方法读取字节数据。

② public static final PrintStream out--------标准输出。

③ public static final PrintStream err---------标准输出。

out和err都已经被包装成PrintStream对象,所以可以直接使用System.out和System.err。可以通过方法print()、println()或write()方法很方便地完成各种数据类型的输出。out与err使用上的不同是: System.out用于输出普通信息,out的输出一般需要缓存;System.err一般情况下用来打印错误信息,不需要缓存,快速显示紧急信息。

关于InputStream类和PrintStream类将在java.io包中介绍。

2.System类的常用方法

System类有一些有用的方法,这些方法用于处理运行环境。下面简单介绍几个方法及其功能。

(1)获取当前时间

使用currentTineMillis( )可以记录程序执行的时间,这是一个特别有意义的用法。

currentTineMillis( )方法返回自从1970年1月1日午夜起到现在的时间,时间单位是毫秒。如果要记录程序中一段有问题程序的运行时间,可以在这段程序开始之前调用currentTineMillis( )方法存储当前时间,在这段程序结束处再次调用currentTineMillis( )方法。执行该段程序所花费的时间为其结束时刻的时间值减去其开始时刻的时间值。下面的程序段可以用来估计一下执行某个循环所占用的时间:

long startTime=System.currenTimerMillis( );//记录循环开始时间

int sum=0;

for(int i=0;i<100000;i++){

sum+=i;

}

long endTime=System.currentTimeMillis( );// 记录循环结束时间

System.out.Println("time: "+(endTime-startTime)+ "milliseconds. ");

注意:虽然使用cuttentTimeMillis()方法可以计算出当前的日期和时间,但是获取当前日期和时间最好使用java.util中的Date类。

java中system_《java中System类》 | 学步园相关推荐

  1. java同时关闭两个窗口_在一个窗口中同时关闭多个窗口的问题(Swing中事件多点传送的问题) | 学步园...

    class   A{} A中包含有: JFrame   frameA; JButton   btnA; class   B{} B中包含有: final   JFrame   frameB; Stat ...

  2. java外部类调用内部类_java中的外部类和内部类 | 学步园

    1.概念 外部类:这是一个相对内部类的概念,如果一个类中嵌套了另外一个类,我们就把这个类叫做外部类. 内部类:顾名思义,就是定义在里边的那个类.  见以下代码: 定义了一个类Outer,在Outer内 ...

  3. Java学习总结:48(System类对IO的支持)

    System类对IO的支持 System类与IO有关的3个对象常量 No. 常量 类型 描述 1 public static final PrintStream err 常量 显示器上错误显示 2 p ...

  4. Java学习总结:33(System类)

    System类 System类的方法 No. 方法 类型 描述 1 public static void arraycopy(Object src,int srcPos,Object dest,int ...

  5. 十九 Java的语言基础(System类 Date类)

    System类 1 System.exit(0);//0是正常推出,非0强制退出:System.gc();//运行垃圾回收器2.获取当前的毫秒值:1s=1000ms:Long start = Syst ...

  6. java之进阶语法(System类、StringBuilder及包装类)

    一.System类 java.lang.System 类包含一些有用的类字段和方法,可以获取与系统相关的信息或是系统级操作.它不能被实例化. 在 System 类提供的设施中,有标准输入.标准输出和错 ...

  7. python中类的嵌套_python中的嵌套类 | 学步园

    在.NET和JAVA语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的,今天在python也看到了很不错支持一下.动态语言中很好的嵌套类的实现,应该说嵌套类解决设计问题同时简化了程序,值得学 ...

  8. java构造字符缓冲区_java学习笔记 | 学步园

    一.数组 类型[] 名称=new 类型[长度] 二.字符串2.1字符串类Stringjava.lang.StringString 名称=new String("xxxx")=&qu ...

  9. java的graphics2d_Java Graphics2D 使用详解 | 学步园

    正如我们在前面提到的,我们可以对Graphics2D类进行多项设置.实际上,渲染引擎在绘制Graphics2D图形前会查看 7个主要的属性: Paint Stroke Font Transformat ...

  10. mysql 枚举字段,MySQL字段中的枚举是什么意思 | 学步园

    MySQL字段相信大家都有一些了解,为您介绍的是MySQL字段中的枚举,希望对您学习MySQL字段方面能够有所帮助.下面学步园小编来讲解下MySQL字段中的枚举是什么意思? MySQL字段中的枚举是什 ...

最新文章

  1. php组件化开发composer,PHP组件化开发 - JimmyJaw的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. jsp定义一个变量在html,jsp中变量及方法的声明与使用说明
  3. 一条正确的Java职业生涯规划,顺利拿到offer
  4. PL/SQL 使用文档——表注释、显示乱码
  5. sqlserver中无ldf文件附加数据库
  6. 操作系统(二)操作系统的四个特征
  7. 使用UEFI Shell引导U盘启动
  8. java学习(7):巩固练习
  9. Oracle官方推荐的性能测试工具!简单、精准又直观!
  10. css覆盖规则_条件 CSS
  11. Node.js:中间件——express简单的设置用户表单提交数据的接收中间件
  12. 同事乱用 Redis 卡爆,我真是醉了
  13. 零基础学启发式算法(4)-模拟退火 (Simulated Annealing)
  14. android屏幕测试工具,OLED屏幕纯色测试工具
  15. 云服务器ECS能做什么用途?
  16. 渐进式 Web 应用程序介绍
  17. HTML5+CSS期末大作业:运动体育网站设计主题——体育铅球(5页)带注册 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品...
  18. 修改hosts不管用。为什么修改127.0.0.1指向的域名,访问域名却弹出别的网站
  19. 青龙面板 Bot配置教程
  20. 软件工程直招士官生_2018年直招士官, 大学生注意这3点, 尤其第1点让好多人中枪...

热门文章

  1. linux系统编程之进程(八):守护进程详解及创建,daemon()使用
  2. 每日两SQL(5),欢迎交流~
  3. leetcode 907. Sum of Subarray Minimums | 907. 子数组的最小值之和(单调栈)
  4. PAT1048 数字加密 (20 分)
  5. 【计算机学科】最好的学校排名
  6. 看动画学算法之:hashtable
  7. JDK10的新特性:var泛型和多个接口实现
  8. Spring Boot JPA的查询语句
  9. 缓存之EHCache
  10. hdu 1116 欧拉路