Java常用类


Date类

/*
java中的时间日期类 java.util.包下.
Date

构造方法

1 Date();

作用  构造一个Date对象,这个对象代表是系统当前时间.

2.Date(long l)
作用  构造一个Date对象,它代表的是从基准时间经过l这么长毫秒后的一个时间点。

Date类的成员方法

1.getTime方法
public long getTime()

作用 得到从基准时间到Date对象表示的时间所经过的毫秒值。返回的是毫秒值
2.setTime方法
public void setTime(long l)

作用 是将Date对象表示的时间点设置成经过l毫秒后的一个时间点。
*/

import java.util.*;
class Demo12 
{
	public static void main(String[] args) 
	{
		method4();
	}
	//Date类的无参构造
	public static void method1(){
		
		Date d=new Date(); //得到一个时间,这个时间是系统当前时间.

		System.out.println(d);
		//正常得到的是  java.util.Date@hashCode
		//得到的结果与上面的描述不同,说明Date类重写了toString
	}	
	//Date有参数构造
	public static void method2(){
		
		Date d=new Date(100000000000L);

		System.out.println(d);
	}

	//getTime
	public static void method3(){
		
		Date d=new Date(); //系统时间

		long l=d.getTime();
		
		System.out.println(l);
	}
	//setTime
	public static void method4(){
		
		Date d=new Date();//当前时间

		d.setTime(1000);

		System.out.println(d);
	}
}

时间日期格式化类  DateFormat类   java.text包下

DateFormat 是日期/时间格式化子类的抽象类

抽象类不可以实例化

1.
1.1 public static DateFormat getDateInstance();
作用  获取日期格式器
1.2 public static DateFormat getDateInstance(int style);
作用  获取日期格式器   参数style作用是可以指定样式.


1.3 public static DateFormat getDateTimeInstance();
作用  获取日期时间格式器
1.4 public static DateFormat getDateTimeInstance(int dayStyle,int timeStyle);
作用  获取日期时间格式器   参数dayStyle作用是可以指定日期样式.timeStyle可以指定时间样式

2.format方法

public String format(Date date)


作用 是通过指定的格式器,将date对象格式化成字符串.


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

	public static void method3(){
		DateFormat df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);//得到日期格式器
		/*
		日期表现形式
		//例如 SHORT  在中文下  yy-MM-dd
		//例如 FULL   在中文下  yyyy年MM月dd日  星期
		//例如 LONG   在中问下  yyyy年MM月dd日
		
		时间表现形式
		2012年10月18日 下午04时40分07秒  LONG形式
		12-10-18 下午4:40                SHORT形式
		2012年10月18日 星期四 下午04时40分58秒 CST  FULL形式
		*/
		String myString = df.format(new Date());//将Date格式化

		System.out.println(myString);
	}

	public static void method2(){
		
		DateFormat df=DateFormat.getDateInstance(DateFormat.LONG);//得到日期格式器
		//例如 SHORT  在中文下  yy-MM-dd
		//例如 FULL   在中文下  yyyy年MM月dd日  星期
		//例如 LONG   在中问下  yyyy年MM月dd日

		String myString = df.format(new Date());//将Date格式化

		System.out.println(myString);
	}

	public static void method1(){
		
		//DateFormat df=DateFormat.getDateInstance();//得到日期格式器

		DateFormat df=DateFormat.getDateTimeInstance();//得到日期时间格式器

		String myString = df.format(new Date());//将Date格式化

		System.out.println(myString);//得到的就是一个日期的字符串表示形式.
	}
}

DateFormat样式有很多,记忆起来比较麻烦
我们在开发中应用时一般会使用 DateFormat的子类SimpleDateFormat类

这个类的好处是可以自定义样式.

