Java基础--- 其它对象
2015-11-23 09:59
417 查看
其它对象API
System类
System类中的字段和方法都是静态的。
常见方法:long currentTimeMillis();获取当前时间毫秒值,可以通过此方法检测程序的执行时间。
示例1:(检查程序执行的时间)
Properties集合中存储的都是String类型的建和值。
示例2:(获取系统属性信息)
Windows系统中换行为\r\n两个转义字符,Linux只有一个\n。
示例3:(获取系统属性换行符)
给系统属性设置一些属性信息,这些信息是全局的,其他程序都可以使用。例:
System.setPeroperty("myclasspath","c:\myclass");。
Runtime类
Runtime:没有构造方法摘要,说明该类不可以创建对象。又发现还有非静态的方法,说明该类应该提供静态的返回该类对象的方法。而且只有一个,说明Runtime类使用了单例设计模式。
示例1:
Math类
Math:提供了操作数学运算的方法,都是静态的。
常用方法:
ceil():返回大于参数的最小整数。
floor():返回小于参数的最大整数。
round():返回四舍五入的整数。
pow(a,b):a的b次方。
示例:
Date、DateFormat类
示例1:
日期对象和毫秒值之间的转换
毫秒值-->日期对象:
1. 通过Date对象的构造方法 new Date(timeMillis);
2. 还可以通过setTime设置。
因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。
日期对象-->毫秒值:
1. getTime方法。
因为可以通过具体的数值进行运算。
对日期对象进行格式化:
将日期对象-->日期格式的字符串。
使用的是DateFormat类中的format方法。
示例2:(对日期进行格式化)
将日期格式的字符串-->日期对象。
使用的是DateFormat类中的prase方法。
示例3:
示例4:(计算”2015-11-1“到“2015-11-23”中间有多少天)
Calendar类
Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
示例1:
示例2:
示例3:(打印每年2月有多少天)
System类
System类中的字段和方法都是静态的。
常见方法:long currentTimeMillis();获取当前时间毫秒值,可以通过此方法检测程序的执行时间。
示例1:(检查程序执行的时间)
class SystemDemo { public static void main(String[] args) { long l1 = System.currentTimeMillis(); //code... long l2 = System.currentTimeMillis(); System.out.pirntln(l2-l1); } }ProPerties getProperties();明确当前的系统属性。
Properties集合中存储的都是String类型的建和值。
示例2:(获取系统属性信息)
import java.util.Set; import java.util.Properties; class SystemDemo { public static void main(String[] args) { //获取系统的属性信息,并存储到了Properties集合中 Properties prop = System.getProperties(); Set<String> nameSet = prop.stringPropertyNames(); for(String name : nameSet) { String value = prop.getProperty(name); System.out.println(name+"="+value); } } }
Windows系统中换行为\r\n两个转义字符,Linux只有一个\n。
示例3:(获取系统属性换行符)
class SystemDemo { public static void main(String[] args) { System.out.println("hello-\r\n world"); final String LINE_SEPARATOR = System.getProperty("line.separator"); System.out.println("hello"+LINE_SEPARATOR+"world"); } }
给系统属性设置一些属性信息,这些信息是全局的,其他程序都可以使用。例:
System.setPeroperty("myclasspath","c:\myclass");。
Runtime类
Runtime:没有构造方法摘要,说明该类不可以创建对象。又发现还有非静态的方法,说明该类应该提供静态的返回该类对象的方法。而且只有一个,说明Runtime类使用了单例设计模式。
示例1:
import java.io.IOException; class SystemDemo { public static void main(String[] args) throws InterruptedException,IOException { Runtime r = Runtime.getRuntime(); Process p = r.exec("notepad.exe D:\\javaExc\\SystemDemo.java"); Thread.sleep(5000); p.destroy(); } }
Math类
Math:提供了操作数学运算的方法,都是静态的。
常用方法:
ceil():返回大于参数的最小整数。
floor():返回小于参数的最大整数。
round():返回四舍五入的整数。
pow(a,b):a的b次方。
示例:
import java.util.Random; class MathDemo { public static void main(String[] args) { double d1 = Math.ceil(12.56); double d2 = Math.floor(12.56); double d3 = Math.round(12.56); System.out.println(d1);//13.0 System.out.println(d2);//12.0 System.out.println(d3);//13.0 double d4 = Math.pow(10,2); System.out.println(d4);//100 for(int i = 0;i<5;i++) { double d5 = Math.random(); System.out.println("d5="+d5); } Random r = new Random(); for(int i=0;i<5;i++) { double d6 = r.nextDouble(); System.out.println("d6="+d6); } } }
Date、DateFormat类
示例1:
import java.util.Date; class DateDemo { public static void main(String[] args) { long time = System.currentTimeMillis(); System.out.println(time); //将当前日期和时间封装成Date对象 Date d1 = new Date(); System.out.println(d1); //将指定毫秒值封装成Date对象 Date d2 = new Date(1405244787235l); System.out.println(d2); } }
日期对象和毫秒值之间的转换
毫秒值-->日期对象:
1. 通过Date对象的构造方法 new Date(timeMillis);
2. 还可以通过setTime设置。
因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。
日期对象-->毫秒值:
1. getTime方法。
因为可以通过具体的数值进行运算。
对日期对象进行格式化:
将日期对象-->日期格式的字符串。
使用的是DateFormat类中的format方法。
示例2:(对日期进行格式化)
import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; class DateDemo { public static void main(String[] args) { Date date = new Date(); //获取日期格式对象,具备这默认的风格。也可以指定为FULL、LONG风格。 DateFormat df = DateFormat.getDateInstance(DateFormat.FULL); String str_date1 = df.format(date); System.out.println(str_date1); df = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.LONG); String str_date2 = df.format(date); System.out.println(str_date2); //如果风格是自定义 df = new SimpleDateFormat("yyyy--MM--dd hh:mm:ss"); String str_date3 = df.format(date); System.out.println(str_date3); } }
将日期格式的字符串-->日期对象。
使用的是DateFormat类中的prase方法。
示例3:
import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.ParseException; class DateDemo { public static void main(String[] args) throws ParseException { String str_date1 = "2012年4月18日"; String str_date2 = "2012--4--19"; DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG); Date date1 = dateFormat.parse(str_date1); System.out.println(date1); dateFormat = new SimpleDateFormat("yyyy--MM--dd"); Date date2 = dateFormat.parse(str_date2); System.out.println(date2); } }
示例4:(计算”2015-11-1“到“2015-11-23”中间有多少天)
import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.ParseException; /** 1. 将日期格式的字符串转成Date对象。 2. 将Date对象转成毫秒值。 3. 相减,编程天数。 */ class DateDemo { public static void main(String[] args) throws ParseException { String str_date1 = "2015-11-1"; String str_date2 = "2015-11-23"; test(str_date1,str_date2); } public static void test(String str_date1,String str_date2) throws ParseException { //1、将日期字符串转成日期对象 DateFormat dateFormat = DateFormat.getDateInstance(); dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = dateFormat.parse(str_date1); Date date2 = dateFormat.parse(str_date2); long time1 = date1.getTime(); long time2 = date2.getTime(); long time = Math.abs(time2-time1); System.out.println(time); int day = getDay(time); System.out.println(day); } private static int getDay(long time) { int day = (int)(time/1000/60/60/24); return day; } }
Calendar类
Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
示例1:
import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { //GregorianCalendar Calendar c = Calendar.getInstance(); showDate(c); } public static void showDate(Calendar c) { int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int day = c.get(Calendar.DAY_OF_MONTH); int week = c.get(Calendar.DAY_OF_WEEK); System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week)); } public static String getWeek(int i) { String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; return weeks[i]; } }
示例2:
import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { //GregorianCalendar Calendar c = Calendar.getInstance(); c.set(2015,6,20); c.add(Calendar.YEAR,-2); showDate(c); } public static void showDate(Calendar c) { int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int day = c.get(Calendar.DAY_OF_MONTH); int week = c.get(Calendar.DAY_OF_WEEK); System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week)); } public static String getWeek(int i) { String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; return weeks[i]; } }
示例3:(打印每年2月有多少天)
import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { int year = 2015; showDays(year); } public static void showDays(int year) { Calendar c = Calendar.getInstance(); //将日期设置为3月1日,然后减一天,打印出2月份的最后一天日期,即可知2月有多少天 c.set(year,2,1); c.add(Calendar.DAY_OF_MONTH,-1); showDate(c); } public static void showDate(Calendar c) { int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int day = c.get(Calendar.DAY_OF_MONTH); int week = c.get(Calendar.DAY_OF_WEEK); System.out.println(year + "年" + month + "月" + day + "日" + getWeek(week)); } public static String getWeek(int i) { String[] weeks = { "","星期日" ,"星期一" ,"星期二" ,"星期三" ,"星期四" ,"星期五" ,"星期六" }; return weeks[i]; } }
相关文章推荐
- java生成pdf文档
- Java自定义注解和运行时靠反射获取注解
- Java双例集合下Map接口及其常用实现类
- opencv for java HoughLinesP的使用
- Spring MVC中如何传递对象参数
- 自动化测试工具[原]
- Eclipse一些操作
- JAVA中三种URL连接方法
- 开源 java CMS - FreeCMS2.4 单位管理
- BasicDAO与SpringDAO区别,使用Hibernate验证,注解方式实现主键自增,注解方式注入外键(一对多)
- spring mvc原理分析
- spring-data-jpa+hibernate 各种缓存的配置演示
- Spring-----代码中使用注入的Properties配置属性
- 搭建eclipse嵌入式开发环境之添加devices
- 初步理解Java的泛型特性
- 1.1 Java ME
- spring-data-elasticsearch整合elasticsearch
- Java学习篇之---修饰符final详解
- Java 反射机制学习资料
- 03 elasticsearch java api