几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)

Posted 曹军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)相关的知识,希望对你有一定的参考价值。

一:System 

1.介绍 

  System:类中的方法和属性都是静态的。
  out:标准输出,默认是控制台。
  in:标准输入,默认是键盘。

2.properties

  获取系统属性信息:Properties getProperties()

  因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
  那么可以通过map的方法取出该集合中的元素。
  该集合中存储都是字符串。没有泛型定义。

  

3.程序--获取所有属性信息

 1 import java.util.Properties;
 2 public class Test75 {
 3     public static void main(String[] args) {
 4         Properties pro=System.getProperties();
 5         for(Object key:pro.keySet()){
 6             String value=(String)pro.get(key);
 7             System.out.println(key+":"+value);
 8         }
 9     }
10 }

 

4.运行程序结果

  

 

5.制定属性以及根据属性得到值

 1 import java.util.Properties;
 2 public class Test76 {
 3     public static void main(String[] args) {
 4         Properties pro=System.getProperties();
 5         System.setProperty("hehe", "hhahaha");
 6         String str1=System.getProperty("hehe");
 7         System.out.println("str1="+str1);
 8         String str2=pro.getProperty("kkk");
 9         System.out.println("str2="+str2);
10         String str3=pro.getProperty("os.name");
11         System.out.println("str3="+str3);
12     }
13 }

 

6.运行结果

  

 

二:Runtime

1.介绍

  应用程序与运行环境的交互。

  Runtime对象
  该类并没有提供构造函数。
  说明不可以new对象。那么会直接想到该类中的方法都是静态的。
  发现该类中还有非静态方法。
  说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
  由这个特点可以看出该类使用了单例设计模式完成。

  该方式是static Runtime getRuntime()

 

2.打开进程,然后关闭进程

//注意转义字符
1 import java.io.IOException;
2 public class Test77 {
3     public static void main(String[] args) throws Exception {
4         Runtime rt=Runtime.getRuntime();
5         Process pro=rt.exec("notepad E:\\\\java62\\\\demo1\\\\src\\\\Test66.java");   //注意转义字符
6         Thread.sleep(5000);
7         pro.destroy();
8     }
9 }

 

3.运行结果

  5秒之后,进程关闭

  

 

三:Math

1.pow,random,Random

 1 import java.util.Random;
 2 
 3 public class Test78 {
 4     public static void main(String[] args) {
 5         show();
 6     }
 7     private static void show() {
 8         //pow
 9         Double sum=Math.pow(2, 3);
10         System.out.println("sum="+sum);
11         //random
12         int d = (int)(Math.random()*10+1);  //1~10的随机数
13         System.out.println("d="+d);
14         //延伸,Random类中也可以生成随机数
15         Random r=new Random();
16         int rd=r.nextInt(10);
17         System.out.println("rd="+rd);
18     }
19 }

 

2.运行结果

  

 

四:Date

1.日期打印

 1 import java.text.SimpleDateFormat;
 2 import java.util.Date;
 3 public class Test79 {
 4     public static void main(String[] args) {
 5         Date d=new Date();
 6         /**
 7          * 直接全部打印出来
 8          */
 9         System.out.println("d="+d);
10         /**
11          * 将模式封装到SimpleDateformat对象中
12          */
13         SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
14         String time=sdf.format(d);
15         System.out.println("time="+time);
16         
17     }
18 }

 

2.运行结果

  

 

3.Calemdar具体日期

 1 import java.text.SimpleDateFormat;
 2 import java.util.Calendar;
 3 import java.util.Date;
 4 
 5 public class Test80 {
 6 
 7     public static void main(String[] args) {
 8         //打印yyyy年
 9         Date d=new Date();
10         SimpleDateFormat sdf=new SimpleDateFormat("yyyy");
11         String year1=sdf.format(d);
12         System.out.println("yar1="+year1);
13         //使用Calendar,包括年,月,星期
14         Calendar cal=Calendar.getInstance();
15         int year2=cal.get(Calendar.YEAR);
16         System.out.println("year2="+year2+"年");
17         int month2=cal.get(Calendar.MONTH);
18         System.out.println("month2="+(month2+1)+"月");//注意加1
19         int week2=cal.get(Calendar.DAY_OF_WEEK);
20         System.out.println("week2=星期"+week2);
21         //优化,查表法,更人性化
22         String[] mons = {"一月","二月","三月","四月"
23                 ,"五月","六月","七月","八月"
24                 ,"九月","十月","十一月","十二月"};
25         String[] weeks = {"","星期日","星期一","星期二",
26                 "星期三","星期四","星期五","星期六",};    
27         int index1 = cal.get(Calendar.DAY_OF_WEEK);
28         System.out.println(cal.get(Calendar.YEAR)+"年");
29         System.out.println(mons[index1]);
30         System.out.println(cal.get(Calendar.DAY_OF_MONTH)+"日");
31         System.out.println(weeks[index1]);
32     }
33 }

 

4.运行结果

  

 

5.修改时间,并知道具体时间

 1 import java.util.Calendar;
 2 
 3 public class Test81 {
 4 
 5     public static void main(String[] args) {
 6         Calendar c = Calendar.getInstance();
 7         /*
 8          * 可以设置时间,年月日
 9          *c.set(2012,2,23);
10         */
11         c.add(Calendar.DAY_OF_MONTH,-1);
12         printCalendar(c);
13     }
14     public static void printCalendar(Calendar c)
15     {
16         String[] mons = {"一月","二月","三月","四月"
17                     ,"五月","六月","七月","八月"
18                     ,"九月","十月","十一月","十二月"};
19         String[] weeks = {"","星期日","星期一","星期二",
20                 "星期三","星期四","星期五","星期六",};        
21         int index = c.get(Calendar.MONTH);
22         int index1 = c.get(Calendar.DAY_OF_WEEK);
23         sop(c.get(Calendar.YEAR)+"年");
24         sop(mons[index]);
25         sop(c.get(Calendar.DAY_OF_MONTH)+"日");
26         sop(weeks[index1]);
27     }
28     public static void sop(Object obj)
29     {
30         System.out.println(obj);
31     }
32 }

 

6.运行结果

  

 

以上是关于几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)的主要内容,如果未能解决你的问题,请参考以下文章

Java 系统相关 —— System类和RunTime类

Java常用实体类--Runtime类

System类与Runtime类

java反射

Java常见的运行起异常(runtime exception)

基础类库