import java.util.*;
import java.text.*;
class Demo14 
{
	public static void main(String[] args) 
	{
		Date now=new Date();

		//现在相要将时间格式化成  201210月18日 16:45:34
		//String pattern="yyyy年MM月dd日 HH:mm:ss";

		//想要这样的格式  2012/10/18  16时45分34秒
		String pattern="yyyy/MM/dd HH时mm分ss秒";
		DateFormat df=new SimpleDateFormat(pattern);

		String s=df.format(now);
		
		System.out.println(s);

	}
}

import java.util.*;
import java.text.*;
public class DataDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date d=new Date();
		System.out.println(d);
		
		//将模式封装到simpleDataformat对象中。
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
		//调用format方法让模式格式化指定Data对象
		
		String time=sdf.format(d);
		System.out.println("time="+time);
		
		long l=System.currentTimeMillis();
		Date d1=new Date(l);
		System.out.println("d1:"+d1);
		
		
	}

}

     将一个字符串分析成日期:解析字符串成日期  parse方法

定义 public Date parse(String s) throws ParseException

作用 将字符串s按照DateForamt对象的指定的解析格式进行解析。
    注意  如果DateFormat对象的解析格式与s字符串不匹配,
会抛出 ParseException异常。

import java.util.*;
import java.text.*;
class Demo15 
{
	public static void main(String[] args) throws Exception
	{
		
		String s="2000年8月8日 13:12:45";
		
		DateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

		Date d=df.parse(s);

		System.out.println(d);
		
		/*
		DateFormat df=DateFormat.getDateInstance(); //yyyy-MM-dd

		Date d=df.parse(s);

		System.out.println(d);
		*/

		//我们在解析一个字符串变成日期时,因为格式器所对应的格式要与所解析的字符串
		//格式匹配,这样才可以解析。那么我们使用SimpleDateFormat类可以自定义解析的格式


	}
}

System类

/*
System类

System类不能实例化,这个类中的方法都是static方法。

1.public static long currentTimeMillis(); 
得到1970.1.1. 0:0:0 到执行这个方法时的毫秒值。

2.exit方法  停止jvm。

3.public static Properties getProperties();

得到系统属性

在软件开发中,我们开发完软件后,软件一般会有一个安装环境。
例如我们开发的软件只能在windows上运行,那么在安装时就可以
通过以上的方式进行判断。
4.public static String getProperty(String key);
通过指定的key值获得对应的属性信息.

我们可以在启动jvm时进行动态的传递 系统属性

java -Dname=value 类文件名.

设置完成后,就可以在整个程序中通过System类的getProperty方法将这个信息得到.

*/

/*System:类中的方法和属性都是静态的。
 * in 标准输入,默认是键盘。
 * 描述系统的一些信息
 * 获取系统属性信息:Properties getProPerties();
 */
import java.util.*;
public class SystemDemo {

	public static void main(String[] args) {
		Properties prop=System.getProperties();
		//因为Perperties是Hashtable的子类,也就是Map计划的一个子类对象
		//那么可以通过map的方法取出该集合的元素。
		//该集合中存储的都是字符串,没有泛型定义
		
		
		//在系统中自定义一些特有信息
		System.setProperty("Akey", "Avalue");
		
		//获取指定属性信息
		String os_value=System.getProperty("os.name");
		System.out.println("操作系统为:"+os_value);
		
		
		
		for(Object obj:prop.keySet())
		{
			String value=(String)prop.get(obj);
			System.out.println(obj+"::"+value);
			
		}
	}

}

Runtime类

/*
Runtime类

代表的是一个运行实例,但是这个类没有提供构造方法,不能实例化对象

如果一个类中方法不全是静态的方法,并且这个类还没有提供构造。
单实例。
Runtime类是一个单实例类,它类中提供一个静态的获得本类对象的方法。

1.得到Runtime实例

public static Runtime getRuntime();

2.exec -------->execute全名

public Process exec(String m);

作用通过指定的字符串打开应用程序,返回值是一个进程,相当于是这个应用程序。
可以调用Process类中的destroy方法将程序关闭。
*/

