黑馬程序員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);
    }
}


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