黑马程序员—其他类

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

1.System类:
System:类中的方法和属性都是静态的。
不能被实例化,没有构造函数。

out:标准输出,默认控制台。
in:标准输入,默认是键盘。

描述系统一些信息
获取系统属性:getProperties()

import java.util.*;
class SystemDemo
{
    public static void main(String[] args) 
    {
        Properties prop = System.getProperties();
        //因为Properties是Hashtable的子类,也就是Map集合的一个子类对象
        //那么可以通过map的方法取出该集合中的元素。
        //该集合中存储的都是字符串,没有泛型定义。

        //如何在系统中自定义一些特有信息呢?
        System.setProperty("mykey","myvalue");

        //获取指定属性信息
        String value = System.getProperty("os.name");
        System.out.println("value="+value); 

        //可不可以在jvm启动时,动态加载一些属性信息呢?
        String v = System.getProperty("hahaa");
        System.out.println("v="+v);

        for (Object obj : prop.keySet())
        {
            String value = (String)prop.get(obj);

            System.out.println(obj+"..."+value);

2.Runtime类:
该类并没有提供构造函数。
说明不可以new对象,那么会直接想到该类中的方法都是静态的。
发现该类中还有非静态方法,说明该类肯定会提供方法获取本类对象,
而且该方法是静态的,并且返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式完成。

该方式是static Runtime getRuntime();

class RuntimeDemo
{
    public static void main(String[] args)throws Exception
    {
        Runtime r = Runtime.getRuntime();
        r.exec("notepad.exe SystemDemo.java");
    }

3.Carendar类:
1、概述:
1)Calendar是一个抽象类。
2)Calendar可以对年月日等时间进行获取。
2、方法:
2.1、基本获取时间
1)获取年份:Calendar.YEAR
2)获取月份:Calendar.MONTH
3)获取日期:Calendar.DAY_OF_MONTH
4)获取星期:Calendar.DAY_OF_WEEK
5)获取小时:Calendar.HOUR_OF_DAY
6)获取分钟:Calendar.MINUTE
7)获取秒数:Calendar.SECOND
2.2、设置时间:
1)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
void add(int field,int amount);
2)获取指定的日历字段对应的时间值:
int get(int field);
3)将给定日历字段对应的时间值设置为给定值:
void set(int field,int value);
设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值:
void set(int year,int month,int date);
需求:
1.获取昨天的现在这个时刻。
c.add(Calendar.DAY_OF_MONTH,-1);

演示代码:

import java.util.*;
import java.text.*;
class CalendarDemo
{
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }

    public static void main(String[] args)
    {
        Calendar c = Calendar.getInstance();
        c.set(2015,6,24);//2015年7月24日   
        c.add(Calendar.DAY_OF_MONTH,-1);//往前推一天
        PrintCalendar(c);
    }
    public static void PrintCalendar(Calendar c)
    {
        String[] months={"一月","二月","三月","四月",
                        "五月","六月","七月","八月",
                        "九月","十月","十一月","十二月"};
        String[] weeks={
            "","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        int index = c.get(Calendar.MONTH);
        int index1= c.get(Calendar.DAY_OF_WEEK);
        sop(c.get(Calendar.YEAR)+"年");
        sop(months[index]);
        sop(c.get(Calendar.DAY_OF_MONTH)+"日");
        sop(weeks[index1]);
        sop(c.get(Calendar.HOUR)+"时");
        sop(c.get(Calendar.MINUTE)+"分");
        sop(c.get(Calendar.SECOND)+"秒");
    }
}

这里写图片描述

4.Math类:
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。该类全为静态方法。

演示代码:

class MathDemo
{
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
    public static void main(String[] args) 
    {
        double d = Math.ceil(-12.34);//ceil返回大于等于参数的最小整数。
        sop(d);
        double d1 = Math.floor(-12.34);//floor返回小于等于参数的最大整数。
        sop(d1);
        long l = Math.round(-12.34);//round返回最接近参数的整数,四舍五入。
        sop(l);
        double d3 = Math.pow(5,3);//fpow返回5的3次方
        sop(d3);
        show();

    }
    public static void show()
    {
        for(int x=0;x<10;x++)
        {
            double d4 =Math.random();//返回一个大于等于0,且小于1的带正号的double值。
            sop(d4);
            int i =(int)(Math.random()*10+1) ;//返回一个1到11之间的正整数。
            sop(i);
        }
    }
}

这里写图片描述

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值