/*
 * Runtime对象
 * 该类并没有提供构造函数
 * 说明不可以new对象,那么会直接想到该类中的方法都是静态的。
 * 发现该类中还有非静态方法
 * 说明该类肯定会提供方法获取本类对象,而且该方法是静态的,并返回值类型是本类类型
 * 
 */
public class RuntimeDemo {

	public static void main(String[] args) throws Exception
	{
		Runtime r=Runtime.getRuntime();
		Process p=r.exec("notepad.exe");
		
		Thread.sleep(4000);
		p.destroy();
		
	}

}

Calendar类

/*
Calendar日历类
它是一个抽象类。
Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。
Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化: 

对于Calendar类来说最重要的方法  get/set方法

1.get作用  可以得到指定的日期字段的值

定义 public int get(int field)

2.set作用   可以设置指定的日期字段的值。

2.1 public void set(int filed,int value); 
作用 使用value修改filed字段的值
2.2 public void set(int year,int month,int date);
作用  修改年,月,日字段的值
2.3 public void set(int year,int month,int date,int hour,int minute);
作用  修改年,月,日,小时,分钟字段的值
2.3 public void set(int year,int month,int date,int hour,int minute,int second);
作用  修改年,月,日,小时,分钟,秒字段的值

*/

import java.util.*;
class Demo16 
{
	public static void main(String[] args) 
	{
		Calendar c=Calendar.getInstance();//获得Calendar实例 其实应该是一个子类对象

		//使用set方法进行修改

		//c.set(2008,7,8);
		c.set(Calendar.YEAR,2008);
		c.set(Calendar.MONTH,7);
		c.set(Calendar.DATE,8);
		//System.out.println(c);
		
		//得到当前c这个日历中的年的字段

		int year=c.get(Calendar.YEAR);
		int month=c.get(Calendar.MONTH)+1;//0代表的是一月,我们为了显示正常,所有加1

		//int day=c.get(Calendar.DATE);
		int day=c.get(Calendar.DAY_OF_MONTH);

		//int hour=c.get(Calendar.HOUR); //12小时制
		int hour=c.get(Calendar.HOUR_OF_DAY); //24小时制

		int minute=c.get(Calendar.MINUTE);

		int second=c.get(Calendar.SECOND);

		System.out.println(year+"年"+month+"月"+day+"日  "+ hour +"时"+minute+"分"+second+"秒");
	}
}

import java.util.Calendar;
/*
 * 练习:
 * 1.获取任意年的二月有几天
 * c.set(year,2,1) 某一年的3月1日
 * c.add(Calendar.DAY_OF_MONTH,-1);3月1日,往前推一天,就是2月最后一天
 * 2.获取昨天的现在的这个时刻
 * c.add(Calendar.DAY_OF_MONTH,-1);
 * 3.有效上课时间问题,周六日放假,从2012年9月1日到2013年7月14日
 * 
 */


public class CalendarDemo2 {
	public static void main(String[] args) {
		Calendar c=Calendar.getInstance();
		
		c.set(2012,2,23);
		
		c.add(Calendar.DAY_OF_MONTH, -18);
		
		Calendarprint(c);
	}
	public static void Calendarprint(Calendar c)
	{
		//查表法 单独获取年,月,日
		String[] months={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
		int index=c.get(Calendar.MONTH);
		
		sop(c.get(Calendar.YEAR)+"年");
		sop(months[index]);
		
		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
		
		String[] weeks={"","日","一","二","三","四","五","六"};
		int windex=c.get(Calendar.DAY_OF_WEEK);
		sop("星期"+weeks[windex]);
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}

}

/*
Calendar类的其它常用方法

1.add 

定义  public void add(int field,int addValue);

作用  对指定的field字段进行增(减) addValue值操作
     注意  所有的字段如果超出字段最大值,会自动进位.

2.getTime  setTime  提供了在Calendar与Date之间的转换操作

定义 public Date getTime();

将Calendar对象转换成Date对象  

时间日期格式化类只能操作Date对象。如果一个Calednar表示的时间要格式化,那么先将
Calendar对象转换成Date对象在操作.

定义 public void setTime(Date d);

作用 将一个Date对象表示的时间赋值给Calendar

Calendar类它对于时间的操作手段更丰富,我们将Date对象通过Calendar类的
setTime方法赋值给Calendar对象后,就可以采用这些Calendar类的方法时行操作

3.getTimeInMillis  setTimeInMills

这两个方法是Calendar类中的方法,它们的作用与Date类中的getTime,setTime方法一样.

定义 public long getTimeInMillis(); 
作用 得到从基准时间到Calendar对象表示时间经过的毫秒

定义  public void setTimeInMillis(long l);
作用  将Calendar对象表示的时间点设置成从基准时间开始经过l毫秒后的时间点.
*/

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

