JavaSE07—Java常用类库

JavaSE07—Java常用类库

1. String类和StringBuffer类

String类用于比较两个字符串,查找和抽取串中的字符或子串,进行字符串与其他类型之间的相互转换等。String类对象的内容一旦被初始化就不能再改变。
StringBuffer类用于内容可以改变的字符串,可以将其他各种类型的数据增加,插入到字符串中,也可以转置字符串中原来的内容。一旦通过StringBuffer生成了最终想要的字符串,就应该用StringBuffer.toString()方法将其转换成String类。
2. 基本数据类型的包装类

Java对数据既提供基本数据的简单类型,也提供了相应的包装类。
Integer int
Character char
Float float
Double double
Byte byte
Long long
Short short
Boolean boolean

使用Integer类中的parseInt()方法,讲一个字符串转换成基本数据类型:
class  IntegerDemo
{
	public static void main(String[] args) 
	{
		String a = "123";
		int i = Integer.parseInt(a);
		i++;
		System.out.println(i);
	}
}
3. System类与Runtime类

exit(int status)方法,提供终止虚拟机的运行。对于发生了异常情况而想终止虚拟机的运行,传递一个非零值作为参数。弱在用户正常操作下终止虚拟机的运行,则传递零值作为参数。
getProperties方法是获得当前虚拟机的环境属性。没一个属性都是变量与值以成对的形式出现。
4. Date,Calendar,DateFormat类

Date类用于表示日期和时间,最简单的构造方法是Date(),它以当前的日期和时间初始化一个date对象。
Calendar类是一个抽象类,主要完成日期字段之间相互操作的功能。
下面是一个计算出据当前日期时间360天后的日期的时间的例子:

public class CalendarDemo
{
	public static void main(String[] args){
	
		Calendar c1 = Calender.getInstance();
		System.out.println(c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+
			"月"+c1.get(c1.DAY_OF_MONTH)+"日"+c1.get(c1.HOUR)+
			":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));

		c1.add(c1.DAY_OF_YEAR,360);

		System.out.println(c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+
			"月"+c1.get(c1.DAY_OF_MONTH)+"日"+c1.get(c1.HOUR)+
			":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));
	
		}
}
5. Math与Random类
Math类包含了所有用于集合和三角的浮点运算方法,这些方法都是静态的。
Random类是一个随机数产生器,随机数是按照某种算法产生的,一旦用一个初值创建Random对象,就可以得到一系列的随机数。
下面例子利用Random类来产生5个0~100之间的随机整数
	public class RandomDemo
{
	public static void main(String[] args){
	
		Random r = new Random();
		for(int i=0;i<5;i++)
		System.out.println(r.nextInt(100)+"\t");
	}
}


6. 对象克隆

Java.lang.Cloneable 接口和含有clone方法的Object类,所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。
1) 实现Cloneable接口
改写Object类中的clone()方法。
2) 改写Object类中的clone()方法
由于JDK中Object类中的clone()方法的声明是:
Protected native Object clone() throws CloneNotSupportedException;
clone()方法的修饰符为protected,而不是public。这种访问的不可见性使得用户对clone()方法不可见,就必须要进行改写。

一个例子:
class Employee implements Cloneable
{
		private String name;
		private int age;
		public Employee(String name,int age){
			this.name = name;
			this.age = age;
		}
		public Object clone() throws CloneNotSupportedException{
			return super.clone();
		}
		public String toString(){
		
			return "姓名:"+this.name+",年龄"+this.age;
		}
		public int getAge(){
			return age;
		}
		public void setAge(int age){
			this.age = age;
		}
		public String getName(){
			return name;
		}
		public void setName(String name){
			this.name = name
		}
}
public class CloneDemo
{
	public static void main(String[] args){
		Employee e1 = new Employee("张三",21);
		Employee e2 = null;
		try{
		e2 = (Employee) e1.clone();

		}catch(CloneNotSupportedException e){
				e.printStackTrace();
			}
		e2.setName("李四");
		e2.setAge(30);
		System.out.println("两个对象的内存地址比较:"+(e1==e2));
		System.out.println(e1);
		System.out.println(e2);
	}
}

你可能感兴趣的:(java,jdk,虚拟机,算法,360)