本篇主要介绍两个常用类,String和Date。主要是大学的时候笔试经常做到一个题目:字符串反转,现在想想基本上都能写的出来,但是估计还不是特别熟练,这里就当复习也好,回忆也罢,暂且写这一篇吧。
String类:
这里主要用到三个方法实现字符串的反转(就是把字符排列顺序颠倒,例如:hello-->olleh).
第一个方法是将字符串转换成字符数组,然后将数组首尾对应的字符对调,组成新的字符数组,然后再转换成新的字符串。
第二个是将字符串转换成StringBuffer,然后调用StringBuffer的reverse()方法直接完成反转,然后转换成字符串。
第三个是新建一个StringBuffer,然后将字符串中每个字符按逆序加入到StringBuffer中,再转换成字符串输出。
当然,方法还有很多种,这里只是用这三种练习:
public class Stringreverse {
public static void main(String[] args) {
String mvp="Hello Kitty";
System.out.println(reverse1(mvp));
System.out.println(reverse2(mvp));
System.out.println(reverse3(mvp));
}
//第一种方式,字符数组
public static String reverse1(String str)
{
char[] arrstr=str.toCharArray();
for(int x=0,y=arrstr.length-1;x<y;x++,y--)
{
char temp=arrstr[x];
arrstr[x]=arrstr[y];
arrstr[y]=temp;
}
return new String(arrstr);
}
//第二种,使用StringBuffer
public static String reverse2(String str)
{
StringBuffer sb=new StringBuffer(str);
sb.reverse();
return sb.toString();
}
//第3种,使用StringBuffer
public static String reverse3(String str)
{
StringBuffer sb=new StringBuffer();
for(int i=str.length()-1;i>=0;i--)
{
sb.append(str.charAt(i));
}
return sb.toString();
}
}
Date类:
首先,实例化方法:
Date d=new Date();//获取当前日期
然后就是date转换成long和long类型转换成date类型:
Date d1=new Date(12313221L);//Long to date
Long d2=d1.getTime();//date to long
其中格式化使用DateSimpleFormat类,主要是日期转换成文本用Format函数,文本转换成日期用parse(需要抛异常)。具体的实现代码如下:
package com.lang.string;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date d=new Date();//日期创建方式
Date d1=new Date(12313221L);//Long to date
Long d2=d1.getTime();//date to long
System.out.println(d);
System.out.println(d1);
System.out.println(d2);
//国际化
/*SimpleDateFormat
* 日期-->文本: Fotmat
* 文本-->日期:parse
*/
//格式化1
SimpleDateFormat sdf=new SimpleDateFormat();
String date=sdf.format(new Date());
System.out.println(date);//15-3-6 下午8:48
//格式化2
SimpleDateFormat sdf1=new SimpleDateFormat("EEE,d MMM yyyy HH:mm:ss");
String date1=sdf1.format(new Date());
System.out.println(date1);//星期五,06 三月 2015 20:49:43
try {
Date df=sdf.parse("2012-2-12 上午8:29:23");
System.out.println(df);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
具体运行截图如下: