--------------------------------------------String类--------------------------------------------
//主要内容:String、StringBuffer、StringBuilder、String.format()
//StringBuffer是线程安全的,StringBuilder不是,但StringBuilder效率高,所以更常用
//StringBuilder 功能与StringBufer一样
StringBuilder vs=new StringBuilder();
vs.append(7).append("个小矮人"); //7个小矮人
vs.delete(0,2); //小矮人
vs.reverse();//人矮小
vs.delete(0,vs.length()); //清空
vs.toString();//转为不可变字符串String
//String.format() 返回一个字符串,功能与printf()一样
//格式 String.format("[信息]<格式控制符>", 数据列表);
//格式控制符:
%d 十进制
%f 浮点数 String.format("%8.2f",123456.789); //123456.78
%c 字符
%s 字符串
n.m 表示整数和小数一共占n位 小数占m位
0 空位补齐 String.format("%012.2f",123456.789); //000123456.78
- 左对齐
n$ 表示第n个数据 String.format("%1$8.2",123456.789); //123456.78
%tF 日期
%tT 时间 String.format("%tT",new date()); //20:25:32
%tA 星期
%tY 年份
%tm 月份
--------------------------------------------Date类-------------------------------------------
//主要内容:Date、DateFormat、SimpleDateFormat
Date d1=new Date();
Date d2=new Date();
boolean flg=flase;
long t1=d1.getTime();//获取long值
flg=d1.equals(d2);//时间是否相同
int x=d1.compareTo(d2);//d1是否在d2后面
flg=d1.after(d2);//同上
flg=d1.before(d2);//d1是否在d2之前
扩展:Date d3=new Date(365L*24*60*60*1000); //int转long 把L放在最前面
//格式化 日期(Date→String)
Date d=new Date();
String str1=DateFormat.getDateInstance().format(d); //2016-05-05
String str2=DateFormat.getTimeInstance().format(d);//20:49:50
String str3=DateFormat.getDateTimeInstance().format(d);//2016-05-05 20:49:50
//自定义 格式,注意异常的处理(String→Date)
str="2016/05/05";
d=DateFormat.getDateInstace().parse(str1);//格式必须是yyyy-mm-dd,否则异常
d=new SimpleDateFormat("yyyy+MM+dd").parse(str);//str格式不固定,甚至可以是“2016年啊3月哦2日呀..”
扩展:
Scanner sc=new Scanner(System.in);
String s1=sc.next(); //空格
String s2=sc.nextLine(); //回车