黑马程序员:其他类的介绍:System、Properties、Runtime、Calendar、Math等
2013-11-11 13:22
429 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
重点是为了讲述API查询方法
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
重点是为了讲述API查询方法
import java.util.Properties; /* * System类:描述系统一些信息 * 类中的方法和属性都是静态的 * out:标准输出,默认是控制台 * in:标准输入,默认是键盘 * 获取系统属性信息:Properties getProperties(); */ public class SystemClassDemo { public static void main(String[] args) { Properties prop = System.getProperties(); /*Properties是Hashtable的子类,也就是Map集合的一个子类对象 * 那么就可以通过Map的方法取出该集合中的元素 * Properties集合中存储的都是字符串,没有泛型定义 */ //获取所有属性信息 for (Object obj:prop.keySet()) { //也可以通过迭代器方式 String value = (String)prop.get(obj); sop(obj+"~"+value); } //如何在系统中自定义一些特有的信息? //System.setProperty("mykey", "myvalue"); //可不可以在JVM启动时,动态加载一些属性信息呢? //可以通过java -Dkey=value 完成 //获取指定属性信息 String osname = System.getProperty("os.name"); //获取系统名称 sop(osname); //Linux } public static void sop(Object obj) { System.out.println(obj); } }
import java.io.IOException; /* * Runtime类 * 该类并没有提供构造函数 * 说明不可以new对象,那么会直接想到该类中的方法都是静态的, * 但是该类中还有非静态方法,那么说明该类肯定会提供一个方法获取本类对象,而且该方法是静态的 * 并且返回值类型是本类类型 * 由以上特点可以看出该类使用了单例设计模式完成 * 该类获取本类对象方法 static Runtime getRuntime(); */ public class RuntimeClassDemo { public static void main(String[] args) throws IOException,InterruptedException { // TODO Auto-generated method stub Runtime r = Runtime.getRuntime(); Process p = r.exec("gnome-system-monitor"); Thread.sleep(5000); p.destroy(); //结束进程 } }
import java.util.Calendar; /* * 通过Calendar获取年、月、日、星期 * Calendar不能创建对象,但是可以通过getInstance()返回本类对象 * 再通过返回的对象.get(获取的信息) 比如: * Calendar c = Calendar.getInstance(); * c.get(Calendar.YEAR) 获取年 YEAR为Calendar静态方法 * c.add(Calendar.DAY_OF_MONTH,-18) 减18天,注意日期是关联性的,比如对天数改变可能引起月份改变 * 注意点: * 1.JAVA中MONTH返回0表示一月 * 2.JAVA中DAY_OF_WEEK返回1表示周日 */ public class CalendarUtilClassDemo { public static void main(String[] args) { Calendar c = Calendar.getInstance(); //c.set(2012,2,23); //设置当前时间为2012年3月23日 //c.add(Calendar.DAY_OF_MONTH,-14); //-14天 printCalendar(c); } public static void printCalendar(Calendar c) { sop(c.get(Calendar.YEAR)+"年"); //查表法(曾经做进制转换的时候用过) String[] mons = {"一月","二月","三月","四月" ,"五月","六月","七月","八月" ,"九月","十月","十一月","十二月"}; String[] week = {"周日","周一","周二","周三","周四","周五","周六"}; int monindex = c.get(Calendar.MONTH); int weekindex = c.get(Calendar.DAY_OF_WEEK); sop(mons[monindex]); //java中0表示一月 sop(c.get(Calendar.DAY_OF_MONTH)+"日"); sop(week[weekindex-1]); //-1是因为java中1表示周日,2表示周一 } public static void sop(Object obj) { System.out.println(obj); } }
关于Date、SimpleDateFormat、Calendar的应用 import java.text.SimpleDateFormat; import java.util.Calendar; /* * 练习题: * 一、获取任意年的二月有多少天 * 思路:只要获取3月1日-1天是多少即可知道二月有多少天 * 二、获取昨天的现在这个时间 * 思路:当前时间-1天即可 * 三、求上学有效天数,时间范围为2012.9.1~2013.7.1,假设周六日为无效日 * 思路:for循环,若是无效日期,则不累加 */ public class DateTest { public static void main(String[] args) { // TODO Auto-generated method stub //sop(FebruaryDays(2013)); //sop(yesterdayNowTime()); sop(effectiveDays(2012,9,1,2013,7,1)); } //求2012.9.1~2013.7.1有效天数 public static int effectiveDays(int year1,int month1,int day1, int year2,int month2,int day2) { Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss"); month1 -= 1; //JAVA中0表示1月 month2 -= 1; c.set(year1,month1,day1); sop("起始时间:"+sdf.format(c.getTime())); int count = 0; while(c.get(Calendar.MONTH)!=month2 || c.get(Calendar.YEAR)!=year2 || c.get(Calendar.DAY_OF_MONTH)!=day2) { c.add(Calendar.DAY_OF_MONTH,1); if (c.get(Calendar.DAY_OF_WEEK)==1 || c.get(Calendar.DAY_OF_WEEK)==7) continue; count++; } sop("结束时间:"+sdf.format(c.getTime())); return count; } //获取任意年的二月有多少天 public static int FebruaryDays(int year) { Calendar cl = Calendar.getInstance(); cl.set(year,2,1); //设置时间为某年,3月1日 cl.add(Calendar.DAY_OF_MONTH, -1); return cl.get(Calendar.DAY_OF_MONTH); } //获取昨天的现在这个时间 public static String yesterdayNowTime() { Calendar cl = Calendar.getInstance(); cl.add(Calendar.DAY_OF_MONTH, -1); int day = cl.get(Calendar.DAY_OF_MONTH); int hour = cl.get(Calendar.HOUR_OF_DAY); int minute = cl.get(Calendar.MINUTE); int mills = cl.get(Calendar.MILLISECOND); return day+"号"+hour+"点"+minute+"分"+mills+"秒"; } public static void sop(Object obj) { System.out.println(obj); } }
Math对象 import java.util.Random; public class MathDemo { public static void main(String[] args) { // TODO Auto-generated method stub double d = Math.ceil(12.34); //13.0 ceil返回大于指定数据的最小整数 double d1 = Math.floor(12.34); //12 floor返回小于指定数据的最大整数 long l = Math.round(12.54);//13 round返回四舍五入的值 sop(d); sop(d1); sop(l); double d2 = Math.pow(2, 3); //2的3次方 sop(d2); /* for (int x=0; x<10; x++) { //double rd = Math.random(); //返回0到1之间的伪随机数(包含0,不包含1) //sop(rd); //伪随机是因为底层用算法弄出的随机 int intrd = (int)(Math.random()*10+1); sop(intrd); } */ //取随机数的另一种方法 Random r = new Random(); for (int x=0; x<10; x++) { sop(r.nextInt(11)); //包含0,不包含11 } } public static void sop(Object obj) { System.out.println(obj); } }
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
相关文章推荐
- 黑马程序员——Java基础——其他对象(System、Runtime、Date、Calendar、Math)
- 黑马程序员——Java语言基础:其他对象(System、Runtime、Date、Calendar、Math)
- 黑马程序员-day18其他对象System,Runtime,Date,Calendar,Math-Random
- 黑马程序员------其他类(System、Runtime、Date、Calendar、Math-Random)
- 黑马程序员------毕老师视频笔记第18-21天------其他对象(System、Runtime、Data、Calendar、Math)
- Collections集合工具类、Arrays工具类、其他常用类:System,Runtime,Date,Calendar,Math
- 黑马程序员_基础_System、Runtime、Date、Calendar和Math-Random等常用对象的学习笔记
- 黑马程序员--常用API(String、基本数据类型的包装类、System、Runtime、Date、Calendar、Math)
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- 黑马程序员_<<常用类(System.Math,Calendar,Date,Runtime)>>
- 黑马程序员_JAVA- System、Runtime、Math、Date、Calendar
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- java--其他对象(System,Runtime,Date,Calendar,Math)
- 黑马程序员——第16天下——(API)System,Runtime,Date,Calendar,Math
- 黑马程序员———其他对象(System,DateFormat,Calender,Runtime,Math)
- Collections集合工具类、Arrays工具类、其他常用类:System,Runtime,Date,Calendar,Math
- 11.其他对象【System】【Runtime】【Math】【Date】【Calendar】
- 黑马程序员 Java基础之System,Runtime,Date,Calendar,Math.Random对象
- 黑马程序员--Java基础--集合、泛型、其他对象(System、Runtime、Math、Date)
- 黑马程序员--Java笔记11--静态类(Collections、Arrays、System、Runtime、Date、Calendar、Math)