本季目标
1、StringBuffer类
2、Runtime 类
3、包装类与JDK 1.5的新特性——泛型
4、日期的操作类
5、Math类
6、Random类
2、Runtime 类
3、包装类与JDK 1.5的新特性——泛型
4、日期的操作类
5、Math类
6、Random类
1、StringBuffer(重点)
· String 类的时候说过:String 类的内容一旦声明则不可改变,改变的只是其地址。那么如果现在非要使用循环不断的修改String内容的时候,则就可以使用StringBuffer,也是一个字符串,但是可以修改。
· String类中的字符串连接使用的是“+”,而StringBuffer中的连接使用的是append()方法。
· String 类的时候说过:String 类的内容一旦声明则不可改变,改变的只是其地址。那么如果现在非要使用循环不断的修改String内容的时候,则就可以使用StringBuffer,也是一个字符串,但是可以修改。
· String类中的字符串连接使用的是“+”,而StringBuffer中的连接使用的是append()方法。
看下效果:
在内容会不断修改的时候使用StringBuffer比较合适。
现在再看下效果哈~
StringBuffer是不能直接转成String 类对象,必须调用toString()方法才可以把一个StringBuffer 的对象变为String类的对象。
2、Runtime表示运行时(了解)
在一个JVM中只有一个运行时,可以通过此类调用本机的一些程序。
此类中所有的构造方法对外部不可见,也就是说构造方法被私有化了,所以看不见。
单态 --> 在整个JVM中只能有一个运行时,所以其内部必然有一个方法可以取得Runtime对象。
public static Runtime getRuntime()
在一个JVM中只有一个运行时,可以通过此类调用本机的一些程序。
此类中所有的构造方法对外部不可见,也就是说构造方法被私有化了,所以看不见。
单态 --> 在整个JVM中只能有一个运行时,所以其内部必然有一个方法可以取得Runtime对象。
public static Runtime getRuntime()
看下效果:
Exec方法返回的是一个Process对象
看下效果:记事本打开三秒后自动关闭了哈~
3、包装类
在JAVA 中提出了一种概念:一切皆对象,如果有此概念的话,则肯定有个矛盾点:
基本数据类型是对象吗?肯定不是,那么此时如果要符合之前的理论,则必须把基本数据类型进行包装。
在JAVA 中提出了一种概念:一切皆对象,如果有此概念的话,则肯定有个矛盾点:
基本数据类型是对象吗?肯定不是,那么此时如果要符合之前的理论,则必须把基本数据类型进行包装。
看下效果:这就是典型包装类的使用哈~
实际上包装类即可以把一个基本类型包装成对象,也可以把包装类变为基本数据类型。
Integer --> int:public int intValue()可以实现
Integer --> int:public int intValue()可以实现
看下效果:
以上的操作在 JDK 1.4之前都是这样做的,必须手工进行装箱或拆箱操作,而且包装类是不能直接进行++或—操作的。
在JDK 1.5之后提供了自动的装箱和拆箱操作,用户不用像之前那样必须直接调用方法完成了。
在JDK 1.5之后提供了自动的装箱和拆箱操作,用户不用像之前那样必须直接调用方法完成了。
看下效果:
3、包装类与JDK 1.5的新特性——泛型
思考题:
现在要求实现一个坐标的操作类,有以下三种坐标:
· 整数:x = 30 ; y = 50
· 小数:x = 30.3 ; y = 50.5
· 字符串:东经,北纬
考虑点:
对于用户而言,肯定只关心x和y的设置,你不能说让用户自己去选择设置整数或小数等。
以上问题我通过方法的重载做?我们验证一下使用方法的重载哈~
现在要求实现一个坐标的操作类,有以下三种坐标:
· 整数:x = 30 ; y = 50
· 小数:x = 30.3 ; y = 50.5
· 字符串:东经,北纬
考虑点:
对于用户而言,肯定只关心x和y的设置,你不能说让用户自己去选择设置整数或小数等。
以上问题我通过方法的重载做?我们验证一下使用方法的重载哈~
此处就可以使用JDK 1.5提供的新功能 —— 泛型,在运行的时候由外部指定具体的操作类型。
4、日期的操作类
取得当前的日期
可以直接使用java.util.Date类完成。
打印的时间:Tue Mar 10 21:05:44 CST 2009
这样的时间看起来很别扭,不太符合我们中国人的习惯。一般直接使用此类的话,得到的时间不是很舒服,可以直接使用另外一个类——Calendar,此类可以把时间精确到毫秒。
Calendar是一个抽象类,如果是抽象类,则此处肯定使用其子类完成。
这样的时间看起来很别扭,不太符合我们中国人的习惯。一般直接使用此类的话,得到的时间不是很舒服,可以直接使用另外一个类——Calendar,此类可以把时间精确到毫秒。
Calendar是一个抽象类,如果是抽象类,则此处肯定使用其子类完成。
看下效果:
下面我们有选择滴进行删减哈~
(2)日期的格式化类
例如,现在有以下一个时间:
2009-3-10 21:18:30:345
将以上的时间格式显示为:
2009年3月10日 21点18分30 秒345毫秒
把之前的日期格式重新格式化了一下。
如果要完成上面的功能,则就可以使用SimpleDateFormart类,此类可以使用固定的模板把时间扣出来。
2009-3-10 21:18:30:345
将以上的时间格式显示为:
2009年3月10日 21点18分30 秒345毫秒
把之前的日期格式重新格式化了一下。
如果要完成上面的功能,则就可以使用SimpleDateFormart类,此类可以使用固定的模板把时间扣出来。
看下效果哈~
5、Math类
数学操作类,但是在面试中里面有一个方法比较常见:round()方法,这个方法主要就是四舍五入哈~~~
四舍五入的操作类
来看下效果哈~
6、Random类,取得随机数
看下效果:
#######################Michael分割线#######################
谨以此博文庆祝一下今天成为〓博客之星〓
#######################Michael分割线#######################
本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/137834,如需转载请自行联系原作者