Java为我们提供了那些可以用的类:
http://docs.oracle.com/javase/7/docs/api/
1,String字符串
String是由一组字符组成的字符串
1>声明
String s = “abc”;
String s = new String(“abc”);
2>常用方法
比较 | equals() |
去字符串两端空格 | trim() |
替换 | replace() |
查找,有则返回索引,无则返回-1 | indexOf() lastIndexOf() |
判断是否有前缀后缀 | startsWith() endsWith() |
判断是否包含某些字符 | contains() |
子串 | substring() |
格式化字符串 | format() |
转换为字符数组 | toCharArray() |
转换为数组,并存入指定数组 | getChars(),getBytes() |
将其他类型转换为String | String.valueOf() |
3>最佳实践
一些方法如replace(),不会改变原字符串,只会返回改变后的字符串。
当做字符串大量拼接或修改时,由于String是不可变类,每一次拼接或修改,实际上都会产生新的String对象。推荐使用StringBuilder类或StringBuffer。两者区别在于StringBuilder不是线程安全但速度快。StringBuffer是线程安全但速度慢。
4>正则表达式
模式类:Pattern
匹配器类:Matcher
String regex = "//w+";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("Java is cool");
while(m.find()) {
System.out.println(m.group());
}
2,封装类(Byte, Short, Integer, Long, Float, Double, Char, Boolean)
3,Math类
取绝对值 | abs() |
求较大值较小值 | max() min() |
取整 | 四舍五入round() 向下取整ceil() 向上取整floor() |
取随机数 | random() 返回0.0和1.0之间的double类型的随机数,包含0.0但不包含1.0 |
求平方根 | sqrt() |
求指数 | pow() 返回第一个参数的第二个参数次幂 |
三角函数 | sin(),cos(),tan() |
4,日期时间
1>java.util.Date类
包装了一个long型数据,表示与UTC的1970年1月1日00:00:00这一时刻所相距的毫秒数。
a>比较
before(),after()
b>转字符串
java.text.DateFormat类,常用实现类SimpleDateFormat
Date date=new Date();
SimpleDateFormat f=new SimpleDateFormat("yyyy-MMMM-dd-EEEE");
System.out.println(f.format(date));
2>java.util.Calendar类
可以灵活设置(set())或读取(get())或改变(add())日期中的年、月、日、分和秒等信息,常用实现类java.util.GregorianCalendar
GregorianCalendar gc=new GregorianCalendar();
String now=gc.get(Calendar.YEAR)+"年"
+gc.get(Calendar.MONTH+1)+"月"
+gc.get(Calendar.DATE)+"日"
+gc.get(Calendar.HOUR)+"时"
+gc.get(Calendar.MINUTE)+"分"
+gc.get(Calendar.SECOND)+"秒"
3>互转:
Calendar c = new GregorianCalendar().setTime(new Date());
Date d = c.getTime();
1>使用Formatter
%[argument_index$][flags][width][.precision]conversion
具体设置:http://doc.java.sun.com/DocWeb/api/java.util.Formatter
Formatter formatter = new Formatter(System.out);
formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
// -> " d c b a"
6,System类
1>变量
System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
2>成员方法
设置系统属性 | setProperty(String key, String value) |
获得系统属性 | getProperties() |
获取系统环境映射 | getenv() |
退出程序 | public static void exit(int status) 0代表正常退出,非零代表异常退出 |
返回以毫秒为单位的当前时间 | currentTimeMillis() |
返回以毫微秒为单位的当前时间 | nanoTime() |
数组拷贝 | arraycopy() 将一个数组中的内容复制到另外一个数组中的指定位置,由于该方法是native方法,所以性能上比使用循环高效。 |
动态加载DLL类库 | load(String filename)加载代码文件 loadLibrary(String libname) 加载系统库 |
7,Runtime类
Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例。一般不能实例化一个Runtime对象。但可以通过 getRuntime 方法获取当前Runtime运行时对象的引用。
返回 Java 虚拟机试图使用的最大内存量 | maxMemory() |
返回 Java 虚拟机中的内存总量 | totalMemory() |
返回 Java 虚拟机中的空闲内存量 | freeMemory() |
运行垃圾回收器 | gc() |
终止当前正在运行的 Java 虚拟机 | exit(int status) |
强行终止目前正在运行的 Java 虚拟机 | halt(int status) |
监听虚拟机关闭事件 | addShutdownHook(Thread hook) |
注销虚拟机关闭挂钩 | removeShutdownHook(Thread hook) |
在单独的进程中执行指定的字符串命令 | exec(String command) |
//线程被杀掉前,做些事情,如打印log:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
String msg = "Shutting down. Started: " + startTime+",Stopping: " + new Date
();
logger.info(msg);
}
});
8,读写文件
Scanner in = new Scanner(new File("myfile.txt"));
PrintWriter out = new PrintWriter("myfile.txt");
好文:
http://wenku.baidu.com/view/c018ca1efc4ffe473368ab70.html?from=rec&pos=0&weight=7&lastweight=2&count=4