java笔记21 常用API

来源:互联网 发布:java把两个数组合并 编辑:程序博客网 时间:2024/06/16 18:56

1.System

System:类中的方法和属性都是静态的

out:标准输出,默认是控制台

        in:标准输入,默认是键盘

        加载时

—D 名称=值 class文件名

        可以在启动虚拟机时加载自定义的系统属性

long currentTimeMillis(); // 返回当前时间毫秒值

exit(); // 退出虚拟机

Properties getProperties() ;  // 获取当前系统的属性信息

import java.util.*;public class H_01System {    public static void main(String [] args)    {            Properties prop=System.getProperties();            //因为Properties是Hashtable的子类,也就是Map集合的一个子类对象            //可以使用map的取出方法            //该集合中存储的都是字符串,没有泛型定义                       //获取指定属性信息            String value1=System.getProperty("os.name");            System.out.println(value1);            //可以用来判断系统是是否符合安装环境                       //Iterator it=prop.keySet().iterator();            //获取全部信息            for(Object obj:prop.keySet())            {                String value=(String)prop.get(obj);                System.out.println(obj+"---"+value);            }              //如何在系统中自定义一些特有信息            System.setProperty("hello", "java");    }}

 

2.  Runtime对象

        该类并没有提供构造函数

        说明不可以new对象,那么会直接想到该类中的防范都是静态的

        但该类中还有非静态方法

        说明该类肯定会提供防范获取本类对象,而且方法是静态的,返回值是本类对象

       Runtime其实使用的就是单例设计模式。

        Processp=r.exec("winmine.exe")

        p.destory();杀死进程

        r.exec("notepad.exe  SystemDemo.java");用记事本打开文件

import java.io.IOException;public class H_02RuntimeDemo {         public static void main(String[] args) throws Exception {                   Runtime r=Runtime.getRuntime();                   //调用本机程序                   r.exec("D:\\Program Files (x86)\\Yixin\\EasyChat\\yixin.exe");                   //返回一个Process         }}

3.      Date

import java.util.*;import java.text.*;public class H_03DateDemo {    public static void main(String[] args) {        Date d=new Date();        System.out.println(d);        //将模式封装在SimpleDateFormat对象中        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String time=sdf.format(d);//传入对象用需求模式输出//format是将date对象输出为字符串对象        System.out.println(time);          }}

按格式获得当前时间。

Format直接操作日期对象

parse操作字符串,转换成Date对象。

如何获得两个时间的时间差

import java.util.Date;import java.text.DateFormat;import java.text.SimpleDateFormat; public class DateTest{       public static void main(String[] args) throws Exception {            String str_date1 = "2014-3-17";            String str_date2 = "2014-4-6";            test(str_date1,str_date2);      }            public static void test(String str_date1,String str_date2) throws Exception {             //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;      }}

 

4.      Calendar

import java.util.*;import java.text.*;public class H_04CalenderDemo{    public static void main(String[] args)    {              Calendar c=Calendar.getInstance();        //c.set(2016, 0, 13);        c.add(Calendar.YEAR, -1);        printC(c);        Scanner input=new Scanner(System.in);        sop("请输入一个年份");        int year=input.nextInt();        c.set(year,2,1);        c.add(Calendar.DAY_OF_MONTH, -1);//天数减一        sop(c.get(Calendar.DAY_OF_MONTH));    }    public static void printC(Calendar c)    {        sop(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1));        String [] months={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};        int index=c.get(Calendar.MONTH);        sop(months[index]);    }    public static void sop(Object obj)    {        System.out.println(obj);    }}

注意月份是从0开始的

结果

2014年6

六月

请输入一个年份

2000

2000年2月有29天

5.      Math

返回值类型大多是double

ceil方法:返回大于指定数据的最小整数(天花板,所以是+1)

floor方法:返回小于指定数据的最大整数(地板,所以是减一)

round方法:四舍五入

pow方法:幂运算

random方法:返回0~1的伪随机数(>=0.0,<1.0)包含0不包含1

import java.util.*;public class H_05MathDemo {    public static void main(String[] args) {        double d=Math.ceil(12.34);        double f=Math.floor(12.34);        double d2=Math.pow(2,3);        sop(d);//13        sop(f);//12        sop(d2);//8  (2的3次方)               int x=(int) (Math.random()*10);        sop(x);    }    public static void sop(Object obj)    {        System.out.println(obj);    }}


 

 

0 0