zoukankan      html  css  js  c++  java
  • Java常用类库

       System

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

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

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

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

       示例代码如下:

    import java.util.Properties;
    
    public class SystemDemo {
    
        public static void main(String[] args) {
            Properties prop = System.getProperties();
            
            //因为Properties是HashTable的子类,也就是Map集合的一个子类对象。
            //那么可以通过map的方法取出该集合的元素。
            //该集合中存储的都是字符串,没有泛型定义。
            
            //如何在系统中自定义一些特有信息呢?
            System.setProperty("mykey", "myvalue");
            
            //获取指定属性信息
            String value = System.getProperty("os.name");
            System.out.println("value = " + value);
            
            //可不可以在JVM启动时,动态加载一些属性信息呢?
            String v = System.getProperty("haha");
            System.out.println("v = " + v);//null
            
            /*
            获取所有属性信息。
            for(Object obj : prop.keySet()) {
                String value = (String)prop.get(obj);
                System.out.println(obj + "::" + value);
            }
            */
        }
    
    }

       在启动JVM时,如何动态加载一些属性信息?(图示说明)

       

      

       

       Runtime

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

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

       该方法是static Runtime getRuntime() 。

       代码如下:

    import java.io.IOException;
    
    public class RuntimeDemo {
    
        public static void main(String[] args) {
            Runtime r = Runtime.getRuntime();
            Process p =null;
            try {
                //p = r.exec("D:\BaiduYunGuanjia\BaiduYunGuanjia.exe");//传的命令的路径可能是错误的。
                p = r.exec("notepad.exe SystemDemo.java");
            } catch (IOException e) {
                e.printStackTrace();
            }
            /*
            try {
                Thread.sleep(4000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            p.destroy();//杀掉进程
            */
        }
    
    }

       Date

       示例代码:

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateDemo {
    
        public static void main(String[] args) {
            Date d = new Date();
            System.out.println(d);//打印的时间看不懂,希望有些格式。
            
            //将模式封装到SimpleDateFormat对象中
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E");
            //调用format()方法让模式格式化指定Date对象
            String time = sdf.format(d);
            System.out.println("time = " + time);
        }
    
    }

       Calendar

       示例代码:

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class CalendarDemo {
    
        public static void main(String[] args) {
            
            Calendar c = Calendar.getInstance();
            
            String[] months = {"一月", "二月", "三月", "四月",
                               "五月", "六月", "七月", "八月",
                               "九月", "十月", "十一月", "十二月"};
            
            String[] weeks = {"", "星期日", "星期一", "星期二", "星期三",
                              "星期四", "星期五", "星期六"};
            
            int index = c.get(Calendar.MONTH);
            int index1 = c.get(Calendar.DAY_OF_WEEK);
            
            
            sop(c.get(Calendar.YEAR) + "年");
            //sop((c.get(Calendar.MONTH) + 1) + "月"); 
            sop(months[index]);
            sop(c.get(Calendar.DAY_OF_MONTH) + "日"); 
            //sop("星期" + c.get(Calendar.DAY_OF_WEEK));
            sop(weeks[index1]);
            
            
            /*
            Date d = new Date();
            
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
            String year = sdf.format(d);
            
            
            System.out.println(year);
            */
        }
        
        public static void sop(Object obj) {
            System.out.println(obj);
        }
    
    }

       注意:

      1、add()方法——根据日历的规则,为给定的日历字段添加或减去指定的时间量。

    public abstract void add(int field, int amount)
    

      2、set()方法——设置日历字段 YEARMONTHDAY_OF_MONTH 的值。保留其他日历字段以前的值。

    public final void set(int year, int month, int date)

       示例代码如下:

    import java.util.Calendar;
    
    public class CalendarDemo1 {
    
        public static void main(String[] args) {
            Calendar c = Calendar.getInstance();
    
            //c.set(2012, 2, 23);
            
            c.add(Calendar.DAY_OF_MONTH, -18);
            
            printCalendar(c);
    
        }
    
        public static void printCalendar(Calendar c) {
            String[] months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
    
            String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    
            int index = c.get(Calendar.MONTH);
            int index1 = c.get(Calendar.DAY_OF_WEEK);
    
            sop(c.get(Calendar.YEAR) + "年");
            sop(months[index]);
            sop(c.get(Calendar.DAY_OF_MONTH) + "日");
            sop(weeks[index1]);
        }
    
        public static void sop(Object obj) {
            System.out.println(obj);
        }
    }

       练习1、获取任意年的二月有多少天。

       分析:

    1. 根据指定年设置一个时间就是c.set(year, 2, 1);//某一年的3月1日。
    2. c.add(Calendar.DAY_OF_MONTH, -1);//3月1日,往前推一天,就是2月最后一天。

       代码:

    import java.util.Calendar;
    
    public class CalendarTest {
    
        public static void main(String[] args) {
            System.out.println("二月有" + getDays(2016) + "天");
        }
        
        public static int getDays(int year) {
            Calendar c = Calendar.getInstance();
            c.set(year, 2, 1);
            c.add(Calendar.DAY_OF_MONTH, -1);
            return c.get(Calendar.DAY_OF_MONTH);
        }
    
    }

       练习2、获取昨天的现在这个时刻。

       代码:

    import java.util.Calendar;
    
    public class CalendarTest1 {
    
        public static void main(String[] args) {
            System.out.println(getYesterdayTime());
        }
    
        public static String printCalendar(Calendar c) {
            String[] months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
    
            String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    
            int index = c.get(Calendar.MONTH);
            int index1 = c.get(Calendar.DAY_OF_WEEK);
            
            StringBuilder sb = new StringBuilder();
            sb.append(c.get(Calendar.YEAR)).append("年");
            sb.append(months[index]);
            sb.append(c.get(Calendar.DAY_OF_MONTH)).append("日");
            sb.append(weeks[index1]).append("  ");
            sb.append(c.get(Calendar.HOUR)).append("时");
            sb.append(c.get(Calendar.MINUTE)).append("分");
            sb.append(c.get(Calendar.SECOND)).append("秒");
            sb.append(c.get(Calendar.MILLISECOND)).append("毫秒");
            
            return sb.toString();
    
        }
        
        public static String getYesterdayTime() {
            Calendar c = Calendar.getInstance();
            c.add(Calendar.DAY_OF_MONTH, -1);
            return printCalendar(c);
        } 
        
    }

       Math

       示例代码如下:

    import java.util.Random;
    
    public class MathDemo {
    
        public static void main(String[] args) {
            Random r = new Random();
            
            //生产1~10的伪随机数
            for(int x = 0; x < 10; x++) {
                //int d = (int)(Math.random() * 10) + 1;
                int d = r.nextInt(10) + 1;
                sop(d);
            }
        }
        
        public static void show() {
            double d = Math.ceil(-16.34);//返回大于指定数据的最小整数
            double d1 = Math.floor(12.34);//返回小于指定数据的最大整数
            
            long l = Math.round(12.54);//四舍五入
            
            sop("d = " + d);
            sop("d1 = " + d1);
            sop("l = " + l);
            
            double d2 = Math.pow(2, 3);
            sop("d2 = " + d2);
        }
        
        public static void sop(Object obj) {
            System.out.println(obj);
        }
    
    }

       练习、给定一个小数,保留该小数的后两位。

       代码:

    import java.text.DecimalFormat;
    
    public class MathTest {
    
        public static void main(String[] args) {
            System.out.println(getNumber(0.9));
        }
        
        public static String getNumber(double num) {
            DecimalFormat df = new DecimalFormat("#0.00");//模式不能写成"#.00"
            return df.format(num);
        }
    
    }
  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    团队博客
    团队博客
  • 原文地址:https://www.cnblogs.com/yerenyuan/p/5263788.html
Copyright © 2011-2022 走看看