zoukankan      html  css  js  c++  java
  • 黑马程序员——JAVA基础之System,Runtime,Date,Calendar,Math

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

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

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

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

    描述系统一些信息。 
     

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

    因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。

    那么可以通过map的方法取出该集合中的元素。

    该集合中存储都是字符串。没有泛型定义。

    import java.util.Properties;
    
    class SystemDemo 
    {
    	public static void main(String[] args) 
    	{
    
    		Properties prop = System.getProperties();		
    		System.out.println(prop);
    
    		//如何在系统中自定义一些特有信息呢?
    		System.setProperty("mykey","myvalue");
    		System.out.println(prop);
    		
    		//获取指定属性信息。
    		String value = System.getProperty("os.name");
    		System.out.println("value="+value);
    	}
    }
    


     

    Runtime对象

     

            该类并没有提供构造函数。

            说明不可以new对象。那么会直接想到该类中的方法都是静态的。

            发现该类中还有非静态方法。

            说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。 
     
            由这个特点可以看出该类使用了单例设计模式完成。
     
            该方式是static Runtime getRuntime();


     

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


     

    Date类:

     

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    
    public 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 kk:mm:ss");
    		
    		//调用format方法让模式格式化指定Date对象。
    		String time = sdf.format(d);
    		System.out.println(time);
    	}
    }
    


     

    Calendar类:

    import java.util.Calendar;
    
    class  CalendarDemo
    {
    	public static void main(String[] args) 
    	{
    
    		Calendar c = Calendar.getInstance();
    
    		String[] mons = {"一月","二月","三月","四月"
    					,"五月","六月","七月","八月"
    					,"九月","十月","十一月","十二月"};
    
    		String[] weeks = {
    						"","星期日","星期一","星期二","星期三","星期四","星期五","星期六",
    							};		
    		int index = c.get(Calendar.MONTH);
    
    		int index1 = c.get(Calendar.DAY_OF_WEEK);
    
    		sop(c.get(Calendar.YEAR)+"年");
    		sop(mons[index]);
    		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
    		sop(weeks[index1]);
    	}
    
    	public static void sop(Object obj)
    	{
    		System.out.println(obj);
    	}
    }
    


     

    import java.util.Calendar;
    
    /**
    * 练习:
    *            获取任意年的二月有多少天。
    *	思路:根据指定年设置一个时间就是 
    *	c.set(year,2,1)//某一年的3月1日。
    *	c.add(Calenar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。
    *
    */
    
    
    class  CalendarDemo2
    {
    	public static void main(String[] args) 
    	{
    
    		Calendar c = Calendar.getInstance();
    
    		c.set(2014,2,1);
    
    		c.add(Calendar.DAY_OF_MONTH,-1);
    		
    		printCalendar(c);
    	}
    
    	public static void printCalendar(Calendar c)
    	{
    		String[] mons = {"一月","二月","三月","四月"
    					,"五月","六月","七月","八月"
    					,"九月","十月","十一月","十二月"};
    
    
    		String[] weeks = {
    						"","星期日","星期一","星期二","星期三","星期四","星期五","星期六",
    							};		
    		int index = c.get(Calendar.MONTH);
    
    		int index1 = c.get(Calendar.DAY_OF_WEEK);
    
    		sop(c.get(Calendar.YEAR)+"年");
    		sop(mons[index]);
    		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
    		sop(weeks[index1]);
    	}
    	public static void sop(Object obj)
    	{
    		System.out.println(obj);
    	}
    }
    


    Math类:

          封装了一些数学方法。

    import java.util.Random;
    
    /**
     * 
     * 获取10个1~10的随机数
     *
     */
    public class RandomDemo
    {
    	public static void main(String[] args)
    	{
    		Random r = new Random();
    		
    		for (int i=0;i<10;i++)
    		{
    			int d = r.nextInt(10)+1;
    			System.out.println(d);
    		}
    	}
    }
    


     

    /**
     *  练习。给定一个小数。保留该小数的后两位。
     *      保留时进行四舍五入。
     */
    class  MathDemo
    {
    	public static void main(String[] args) 
    	{
    		saveTwo(12.3456,2,true);//12.35
    		show();
    	}
    	public static void saveTwo(double d,int scale,boolean isRound)
    	{
    		
    		double base = Math.pow(10,scale);
    
    		double num = isRound?Math.round(d*base)/base:((int)(d*base))/base;
    
    		sop("num="+num);
    	}
    
    	public static void show()
    	{
    		double d = Math.ceil(16.34);//ceil返回大于指定数据的最小整数。
    		double d1 = Math.floor(12.34);//floor返回小于指定数据的最大整数。
    
    		long l = Math.round(12.54);//四舍五入
    		sop("d="+d);
    		sop("d1="+d1);
    		sop("l="+l);
    
    		double d2 = Math.pow(2,3);//返回第一个参数的第二个参数次幂的值。
    		sop("d2="+d2);
    	}
    	public static void sop(Object obj)
    	{
    		
    		System.out.println(obj);
    	}
    }
    



     

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

  • 相关阅读:
    codeforce666A_dp
    杭电1789_贪心
    杭电2059_记忆化搜索
    杭电1503_输出最长公共子序列
    杭电1501_dfs和记忆化搜索
    杭电1081_二维dp
    杭电1078_dfs
    coderforce 675C(贪心)
    杭电2571_01背包
    杭电1069_01背包
  • 原文地址:https://www.cnblogs.com/runwind/p/4212182.html
Copyright © 2011-2022 走看看