黑马程序员java基础之其他对象

------- android培训java培训、期待与您交流! ----------

1.System对象:描述一些系统的信息。  当中的方法和属性都是静态的,

    out:标准输出,默认控制台(屏幕);  int 标准输出,默认键盘

    获取系统属性信息:Properties   getProperties()

import java.util.*;
class SystemDemo
{
  public static void main(String[] args)
  {
     Properties prop =System.getProperties();
   //Properties属于Hashtable的子类,即Map子类,所以可以直接用Map的方法取出集合中的元素
   //集合中存储的都是字符串,没有泛型的定义

    //获取所有属性信息
/*
     for(Object obj: prop.keySet())
     {
        String value=(String)prop.get(obj);
        System.out.println("::"+value);
     }
*/
     //获取指定属性信息
      String value= System.getProperty("os.name");
      System.out.println("::"+value);

      //在系统中自定义一些特有信息
      System.setProperty("myke","kjdihfsdngksdnfksdls");
      
      //在系统中动态创建一个属性   运行时要手动设置属性java -Dhaha=qqqqq SystemDemo  
      String v=System.getProperty("haha");
      System.out.println(v);
  }
}
2.RunTime对象: 没有提供构造函数,有非静态方法,则该类提供了静态方法获取本类对象,且返回值是本类类型。使用单例设计模式完成

   该方法是 static Runtime getRuntime();

class RunTimeDemo
{
   public static void main(String[] args) throws Exception   //exec会抛出IO异常
   {
      Runtime r=Runtime.getRuntime();
      Process p=r.exec("notepad.exe");
      
      Thread.sleep(4000);
       p.destory(); //杀掉程序
      

3.Date对象:获取的年份日月都是String类型,不能进行增减

import java.util.*;
import java.text.*;
class DateDemo
{
  public static void main(String[] args)
  {
      Date d=new Date();
      System.out.println(d);

      //将模式封装到SimpleDateFormat对象中;
      SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");
      //调用format方法让模式格式格式化指定Date对象
      String time=sdf.format(d);
      System.out.println("time="+time);
   }
}

4.Calendar对象:可以将时间日期返回int型数据,可以进行增减

用制表法打印日期

import java.util.*;
import java.text.*;
class CalendarDemo
{
   public static void main(String[] args)
   {
      /*
	Date d=new Date();
	SimpleDateFormat sdf =new SimpleDateFormat("yyyy");
	String year=sdf.format(d);
	System.out.println(year);
	*/
      Calendar c= Calendar.getInstance();

      String[] mons={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
	String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

	int mon=c.get(Calendar.MONTH);

	int week=c.get(Calendar.DAY_OF_WEEK);
      sop(c.get(Calendar.YEAR)+"年");
      //sop(c.get(Calendar.MONTH)+1+"月");
	sop(mons[mon]);
      sop(c.get(Calendar.DAY_OF_MONTH)+"日");
      //sop("星期"+c.get(Calendar.DAY_OF_WEEK));
	sop(weeks[week]);
    }
	public static void sop(Object obj)
		{
			System.out.println(obj);
		}
}

自主设定某个时间,跳转到这一时间,并对时间进行量的偏移

import java.util.*;
import java.text.*;
class CalendarDemo2
{
   public static void main(String[] args)
   {

      Calendar c= Calendar.getInstance();
      
	//c.set(2012,2,12);  //自主设定时间
	c.add(Calendar.YEAR,4);  //时间年份偏移到4年之后
        c.add(Calendar.DAY_OF_MONTH,-9);  //月份的时间向前9天
	show(c);
    }
	public static void sop(Object obj)
		{
			System.out.println(obj);
		}
	public static void show(Calendar c)
	{
		String[] mons={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
		String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

		int mon=c.get(Calendar.MONTH);

		int week=c.get(Calendar.DAY_OF_WEEK);
		sop(c.get(Calendar.YEAR)+"年");

		sop(mons[mon]);
      		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
      
		sop(weeks[week]);
	}
}

练习:求某一年的2月有多少天?

   

import java.util.*;
import java.text.*;
//获取任意年的二月有多少天

class CalendarTest
{
	public static void main(String[] args)
	{
		Calendar c=Calendar.getInstance();
		int year=2034;
		c.set(year,2,1);	//某一年的3月1日;
		c.add(Calendar.DAY_OF_MONTH,-1);  //3月1日往前推一天,就是2月的天数
		
		sop(year+"年的2月有"+c.get(Calendar.DAY_OF_MONTH)+"天");
	}
}


5.Math对象:  ceil 返回大于指定数据的最小整数;  floor 返回小于指定数据的最大整数; round 四舍五入 
double d=Math.ceil(12.34);
double d1=Math.floor(12.34);
long l=Math.round(12.54);
double d2=Math.pow(2,3);//2的3次方

  random:获取0到1之间的伪随机数;还可以用Random类  

public static void main(String[] args)
	{ 
	    Random r=new Random();
            for(int x=0;x<10;x++)
            {
                //int d=(int)(Math.random());
                //sop(d);
                int d=r.nextInt(10)+1;  //nextInt(10):传入0到10之间,不包括10
                sop(d);
             }
练习:给定一个小数,保留小数点后面两位

class MathTest
{
   public static void main(String[] args)
   {
            double d=3.25556;//取一个double型的数据
            d=Math.round(d*100);//乘100后四舍五入
            d=d/100;//还原原来数据,并取两位小数点后的
            sop(d);
    }
    public static void sop(Object obj)
    {
      System.out.println(obj);
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章