Java常用类

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()
查找,有则返回索引,无则返回-1indexOf()
lastIndexOf()
判断是否有前缀后缀startsWith()
endsWith()
判断是否包含某些字符contains()
子串substring()
格式化字符串format()
转换为字符数组toCharArray()
转换为数组,并存入指定数组getChars(),getBytes()
将其他类型转换为StringString.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)

1>常用方法
字符串转基本类型:封装类的valueOf()静态方法,如Integer.valueOf("12");


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();


5,格式化输出

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值