java笔记21 常用API

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值