常见对象

一、System

1、特点

不能实例化对象,提供的方法都是静态的。

2System类中获取本地系统信息的方法

系统属性信息:程序在运行时获取到Jvm以及所在操作系统的一些固有信息,获取了这些信息,能为后面的程序运行提供了数据。

 

 1 public static void systemMethodDemo(){
 2         //获取系统信息并存储到Properties中
 3         Properties p = System.getProperties();
 4         //properties是map集合的小弟,可以将其转成set集合获取其中的信息
 5         Set<String> set = p.stringPropertyNames();
 6         for (String string : set) {
 7             System.out.println(string+p.getProperty(string));
 8         }
 9         //获取指定名称的系统信息
10         System.out.println(p.getProperty("os.name"));
11 }

 

获取不同系统中的换行符:-------->将其定义为一个常量!

1 public class SystemDemo {
2     private static final String LINE_SEPARATOR = System.getProperty("line.separator");
3     public static void main(String[] args) {
4         systemMethodDemo();
5     }
6     public static void systemMethodDemo(){
7         System.out.println("hello"+LINE_SEPARATOR+"world");
8     }
9 }

static long currentTimeMillis():获取当前时间,以毫秒为单位。

static void exit(int status) :退出当前程序。

static void gc():调用垃圾回收器。

static Properties getProperties()获取当前系统属性

static String getProperty(String key):根据关键字获取系统属性名称。

static String setProperty(String key, String value):设置属性的键和值。

 

Properties

 

properties集合中存储都是string类型的键和值,最好使用它自己的存储和取出的方法来完成元素的操作。

 

常用方法:

 

Properties getProperty(String key):返回指定的属性

 

Object setProperty(String key,String value):设置属性的键和值

 

void load(InputStream inStream) :加载输入流

 

Set<String> stringPropertyNames() :返回属性键的集合。

 

二、Runtime

 

没有构造方法摘要,说明该类不可以创建对象,又发现还有非静态的方法,说明该类应该提供静态的返回该类对象的方法,而且只有一个,说明runtime类使用了单例设计模式

 

1Runtime api查阅时,你看到了什么,想到了什么?

 

我看到了exec方法返回的是一个进程,想到了系统中的可执行文件可以通过该方法启动一个程序。

 

Runtime r=Runtime.getRuntime();

 

r.exec("notepad.exe");//打开记事本程序

 

   //r.exec("baofengyinying.exe" e:\\dianying\\变形金刚);//使用暴风影音播放变形金刚电影。

 

三、Math

 

1Math中的常见方法使用

 

提供了操作数学元素的方法,都是静态的

 

int abs(int a)返回整数的绝对值

 

int max(int a, int b)返回两个整数的最大值

 

double random()返回一个随机值(0--1之间)

 

double sqrt(double a)返回一个数的平方根

 

double ceil():返回大于参数的最小整数

 

double floor():返回小于参数的最大整数

 

double round():返回四舍五入的值。

 

double pow(a,b):ab次方。

 

 1 public static void main(String[] args) {
 2     double d = Math.ceil(12.34);
 3     System.out.println(d);//13.0
 4     double d1= Math.floor(12.34);
 5     System.out.println(d1);//12.0
 6     double d2 = Math.round(12.34);
 7     System.out.println(d2);//12.0
 8     double d3 = Math.round(12.56);
 9     System.out.println(d3);//13.0
10 }

 

四、Date

Date():将当前日期和时间封装成对象

Date(long time):将指定毫秒值封装成Date对象。

1、日期对和毫秒值之间的转换

毫秒值----->日期对象

  1.通过Date对象的构造方法new DatetimeMilles)

Date d = new Date(122394272384947)

  2.还可以通过setTime方法设置

Date d = new Date( );

d.setTime(122394272384947);

ü 为什么要把毫秒值转成日期对象呢?

因为你可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作

 

日期对象----->毫秒值long getTime()方法

ü 为什么要把日期对象转成毫秒值呢?

因为可以通过绝缘体的数值进行运算。

2、对日期对象进行格式化

将日期对象----->日期格式的字符串,使用的是DateFormat类中的format方法

获取日期格式对象,具体默认的风格。FULLLONG等可以指定风格

 

 1 public static void dateFormatDemo(){
 2     Date d = new Date();
 3     //使用默认风格
 4     DateFormat df = DateFormat.getDateInstance();//获取DateFormat对象
 5     //使用指定风格
 6     df = DateFormat.getDateInstance(DateFormat.FULL);
 7     //使用指定风格,包含日期和时间
 8 df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
 9     //使用自定义风格
10     df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
11         
12     String str_date = df.format(d);//将日期对象----->日期格式的字符串
13     System.out.println(str_date);
14 }

 

将日期格式的字符串----->日期对象,使用的是DateFormat类中的parse方法

 1 public static void dateFormatDemo1() throws ParseException{
 2     //日期字符串
 3     String str_date = "2012-8-1";
 4     //定义日期格式化对象
 5     DateFormat df = DateFormat.getDateInstance();
 6     Date date = df.parse(str_date);
 7     System.out.println(date);
 8 }
 9 自定义日期格式,使用SimpleDateFormat构造完成
10 练习:2020/8/12和2020/8/2相差多少天?
11 public class DateTest {
12     public static void main(String[] args) throws ParseException {
13         String str1 = "2020/8/12";
14         String str2 = "2020/8/2";
15         long day = getDay(str1, str2);
16         System.out.println(day);
17     }
18     public static long getDay(String str1,String str2) throws ParseException{
19         DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
20         Date d1 = df.parse(str1);
21         Date d2 = df.parse(str2);
22         long time1 = d1.getTime();
23         long time2 = d2.getTime();
24         long time = Math.abs(time1-time2)/1000/60/60/24;
25         return time;
26     }
27 }
28  

 

posted @ 2020-09-05 20:33  十月初生  阅读(130)  评论(0)    收藏  举报