Java 类的应用下
Posted 果子儿酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 类的应用下相关的知识,希望对你有一定的参考价值。
1.直接指向常量池中的hello
"hello",是通过引用变量str1按面 String( "hello" )对象,new Sting sr2new Sringl hell ),是通过引用变量st2指向准内存中的new
Stingl hello )对象再指向常量池中的“ell"对象,虽然引用变量str1与引用str2最终的字面值相等,包ninelo’对象,波对象在查找常量池中是否存在hell"字符审对象,,如果存在,不会再创建一个新的hello" S.0不在会创理ina好家。所以使用new Smim Tnalo 1创建对象时,会在准内好中多国建一个对象。但这样会降低程序的性能,增加内存的开销,因此不建议使用new的方式创建字符对象。
2.StringBuffer 类的常用方法
由于String类是不可变类,如果使用String类创建字符事,则会额外生成很多字符串,耗费系统资源;而使用 StringBuffer类可以解决此问题,因为StringBuffer类代表一个 字符序列可变的字符串。
当一个StringBuffer 对象被创建后,通过StringBuffer 类提供的append()、insert()、 reverse() 以及 setCharAt()等方法可以改变该StringBuffer对象的字符序列。StringBuffer 类的常用方法见表
方法名
说明
StringBuffer append(String str)
将字符串str追加到当前StringBuffer对象
StringBuffer insert
按顺序将字符串str插入到当前StringBuffer对象的
(int offset, String str)
offset位置
StringBuffer reverse(
将当前SingBgffef对象的字符序列用其反转形式取代
void setCharAt(int index, char ch)
将index索引处的字符设置为ch
3. Math 类
1.Math 类的运算操作
Java提供“+” -”...“/” 和“%"等基本算术运算符,但对于较为复杂的运算,如三角函数、指和绝对值函数等运算,基本运算符无法完成相关的操作。因此,Java提供了工具Math类来完成这些复杂的Math类用法的具体操作详见示例6.4。
public class MathCommon {
public static void commonMethod({
/计算立方根
System. out pintn'27的算数立方根的值='+Math crt27);//计算平方根
System.out. printit4的平方根的值='+Math srt4);)
//计算乘方
System OUt pitntnr13的2次方的值='+Math ,powl3, 2);/1计算绝对值
Systom ou pint-4 5的绝对值='+Math abs(-4 5);//计算两个数中的最大值
Sysim ou pitireg和10两个数的最大值='+Math. max(10, 8);(返回一个随机数,该值的范围在0.0一1.0之间
System.out.printin(" 产生的随机数值-"+Math random0);//四舍五入
System.out.
//计算正弦值 pinere.5四舍五入后的值-'+Math round1s 51
public static v main(Stringll args) {MathCo common commonMethod;
4.日期处理类
在程序开发中,经常会对日期类型的数据进行操作。Java提供了-系列用于处理日期、时间的类,包括创建日期、时间对象、获取系统当前日期及时间等操作。
1 .Date类
Java提供了java.util.Date类处理日期、时间,Date对象既包含日期,也包含时间,Date 类提供了两个构造器。Date类构造器详见表6.5。
5. Calendar 类
由于Date类在设计上的一些问题, 所以Java提供了Calendar类来更好地处理日期和时间,它用于表示日期。Calendar类是一个抽象类,所以不能实例化Calendar对象。但是Calendar类提供了静态的getInstance)方法,以获得Calendar对象。
Calendar类与Date类都是表示日期的工具类,两者可以相互转换,代码片段:
/1通过getInstance()方法创建Calendar的子类对象 Calendar calendar=Calendar. getInstance(l);
//从Calendar中获取Date对象
Date date=calendar.getTime();
1I通过Date对象获得对应的Calendar对象
Calendar cad=Calendar getInstance();
cad.setTime(new Date():
使用Calendar类实现对日期的操作,代码见示例6.6。
public class CalendarUse {
public static void commonMethod(){
//获取Calendar实例
Calendar calendar=Calendar getInstance();
//创建-个距离 1970年1月1日2天后的日期对象
Date date=new Date(1000*60*60*24*2);
System.out. printIn(date);
/1将date对象交给Calendar对象
calendar. setTime(date);
//获取年份
System. out printit年'+calendar get(Calendar.YEAR)+年):
//获取月份
System. out printint 月+calendar getCalndar MONTH)+1+'月1:
//获取日期
System out rintn'日“tealendar getCalendar DATE)+日1:
//获取星期
5ys-nx 2u pipt果牌+calendar giCcilendear DAY _OF WEEK-):1/1这一天是一年中的第几天
Srtemom onn本年的第randnan geCaenear DAY OF YEAR)+天": public static void mainIStringl args) {
CalendarUse commonMethod0;
2o用2国特数理了梦马历中的规则,当时一年中的月份数置是不困定的,第个月愿 AN”o.Java中Calendar.MONTH返回的数值其实是当前月距离第-个月有多少个月份返回“0”,所以需要+1。
(2) Caenearn DAY. OF WEEK - 1的原因。Java中Clendar DAY oF WEEK表示周中的第几天,所以会 受到第一一天是星期几的影响。有些地区以星期日作为一周的第一 天, 而有些地区以星期作为一周的第一天,这两种情况是需要区分的。
5. SimpleDateFormat类
SimpleDateFormat类是-个日期时间格式化类,该类位于java.text包中。该类可以灵活地格式化Date对象,也可以用于解析各种格式的日期字符串,使用String类型的SimpleDateFormat类的构造器创建对象时,需要传入一个模板字符串。
SimpleDateFormat类的具体操作详见示例6.7。
public class SimpleDateFormatUse {
private static final String PARRENT1 = "yyyy- MM-dd HH:mm:ss";
private static final String PARRENT2 = "yyyY 年MM月dd日HH时mm分ss秒"; public static void parse(String strDate) {
创建SimpleDateFormat对象
y代表年、M代表月、d代表日,H代表24小时制的时、m代表分、s代 SimpleDateFormat sdf = new SimpleDateFormat(PARRENT1);
SimpleDateFormat simpleDateFormat = new SimpleDate ormat(PAR try {
将字符串日期转换成Date对象
Date date = sdf noranl-t-n
本章总结
1. 简述Object类equals()、 hascode()和toString()方法的含义。 boolean equals(Object obj):判断指定对象与该对象是否相等。
int hashCode():返回该对象的哈希码值。
String toString():使用字符串表示该对象信息。
2.简述String类和StringBuffer类的异同点,并说明StringBuffer类的哪些方法可以改变该 StringBuffer 对象的字符序列。
String类是不可变类,如果使用String类创建字符串,则会额外生成很多的字符串,耗费系统资源;而使用StringBuffer类可以解决此问题,因为StringBuffer类代表-个字符序列可变的字符串。
通过StringBuffer类提供的append()、insert()、 reverse() 以及setCharAt()等方法,可以改变该StringBuffer 对象的字符序列。
3.写出一个将Calendar对象转为Date对象的通用方法,方法参数分别为年、月、日。
public static Date calendarToData(int year, int month, int day) { Calendar calendar = Calendar .getInstance()://日历类的实例化I1设置日历时间,月份必须减1
calendar setlyear, month- 1. day);
从一个Calendar对象中获取Date对象
Date date = calendar.getTime();
return date;
eDateFormat类parse()和format()方法的用法。 Date parse(strDate):将给定的字符串strDate中的日期提取出来。mat(date):输出给定日期date的字符串形式。
String format(date):
以上是关于Java 类的应用下的主要内容,如果未能解决你的问题,请参考以下文章