您的位置:首页 > 编程语言 > Java开发

java 几个常用重要对象

2012-10-23 23:36 375 查看
 

1.System:  java.lang.System

 类中的方法和属性都是静态的

 out:标准输出,默认是控制台.

 in:标准输入,默认是键盘

描述系统一些信息.获取系统属性信息: Properties  getProperties()

  Properties pro = System.getProperties();

 //因为Properties是hashtable的子类,也就是Map集合的一个子类对象.那么可以通过map的方法取出该集合中的元素,

 //该集合中存储的都是字符串,没有泛型定义

 

 //Map方法取出所有元素

 /*Set<String> keySet = pro.stringPropertyNames();

 Iterator<String> it = keySet.iterator();

 while(it.hasNext()){

  String key = it.next();

  String value = (String)pro.getProperty(key);

  System.out.println(key+":::"+value);

 }*/

 

 //在系统中自定义一些特有信息

 System.setProperty("哈哈","呵呵");

 //高级for循环取出所有元素

 /*for(Object obj:pro.keySet()){

  String value = (String)pro.get(obj);

  System.out.println(obj+"---"+value);

 }*/

 

 //获取单个元素  System.getProperty(key);

 System.out.println(System.getProperty("os.name"));

 System.out.println(System.getProperty("user.country"));

 System.out.println(System.getProperty("user.language"));

 System.out.println(System.getProperty("file.encoding"));

可以在启动JVM时,添加系统信息: java -D key=value 类名

2.Runtime:  java.lang.Runtime

 该类中并没有提供构造函数

 说明不可以new对象,那么会直接想到该类中的方法都是静态方法.可是该类中还有非静态方法.说明该类肯定会提供了方法获取本类对象,而且该方法是静态的,并且返回值类型是本类类型

 该方式是 static Runtime getRuntime();

 由这个特点可以看出该类使用了单例设计模式

 

 Runtime r = Runtime.getRuntime();

 //Process p =

 r.exec("winmine.exe");//exec方法返回的是一个进程Process,这是一个抽象类,成员方法也都是抽象的,而且没有子类,因为创建进程,你不懂,也不需要知道怎么实现,是系统底层实现的

 //Thread.sleep(2000);

 //p.destroy();

 Process p1 = r.exec("notepad.exe");//启动windows自带的记事本

 Process p2 = r.exec("notepad.exe SystemDemo.java");//启动windows自带的记事本,并把SystemDemo.java里文本内容显示在打开的记事本里

 Process p3 = r.exec("播放器软件地址 mp3或电影文件");//这样可以打开媒体文件

3.Date: java.util.Date

 /* 

 //日期模式字母:

 字母  日期或时间元素   表示    示例 

 G  Era 标志符    Text    AD 

 y  年     Year    1996; 96 

 M  年中的月份   Month    July; Jul; 07 

 w  年中的周数   Number    27 

 W  月份中的周数   Number    2 

 D  年中的天数   Number    189 

 d  月份中的天数   Number    10 

 F  月份中的星期   Number    2 

 E  星期中的天数   Text    Tuesday; Tue 

 a  Am/pm 标记   Text    PM 

 H  一天中的小时数(0-23)  Number    0 

 k  一天中的小时数(1-24)  Number    24 

 K  am/pm 中的小时数(0-11) Number    0 

 h  am/pm 中的小时数(1-12) Number    12 

 m  小时中的分钟数   Number    30 

 s  分钟中的秒数   Number    55 

 S  毫秒数    Number    978 

 z  时区    General time zone  Pacific Standard Time; PST; GMT-08:00 

 Z  时区    RFC 822 time zone  -0800 

 */

 Date d = new Date();

 System.out.println(d);//打印的时间看不懂,希望有些格式

 //将模式封装到SimpleDateFormat对象中

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 

 //调用format方法让模式格式化知道Date对象

 String date = sdf.format(d);

 System.out.println(date);

4.Math: java.lang.Math

 类中的方法和属性都是静态的

 double d = Math.ceil(12.34);//=13 返回大于指定数据的最小整数

 double d1 = Math.ceil(-12.34);//=-12

 double d2 = Math.floor(15.34);//=15 返回小于指定数据的最大整数

 long l = Math.round(12.34);//=12  四舍五入

 double d3 = Math.pow(2,3);//=8    2(底数)的3(指数)次幂

 //创建一个伪随机数生成器(底层其实是一个算法,既然是算法就有可能找到规律,只要产生足够多的数.没有任何规律的数才是随机数)

 double d4 = Math.random();//返回一个大于等于0.0,且小于1.0的数,

 int d5 = (int)(Math.random()*10+1);//返回一个1到10(不包括)的int数

5.Random: java.util.Random

 Random r = new Random();

 r.nextDouble();//相当于Math.random();

 r.nextInt();//随机生成一个int范围的int值

 r.nextInt(10);//在 0(包括)和指定值(不包括)之间均匀分布的 int 值

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: