程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 【Java學習筆記】其他對象API,java學習筆記api

【Java學習筆記】其他對象API,java學習筆記api

編輯:JAVA綜合教程

【Java學習筆記】其他對象API,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 }

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved