Java学习笔记其他对象API

Posted Newbie蔡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

 

以上是关于Java学习笔记其他对象API的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

Java8学习笔记--Stream API详解[转]

Java基础学习笔记

android学习笔记34——ClipDrawable资源

《Java并发编程实战》学习笔记

学习笔记:python3,代码片段(2017)