黑马程序员----其他对象

来源:互联网 发布:外企数据分析师 编辑:程序博客网 时间:2024/05/13 01:49

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


其他对象

1.System

常用方法:

   long currentTimeMillis();获取当前时间的毫秒值。
exit(0);退出虚拟机。
Properties getProperties();获取系统的属性信息。
setProperties(String,String);以键值对形式设置系统属性信息。
String getProperty(String);根据参数获取到对应的值。


/*System对象:对于系统属性的操作getProperties:获取key,value的Properties对象,该对象是Hashtable子类,也就是Map体系一员getProperty:根据key,获取valuesetProperty:设置一对key,value在jvm加载时动态添加系统属性*/package com.helong.propertiesdemo;import java.util.*;class PropertiesDemo {public static void main(String[] args) {Properties prop=System.getProperties();System.setProperty("ldy","22");System.out.println("os.name::"+System.getProperty("os.name"));System.out.println("helong::"+System.getProperty("helong"));System.out.println("ldy::"+System.getProperty("ldy"));/*for(Map.Entry me : prop.entrySet()){System.out.println(me.getKey()+"==="+me.getValue());}*/}}
运行图:




2.Runtime

该类是没有构造函数使用的,而且我们发现它的方法也不是静态的,因此分析这个类肯定有一个方法返回本类对象,也就是使用了单例设计模式。
getRuntime():返回当前java程序相关的运行时。
exec(String commnd):该方法用于单独执行一条命令语句。
例如:exec("winmine.exe");jvm查找该程序先从当前目录,找不到再到path下查找,再找不到就报错。
exed("notepad RuntimeDemo.java");使用notepad打开RuntimeDemo.java文件。
   

//测试Runtime对象package com.helong.runtimedemo;class RuntimeDemo {public static void main(String[] args) throws Exception{Runtime r=Runtime.getRuntime();//r.exec("c:\\ThunderUninstall.exe");r.exec("notepad.exe C:\\Users\\Administrator\\Desktop\\EveryDayNote.txt");}}
运行图:




3.Date,DateFormat

Date:日期类,表示一个当前瞬间的时间,以标准化形式打印。
DateFormat:将对日期的格式化封装成对象,都是用于格式化Date的方法。
本身是抽象类,我们一般使用它的子类SimpleDataFormat

//Date,DateFormat(SimpleDateFormat)package com.helong.datedemo;import java.util.*;import java.text.*;class DateDemo {public static void main(String[] args) {Date d=new Date();System.out.println(d);SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");System.out.println(sdf.format(d));}}
运行图:


4.Calendar

日历类:更灵活,更精确度额操作Date对象。
配合查表法更灵活的取出年月日星期等信息,并输出打印。
注意月份是从0开始的。
     


5.Math

   数学类,内部封装了大量的跟数学计算有关的方法。
ceil(double):返回大于等于参数的最小整数,例如传入12.12,得到13,传入12.0得到12,传入-12.12得到12;
floor(double):返回小于等于参数的最大整数;
int/long round(double):四舍五入的值。
pow(double a,double b):a为底数,b为指数,也就是a的b次方。
random():得到一个大于等于0.0,小于1.0的随机数;(int)(random()*10)+1:得到一个1--10的随机数。

package com.helong.mathdemo;import java.util.*;class MathDemo {public static void main(String[] args) {System.out.println(Math.ceil(23.23));System.out.println(Math.floor(23.23));System.out.println(Math.round(13.55));System.out.println(Math.round(13.45));System.out.println(Math.pow(2.0,3.0));for(int i=0;i<10;i++){System.out.println((int)(Math.random()*10)+1);}}}

运行图:



6.小练习

/*1.获取任何年的二月有多少天根据日历特性,时间都是联系的,设置时间到3月1日,往前走一天就是二月最后一天2.获取昨天的这个时刻3.两个日期间的上课的天数(周三周日不上课)(去掉不上课的天数)4.给定一个小数,保留后两位*/package com.helong.test;import java.util.*;import java.text.*;class Test {public static void main(String[] args) {Calendar c = new GregorianCalendar();c.add(Calendar.DAY_OF_MONTH,-1);System.out.println(c.getTime());int year=2000;c.set(year,2,1);//设置时间为1998年3月1日c.add(Calendar.DAY_OF_MONTH,-1);int day=c.get(Calendar.DAY_OF_MONTH);System.out.println(year+"年二月为:"+day+"天");double num1=23.2354554;double num2=23.2314554;System.out.println(getTwo(num1));System.out.println(getTwo(num2));System.out.println(getTwo2(num1));System.out.println(getTwo2(num2));}private static double getTwo(double num){int temp=(int)(num*1000);if(temp%10>=5)temp+=10;temp/=10;return temp/100.0;}private static double getTwo2(double num){return (int)(Math.round(num*100))/100.0;}}
运行图:





7.小结

熟练使用这些对象,可以在很多时候大大的简化我们的代码量,因为大部分的对象都已被封装好了,不需要我们自己去定义,拿来直接用就行了,当然了内部的实现原理如果也能懂的话那就最好了。


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

0 0
原创粉丝点击