	public static void method1(){
		
		Calendar c=Calendar.getInstance(); //取系统当前时间

		//我想得到30天以后的日期

		//int nowDay=c.get(Calendar.DATE);
		
		//c.set(Calendar.DATE,nowDay+30); //在当前日期上加30天
		
		c.add(Calendar.DATE,-30);

		showCanlendar(c);

			
	}
	//getTime与setTime
	public static void method2(){
		
		Date date=new Date(1234532113L);
		
		//将这个时间延长3个月后得到这样的显示格式  yyyy-MM-dd HH:mm:ss
		
		//1将Date转换成Calendar 

		Calendar c=Calendar.getInstance();
		c.setTime(date);  //这个操作就使用c与date表示的是同一个时间点

		//2使用Calendar的add方法对月进行操作
		c.add(Calendar.MONTH,3);	

		//3.得到指定格式字符串   日期格式化类只能操作Date,那么需要将Calendar转换成Date
		
		DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String y=df.format(date);
		String s=df.format(c.getTime());
		System.out.println(y);
		System.out.println(s);

	}

	public static void method3(){

		Calendar c=Calendar.getInstance();

		c.setTimeInMillis(c.getTimeInMillis()+24*60*60*1000);

		showCanlendar(c);

		//Date date=new Date();

		//System.out.println(date.getTime());

		///System.out.println(c.getTimeInMillis());

		//System.out.println(new Date().getTime()==Calendar.getInstance().getTimeInMillis());

	}


	
	//显示Calendar
	public static void showCanlendar(Calendar c){

		int year=c.get(Calendar.YEAR);
		int month=c.get(Calendar.MONTH)+1;

		int day=c.get(Calendar.DAY_OF_MONTH);

		int hour=c.get(Calendar.HOUR_OF_DAY); //24小时制

		int minute=c.get(Calendar.MINUTE);

		int second=c.get(Calendar.SECOND);

		System.out.println(year+"年"+month+"月"+day+"日  "+ hour +"时"+minute+"分"+second+"秒");
	}
}

Math类:

/*
Math类 这个类中包含的是关于数学操作的一些常用方法
Math类中的方法都是static的.

1.abs 求绝对值
2.max min
3.random
public static double random();
作用:随机得到0-1之间的一个数,包含0不包含1.

以前学习要获得一个随机数是使用Random类,这个类是jdk1.5后才有的。

4.floor
public static double floor(double d);
向下取整. 得到比d小或等于d的最大整数.

5.ceil
public static double ceil(double d)
向上取整  得到比d大或等于d的最小整数

6.round
public static int round(double d)
四舍五入
7.pow
public static double pow(double a,double b);

作用 得到a的b次方的值.

8. sqrt
public static double sqrt(double d);

   作用  得到d的平方根.
*/

class Demo11 
{
	public static void main(String[] args) 
	{
		//abs
		
		//System.out.println(Math.abs(-100));
		
		//max
		//System.out.println(Math.max(10,20));

		//random
		//int n=(int)(Math.random()*100);
		//System.out.println(n);
		
		//System.out.println(Math.floor(3.94));
		
		//System.out.println(Math.ceil(3.14));

		//System.out.println(Math.round(3.49999999));

		//System.out.println(Math.pow(2,2.5));
		
		System.out.println(Math.sqrt(9));
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值