黑马程序员_Java其他对象(System,Runtime,Date,Calendar,Marh-Random)
System
System类包含一些有用的类字段和方法(都是静态的)。它不能被实例化。
在System类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
字段摘要:
1,static PrintStream err “标准”错误输出流。
2,static InputStream in "标准“输入流。//获取键盘录入。
3,static PrintStream out "标准”输出流。//打印在控制台上。
部分方法:
1,static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
2,static long currentTimeMillis() :返回以毫秒为单位的当前时间。
3,static void exit(int status):终止当前正在运行的 Java 虚拟机。
4,static void gc():运行垃圾回收器。
5,static Properties getProperties() :确定当前的系统属性。//因为Properties是HashTable的子类,也就是Map集合的一个子类对象。那么乐意通过Map的方法取出该集合中的元素。该集合存储的都是字符串,没有泛型定义。
如何在系统中自定义一些特有信息呢?
6,static String setProperty(String key, String value) :设置指定键指示的系统属性。
7,static String getProperty(String key):获取指定键指示的系统属性。
可不可以在JVM启动时,动态加载一些属性信息呢?
格式:-D<name>=<value> :set a system property。
Runtime
Runtime:该类并没有提供构造函数。说明不可以new对象。会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定提供了方法获取本类对象,而且该方法是静态的,并且返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式完成。
每个 Java 应用程序都有一个 Runtime
类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime
方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
部分方法:
1,static Runtime getRuntime() :返回与当前 Java 应用程序相关的运行时对象。
2,Process exec(String command):在单独的进程中执行指定的字符串命令。//Process中的方法:abstract void
destroy():杀掉子进程。
//Process p = r.exec("notepad.exe SystemDemo.java"); 用文件相关联的程序(笔记本)打开文件。
Date
类 Date
表示特定的瞬间,精确到毫秒。
部分方法:
1,boolean after(Date when):测试此日期是否在指定日期之后。
2,boolean before(Date when):测试此日期是否在指定日期之前。
3,Object clone():返回此对象的副本。
4,int compareTo(Date anotherDate):比较两个日期的顺序。
5,boolean equals(Object obj):比较两个日期的相等性。
6,int hashCode():返回此对象的哈希码值。
7,void setTime(long time):设置此
Date
对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time
毫秒的时间点。
8,String toString():把此
Date
对象转换为以下形式的 String
: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。\
System.out.println(new Date);//打印的时间看不懂,希望有些格式。在Date类中另请参见DateFormat(日期格式化,是文本类),直接已知子类SimpleDateFormat。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日")//将模式封装到SimpleDateFormat对象中。
String time = sdf.format(d);//调用format方法让模式格式化指定Date对象。
Calendar类:Calendar
类是一个抽象类,它为特定瞬间与一组诸如 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等 日历字段
之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
Calendar类中方法:
1,static Calendar getInstance():使用默认时区和语言环境获得一个日历。//Calendar c = Calendar.getInstance();
2,int get(int field):返回给定日历字段的值。
3,void set(int field, int value):将给定的日历字段设置为给定值。
4,void set(int year, int month, int date):设置日历字段
YEAR
、MONTH
和 DAY_OF_MONTH
的值。
5,abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
//sop(c.get(Calendar.YEAR)+"年"); //获取年份。
//sop((c.get(Calendar.MONTH)+1)+"月"); //为了避免每次加1和月,使用查表法。
//c.set(2012,2,23); //设置时间。
两个练习:
1,获取任意年的二月有多少天?
思路:根据指定年设置一个时间就是
c.set(year,2,1);//某一年的3月1日。
c.add (Calendar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。
2,获取昨天的现在这个时刻?
c.add(Calendar.DAY_OF_MONTH,-1);
MATH
类MATH:Math
类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
方法摘要:
1,static xxx abs(xxx a):返回xxx值的绝对值。
2,static double ceil(double a):返回最小的(最接近负无穷大)
double
值,该值大于等于参数,并等于某个整数。//返回大于指定数据的最小整数。
3,static double floor(double a):返回最大的(最接近正无穷大)
double
值,该值小于等于参数,并等于某个整数。//返回小于指定数据的最大整数。
4,static long round(double a):返回最接近参数的
long
。//四舍五入。
5,static double pow(double a, double b):返回第一个参数的第二个参数次幂的值。//a是底数,b是指数。
6,static double random():返回带正号的
double
值,该值大于等于 0.0
且小于 1.0
。
//方法二:Random类
Random r = new Random();int d = r.nextInt(10);
练习:给定一个小数,保留该小数的后两位。
黑马程序员_Java其他对象(System,Runtime,Date,Calendar,Marh-Random)的更多相关文章
- 黑马程序员——JAVA基础之System,Runtime,Date,Calendar,Math
------- android培训.java培训.期待与您交流! ---------- System: 类中的方法和属性都是静态的. out: 标准输出,默认是控制台. in:标准输入,默认是键盘 ...
- 黑马程序员_Java基础:网络编程总结
------- android培训.java培训.期待与您交流! ---------- Java语言是在网络环境下诞生的,它是第一个完全融入网络的语言,虽然不能说它是对支持网络编程做得最好的语言,但是 ...
- 黑马程序员_Java基础组成
Java语言基础组成 2.1关键字 main不是关键字,但被JVM所识别的名称. 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有字母都为小写. 用于定义数据类型的关 ...
- 黑马程序员_Java基础视频-深入浅出精华版--视频列表
\day01\avi\01.01_计算机基础(计算机概述).avi; \day01\avi\01.02_计算机基础(计算机硬件和软件概述).avi; \day01\avi\01.03_计算机基础(软件 ...
- 课程2:《黑马程序员_Java基础视频-深入浅出精华版》-视频列表-
\day01\avi\01.01_计算机基础(计算机概述).avi; \day01\avi\01.02_计算机基础(计算机硬件和软件概述).avi; \day01\avi\01.03_计算机基础(软件 ...
- 黑马程序员_java基础笔记(06)...集合
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— JavaApi(其实就是java给我们提供的已经定义好的对象.工具对象:集合框架) ...
- 黑马程序员_Java泛型
泛型 概述: ClassCaseException:类型转换异常. 代码中不加泛型,编译没问题,运行可能会发生异常.但是用户解决不了,这样程序就存在安全隐患.所以我们希望在编译时期就能看出问题,程序员 ...
- 黑马程序员_Java基础视频-深入浅出精华版--PPT 文件列表
\day01\code\第一章_Java概述.ppt;\day01\resource\资料\50道编程题(有精力的同学看看).doc;\day01\resource\资料\Sun_Java程序员认证考 ...
- 黑马程序员_java基础笔记(03)...面向对象
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— 1:面向对象的概念,2 : 类和对象的关系,3 : 封装,4 : 构造函数,5 : ...
随机推荐
- NGUI 动态字体边缘模糊,毛边的问题解决办法
NGUI支持生成动态字体,将ttf格式的字体文件拖入工程,用NGUIFontMaker制作即可,但是制作完之后会发现字体有毛边,边缘模糊. 这时选中你生成的字体预设,在该预设的UIFont脚本上更改P ...
- NDK GDB 中打印vector , vector<vector <> >
在android上进行native开发的时候,我们需要用NDK-GDB 对native code进行调试,其中很麻烦的是,我使用的NDK版本是4.0,该版本还不支持用NDK-GDB直接打印vector ...
- 集成对象和 JSON
想象一下,如果 NSDictionary,NSArray,NSString 呾 NSData 都提供方法 相亏转换 JSON 数据,返样丌径好举? 嗯,等等 – 我们正在使用 Objective-C, ...
- Excel 国家甘特图(多图)
前言 者必画的图.我找了非常久也没找到一个专门画甘特图比較好的软件.经过研究最终用Excel画出了甘特图.网上这个资料但是没有的哟! 效果 watermark/2/text/aHR0cDovL2Jsb ...
- Java 异常处理的误区和经验总结--转载
本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳.只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验, ...
- 阿里巴巴iconfont使用方式
IconFont的作用就是用字体的格式来取代图片.特殊字体的展示,用得比较多的就是一些纯色的图标,具体主要由当前css3属性里的自定义字体(@font-face)来实现. 1.首先在Iconfont- ...
- java里面List和Array的区别是什么?
java里面的List和Array的区别是什么? 1:数组是定长,list是自动增长.2:数组效率高,list效率低.总结:数组牺牲功能增加效率,list牺牲效率增加功能. http://bbs.cs ...
- window.location.href 和self.location的区别
你从字面上就可以理解到 window 指的是当前窗口 而 self 指的是自己 在HTML 中 由于页面可以镶嵌页面 所以这2个就有了 区别 比如说 我有个页面A.HTML 里面嵌套了一个B.HTML ...
- jQuery mini ui 2
1.<a class="mini-button" iconCls="icon-add" onclick="addRow()" plai ...
- Spring + CXF(REST):webservice not found
可能原因:spring的bean:SpringBus的创建晚于spring的bean:Server的创建 解决办法:指定依赖注入顺序@DependsOn 先写着,留个空,后面补充