首页 > 代码库 > 【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      *             2835                 张三36                 hello37                 woorld38 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 =http://www.mamicode.com/ 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");//打开notep22         Process p = r.exec("notepad.exe D:\\1.txt");//打开notepad,在用notepad打开TXT23                     //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.017          */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.01354668482943810534                 0.0805871738046229935                 0.2515634870910782336                 0.814920134085007137                 0.3798688284149829338                 0.2371813506625031239                 0.634893962969442240                 0.950877768407648441                 0.823147848670474942                 0.460580038704442343              */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.061         System.out.println(d2); //12.062         System.out.println(d3);//12.063         System.out.println(d4);//1000.064         65         for (int i=0; i<10; i++)66         {67             double d = Math.random();68             System.out.println(d);69             /*70              *  0.302727561542924871                 0.523849587979057772                 0.98783981867565473                 0.674915693358544174                 0.847452436364982475                 0.41212422807785176                 0.00932494466696975977                 0.913691870753976278                 0.4119791755652003679                 0.327761728196249680              */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 201632         33         Date date1 = dateformat1.parse(str1);34         System.out.println(date1);//Sat Sep 10 02:22:08 CST 201635     }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@ef7951d749         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:0860         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);  //147348564065978         79         Date date = new Date(); //将当前日期和时间封装成date对象。80         System.out.println(date); //Sat Sep 10 13:39:21 CST 201681         82         Date date1 = new Date(1473485640659l); //将指定毫秒值封装成date对象。83         System.out.println(date1);  //Sat Sep 10 13:34:00 CST 201684         85         Date date2 = new Date();86         date2.setTime(1473485640659l);87         long l = date2.getTime();88         System.out.println(l);    //147348564065989     }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