System、Runtime、Date和Galender、Math、Random

来源:互联网 发布:软件学校排名 编辑:程序博客网 时间:2024/05/21 22:38


System

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

成员:

in:获取键盘录入,标准输入,默认是 键盘。

out:打印在控制台上,标准输出,默认是控制台。

静态方法:

static void exit(int status) 终止当前正在运行的 Java 虚拟机。 

static void gc() 运行垃圾回收器

static Properties getProperties()  确定当前的系统属性          

static String getProperty(String key) 获取指定键指示的系统属性。     

static String getProperty(String key, String def) 获取用指定键描述的系统属性。

static void setIn(InputStream in) 重新分配“标准”输入流。           

static void setOut(PrintStream out) 重新分配“标准”输出流。 

static void setProperties(Properties props) 将系统属性设置为 Properties 参数。           

static String setProperty(String key, String value) 设置指定键指示的系统属性。

public static void main(String[] args) {Properties pro = System.getProperties();//如何在系统中自定义一些特有信息呢?setProperty("qq","腾讯");//获取指定属性信息。String value = getProperty("os.name");show(value);//可不可以在jvm启动时,动态加载一些属性信息呢?//编译时:java -Daaaa=bbbb SystemDemo  就可以载入系统信息String v1 = getProperty("aaaa") ;//aaaa是作为键来获取值,当没有对应的值存在时是返回nullshow(v1);/*for (Object obj : pro.keySet()){String value = (String)pro.get(obj);System.out.println(obj+"--"+value);}*/}
————————————————————————————————————————

Runtime

每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。

Runtime类中没有构造方法,不能创建对象。

但是有非静态方法。说明该类中应该定义好了对象,并可以通过一个static方法获取这个对象。

用这个对象来调用非静态方法。这个方法就是 static Runtime getRuntime();

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

方法摘要:
Process exec(String command) 在单独的进程中执行指定的字符串命令
void gc() 运行垃圾回收器。
static Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象
void exit(int status) 通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机

public static void main(String[] args) throws Exception{Runtime rt = Runtime.getRuntime();//前面是执行程序 后面是需要执行的对应文件。Process p = rt.exec("C:\\Program Files (x86)\\WinRAR\\winrar.exe  D:\\2.rar");Thread.sleep(4000);p.destroy();//关闭程序}
————————————————————————————————————————

Date&Galender

Date:

日期类,月份从0-11;建立对象输出就会打印当前时间

SimpleDateFormat 时间格式类,通过format()赋予Date对象格式,返回StringBuffer

SimpleDateFormat 在建立对象时就在构造函数上输入模板。

public static void DateShow(){Date d =new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd E hh:mm:ss");//"yyy-MM-dd"是时间模版,不同长度有不同的效果。String s = sdf.format(d);//再把时间模版给时间对象返回String接收。//想到一个问题就是格式化时间的送递给String时,时间就固定了, //跟在输出时的时间有一个很微小的差异。 System.out.println(s);}

Calender:日历类。

Calender  getInstance();//获取本类对象。

int  get(常量);传入Calendar的常量成员,返回对应的数值。

void  add(常量,偏移值):为给定的日历字段添加或减去指定的时间量,注意,时间是连续的

查表法:建立数据的对应关系。

最好:数据个数是确定的,而且有对应关系。如果对应关系的一方,是数字,而且可以作为角标,那么可以通过数组来作为表。

public static void CalendarShow1(){String[] week = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};String[] mon = {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"};//用add方法和查表法时注意先后顺序。Calendar c = Calendar.getInstance();c.set(2013,11,10);//设置日期,注意实际输出月份是输入月份+1;c.add(c.DAY_OF_YEAR,22);//修改日期int w = c.get(c.DAY_OF_WEEK);//注意,数组是从0开始,而星期是重1开始int m = c.get(c.MONTH);int d = c.get(c.DAY_OF_MONTH);show(c.get(c.YEAR)+"年 "+mon[m]+d+"日  "+week[w]);}
常量使用注意:

Calendar.MONTH:是0-11对应1-12月。

Calendar.DAY_OF_WEEK:星期是从星期天为1开始,星期六为7结束。

————————————————————————————————————————

Math


Math:用于数学运算的工具类,属性和行为都是静态的。该类是final不允许继承。

static  double  ceil(double a) ; //返回大于指定数值的最小整数(整数进1)

static  double  floor(double a) ; //返回小于指定数值的最大整数(小数抹去)

static  long  round(double a) ; //四舍五入成整数

static  double  pow(double a, double b) ; //a的b次幂

static  double  random(); //返回0~1的伪随机小数(依赖于随机数生成器)

public static void MathShow(){double d = Math.ceil(12.3);//13.0double d1 = Math.floor(12.3);//12.0double d2 = Math.round(12.6);//13.0double d3 = Math.round(12.3);//12.0double d4 = Math.pow(12,3);//12*12*12=1728}

————————————————

Random:伪随机数生气类

int  nextXXX();//生成XXX类型的伪随机数,可以指定范围

public static void RandomDemo(){Random r = new Random();for (int x = 0 ; x<10 ;x++ ){//int d = (int)(Math.random()*10);//Math.random获取一个伪随机数。int d = r.nextInt(10);//如果不进行限定,数字会差异很大。sop(d);}}
















原创粉丝点击