zoukankan      html  css  js  c++  java
  • 几种常见类的使用(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.运行结果

      

  • 相关阅读:
    python 模块基础介绍
    python 函数基础介绍
    性能测试总结与分享材料
    徒手撸一个简单的RPC框架
    【springcloud】一文带你搞懂API网关
    一次非常有意思的sql优化经历
    MySQL数据库之互联网常用分库分表方案
    后端开发应该掌握的Redis基础
    权限管理模块设计
    基于redis的分布式锁的分析与实践
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6680251.html
Copyright © 2011-2022 走看看