• 【Java学习笔记】其他对象API


    System类

     1 package p1;
     2 
     3 import java.util.Properties;
     4 import java.util.Set;
     5 
     6 public class SystemDemo {
     7     
     8     private static final String LINE_SEPARATOR = System.getProperty("line.separator");  //设置换行
     9 
    10     public static void main(String[] args) {
    11         /*
    12          * System:类中的方法和属性都是静态的。
    13          * 常见方法:
    14          *         long currentTimeMills();获取当前时间的毫秒值。(返回当前时间与协调世界时间1970年1月1日午夜之间的时间差)
    15          */
    16 //        demo1();
    17         demo2();
    18 //        demo3();
    19 
    20     }
    21 
    22     public static void demo3() {
    23         System.setProperty("age", "28");
    24         System.setProperty("name", "张三");
    25         
    26         
    27         System.out.println(System.getProperty("age"));
    28         System.out.println(System.getProperty("name"));
    29         
    30         System.out.println("hello"+LINE_SEPARATOR+"woorld");
    31     }
    32     /*
    33      * demo3运行结果:
    34      *             28
    35                 张三
    36                 hello
    37                 woorld
    38 
    39      */
    40 
    41     public static void demo2() {
    42         /*
    43          * Properties getProperties() 获取系统的属性信息,并存储到Properties集合中
    44          * 
    45          * Properties集合中存储都是String类型的键和值  //所以定义Properties类型的变量时不必带泛型
    46          * 最好使用它自己的存储和取出的方法来完成元素的操作
    47          */
    48         Properties prop = System.getProperties();
    49 //        System.out.println(prop);
    50         
    51         Set<String> nameSet = prop.stringPropertyNames();
    52         
    53         for (String name : nameSet)
    54         {
    55             String value = prop.getProperty(name);
    56             
    57             System.out.println(name+"::"+value);
    58         }
    59     }
    60 
    61     public static void demo1() {
    62         long l1 = System.currentTimeMillis();
    63         System.out.println(l1);//返回1473476846438  毫秒数
    64         System.out.println(l1/1000/60/60/24); //返回  17054   天数
    65         
    66         // code...
    67         long l2 = System.currentTimeMillis();
    68         System.out.println(l2-l1); //返回的是code...代码执行所用时间
    69     }
    70 
    71 }

     Runtime类

     1 package p1;
     2 
     3 import java.io.IOException;
     4 
     5 public class RuntimeDemo {
     6 
     7     public static void main(String[] args) throws IOException, InterruptedException {
     8         /*
     9          * 每一个Java程序都有一个Runtime类案例,使应用程序能够与其运行的环境相连,可以通过getRuntime方法获取当前运行时。
    10          * 应用程序不能创建自己的Runtime类案例。
    11          */
    12         
    13         /*
    14          * Runtime:没有构造方法摘要,说明该类不可以创建对象
    15          * 又发现还有非静态的方法,说明该类应该提供静态的返回该类对象的方法
    16          * 而且只有一个,说明Runtime类使用了单列设计模式。
    17          */
    18         
    19         Runtime r = Runtime.getRuntime();
    20         
    21 //        Process p = r.exec("notepad.exe");//打开notep
    22         Process p = r.exec("notepad.exe D:\1.txt");//打开notepad,在用notepad打开TXT
    23                     //r.exec("软件路径  文件路径");
    24         Thread.sleep(5000);
    25         p.destroy();//杀掉进程      5s后notepad关闭
    26         
    27 
    28     }
    29 
    30 }

     Math类

     1 package p1;
     2 
     3 import java.util.Random;
     4 
     5 public class MathDemo {
     6 
     7     public static void main(String[] args) {
     8         /*
     9          * Math:提供了操作数学运算的方法。都是静态的。
    10          * 
    11          * 常用方法:
    12          *         ceil():返回大于参数的最小整数
    13          *         floor():返回小于参数的最大整数
    14          *         round():返回四舍五入的整数
    15          *         pow(a,b):a的b次方
    16          *         random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
    17          */
    18         
    19 //        demo();
    20         RandomDemo();
    21 
    22 
    23     }
    24 
    25     public static void RandomDemo() {
    26         Random r = new Random();
    27         
    28         for (int i=0; i<10; i++)
    29         {
    30             double d = r.nextDouble();//与Math.random()方法类似
    31             System.out.println(d);
    32             /*
    33              * 0.013546684829438105
    34                 0.08058717380462299
    35                 0.25156348709107823
    36                 0.8149201340850071
    37                 0.37986882841498293
    38                 0.23718135066250312
    39                 0.6348939629694422
    40                 0.9508777684076484
    41                 0.8231478486704749
    42                 0.4605800387044423
    43              */
    44         }
    45         
    46         for (int i=0; i<10; i++)
    47         {
    48             int d1 = r.nextInt(10);    //随机返回0~10(不包含)间任意一个int值。
    49             System.out.println(d1);
    50             
    51         }
    52     }
    53 
    54     public static void demo() {
    55         double d1 = Math.ceil(12.53);
    56         double d2 = Math.floor(12.53);
    57         double d3 = Math.round(12.13);
    58         double d4 = Math.pow(10, 3);
    59         
    60         System.out.println(d1); //13.0
    61         System.out.println(d2); //12.0
    62         System.out.println(d3);//12.0
    63         System.out.println(d4);//1000.0
    64         
    65         for (int i=0; i<10; i++)
    66         {
    67             double d = Math.random();
    68             System.out.println(d);
    69             /*
    70              *  0.3027275615429248
    71                 0.5238495879790577
    72                 0.987839818675654
    73                 0.6749156933585441
    74                 0.8474524363649824
    75                 0.412124228077851
    76                 0.009324944666969759
    77                 0.9136918707539762
    78                 0.41197917556520036
    79                 0.3277617281962496
    80              */
    81         }
    82     }
    83 
    84 }

     Date类

     1 package p1;
     2 
     3 import java.text.DateFormat;
     4 import java.text.ParseException;
     5 import java.text.SimpleDateFormat;
     6 import java.util.Date;
     7 
     8 public class DateDemo {
     9 
    10     public static void main(String[] args) throws ParseException {
    11 //        method_demo1();
    12 //        method_demo2();
    13         method_demo3();
    14 
    15     }
    16 
    17     public static void method_demo3() throws ParseException {
    18         
    19         /*
    20          *将日期格式的字符串-->日起对象
    21          *    使用的是DateFormat类中的parse()方法。 
    22          */
    23         
    24         String str = "2016年9月10日 星期六";
    25         String str1 = "2016--09--10  02:22:08";
    26         
    27         DateFormat dateformat =  DateFormat.getDateInstance(DateFormat.FULL);//格式与日期格式要对应
    28         DateFormat dateformat1 = new SimpleDateFormat("yyyy--MM--dd  hh:mm:ss");
    29         
    30         Date date = dateformat.parse(str);
    31         System.out.println(date);//Sat Sep 10 00:00:00 CST 2016
    32         
    33         Date date1 = dateformat1.parse(str1);
    34         System.out.println(date1);//Sat Sep 10 02:22:08 CST 2016
    35     }
    36 
    37     public static void method_demo2() {
    38         /*
    39          * 对日期对象进行格式化
    40          * 将日期对象-->日期格式的字符串
    41          *     使用DateFormat类中的format方法。
    42          */
    43         
    44         Date date = new Date();
    45         
    46         //获取日期格式对象,有FULL,LONG,SHORT,MEDIUM(默认)格式。不标明就是默认格式
    47         DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
    48 //        System.out.println(dateFormat); //java.text.SimpleDateFormat@ef7951d7
    49         String str = dateFormat.format(date);
    50         System.out.println(str);//2016年9月10日 星期六
    51         
    52         DateFormat dateFormat1 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.LONG);
    53         String str1 = dateFormat1.format(date);
    54         System.out.println(str1);   //2016年9月10日 星期六 下午02时14分18秒
    55         
    56         //如果风格想要自定义呢?
    57         DateFormat dateFormat2 = new SimpleDateFormat("yyyy--MM--dd  hh:mm:ss");
    58         String str2 = dateFormat2.format(date);
    59         System.out.println(str2);   //2016--09--10  02:22:08
    60         
    61     }
    62 
    63     public static void method_demo1() {
    64         
    65         /*
    66          * 日期对象和毫秒值之间的转换
    67          * 
    68          * 毫秒值-->日期对象
    69          * 1.通过Date对象的构造方法 new Date(timeMills);
    70          * 2.还可以通过Settime设置
    71          * 
    72          * 日期对象-->毫秒值
    73          * getTime方法
    74          */
    75         
    76         long time = System.currentTimeMillis();
    77         System.out.println(time);  //1473485640659
    78         
    79         Date date = new Date(); //将当前日期和时间封装成date对象。
    80         System.out.println(date); //Sat Sep 10 13:39:21 CST 2016
    81         
    82         Date date1 = new Date(1473485640659l); //将指定毫秒值封装成date对象。
    83         System.out.println(date1);  //Sat Sep 10 13:34:00 CST 2016
    84         
    85         Date date2 = new Date();
    86         date2.setTime(1473485640659l);
    87         long l = date2.getTime();
    88         System.out.println(l);    //1473485640659
    89     }
    90 
    91 }
     1 package p1;
     2 
     3 import java.text.DateFormat;
     4 import java.text.ParseException;
     5 import java.util.Date;
     6 
     7 /*
     8  * “2012-3-17”到“2012-4-6”间有多少天
     9  * 
    10  * 思路:
    11  *         日期格式字符串-->日期对象-->获取毫秒值-->相减
    12  */
    13 public class DateTest {
    14 
    15     public static void main(String[] args) throws ParseException {
    16         
    17         String str_date1 = "2012-3-17";
    18         String str_date2 = "2012-4-6";
    19         
    20         test(str_date1,str_date2);
    21 
    22     }
    23 
    24     public static void test(String str_date1, String str_date2) throws ParseException {
    25         DateFormat dateformat = DateFormat.getDateInstance();//对应格式
    26         
    27         Date date1 = dateformat.parse(str_date1);
    28         Date date2 = dateformat.parse(str_date2);
    29         
    30         long time1 = date1.getTime();
    31         long time2 = date2.getTime();
    32         
    33         long time = Math.abs(time1-time2);
    34         
    35         int day = getDay(time);
    36         System.out.println(day);
    37         
    38     }
    39 
    40     public static int getDay(long time) {
    41         int day = (int)(time/1000/60/60/24);
    42         return day;
    43     }
    44 
    45 }

     Calendar类

     1 package cn.itcast.p1.otherapi;
     2 
     3 import java.util.Calendar;
     4 
     5 public class CalendarDemo {
     6 
     7     public static void main(String[] args) {
     8         Calendar c = Calendar.getInstance();
     9         System.out.println(c);
    10         /*电脑当前时间的日历
    11          * 
    12          * java.util.GregorianCalendar[time=1473493014690,areFieldsSet=true,
    13             areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
    14             offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,
    15             minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=8,WEEK_OF_YEAR=37,WEEK_OF_MONTH=2,DAY_OF_MONTH=10,
    16             DAY_OF_YEAR=254,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,
    17             MINUTE=36,SECOND=54,MILLISECOND=690,ZONE_OFFSET=28800000,DST_OFFSET=0]
    18 
    19          */
    20         
    21         showDate(c);
    22         
    23         showDays(2016);//判断2016的二月有多少天
    24 
    25     }
    26 
    27     public static void showDays(int i) {
    28         Calendar c = Calendar.getInstance();
    29         c.set(i, 2, 1);
    30         
    31         c.add(Calendar.DAY_OF_MONTH, -1);
    32         showDate(c);
    33     }
    34 
    35     public static void showDate(Calendar c) {
    36         
    37         int year = c.get(Calendar.YEAR);
    38         int month = c.get(Calendar.MONTH)+1;
    39         int day = c.get(Calendar.DAY_OF_MONTH);
    40         int week = c.get(Calendar.DAY_OF_WEEK);
    41         int hour = c.get(Calendar.HOUR_OF_DAY);
    42         int min = c.get(Calendar.MINUTE);
    43         int second = c.get(Calendar.SECOND);
    44         
    45         System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week)+" "+hour+":"+min+":"+second);
    46     }
    47 
    48     public static String getWeek(int week) {
    49         String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
    50         
    51         return weeks[week];
    52     }
    53 
    54 }

     

  • 相关阅读:
    如何面试前端工程师!
    CSS实现背景透明,文字不透明(各浏览器兼容)
    IE6中伪类:hover的使用及BUG
    jQuery UIdraggable参数学习
    PHP与正则表达式 2 :一些修饰符与preg_match_all
    通过apktool获取apk package name(包名)以及activity name
    jquery.ui.draggable中文文档
    无法加载php_curl.dll解决办法
    ubuntu命令查询版本和内核版本
    linux zip, unzip命令详解[ubuntu]
  • 原文地址:https://www.cnblogs.com/Newbie-Cai/p/5859120.html
Copyright © 2020-2023  润新知