重要类

StringBuffer类
1、赋值或者追加内容:append(String s)
StringBuffer s1 = new StringBuffer();
s1.append("haoren");   //追加
System.out.println(s1);  //haoren
2、插入:insert(int i,String s)
s1.insert(0,"wo shi ");  //wo shi haoren
3、反向操作:reverse()
System.out.println(s1.reverse());  //neroah ihs ow
4、替换:replace(int start,int end,String str)
s1.replace(0,2,"ni");  //ni shi haoren  结束位置不包含在替换内
5、截取:substring(int start)
System.out.println(s1.substring(5)); //i haoren    开始位置前面的都去掉
6、删除:delete(int start,int end)
s1.delete(5,s1.length());  //ni sh   从开始位置到结束位置,但不包括结束位置
7、查找索引:indexOf(String str)
System.out.println(s1.indexOf("wo"));  //-1  若查找到内容就返回最开始的索引,若不存在就返回-1
8、StringBuffer的应用:
String s = new String();
StringBuffer s1 = new StringBuffer();
for (int i=0; i<100; i++){
s += i;             //不断修改String内存,降低效率
s1.append(i);
}
System.out.println(s);

System.out.println(s1);

Runtime类:每一个Java虚拟机都对应了一个Runtime类实例,通过Runtime的实例可以取得空闲内存和最大内存和执行垃圾回收

Runtime r = Runtime.getRuntime();   //因为Java虚拟机只能同时有一个,所以Runtime类是一个单例模式(饿汉式),只能通过方法来实例对象
Process p = null;   //实例一个Process对象,控制线程
String s = "wo shi haoren ";
for (int i=0; i<100; i++){
s += i;
}
System.out.println(r.freeMemory());   //取得空闲内存
System.out.println(r.maxMemory());  //取得最大内存
r.gc();                                                 //执行垃圾回收
System.out.println(r.freeMemory());
try {
r.exec("notepad.exe");           //exec可以调用本地程序,Process实例可以控制线程
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
p.destroy();     //让线程关闭
System类(其方法全部是静态方法,不常用)
static void gc()     // 运行垃圾回收器,实际这里也是调用的Runtime类的gc()
static void exit(int status)  // 终止当前正在运行的 Java 虚拟机。 
static long currentTimeMillis()   // 返回以毫秒为单位的当前时间。
static Properties getProperties()   //确定当前的系统属性。
System.getProperties().list(System.out);   //list(System.out)是将显示的内容更好查看一点
static String getProperty(String key)  //获取指定键指示的系统属性,必须知道要查看属性名
Date日期类
1、声明
Date d = new Date();  //d为当前系统时间
2、calendar类:其本身是一个抽象类,所以要实例化必须用她的子类GregorianCalendar
Calendar c = new GregorianCalendar();
System.out.println(c.get(Calendar.YEAR));  //返回当前系统时间:年
System.out.println(c.get(Calendar.MONTH)+1); //因为月是从0开始,所以要加1
3、simpleDateFormat类
String str1 = "2015-05-12 11:11:11.111";
String format1 = "yyyy-MM-dd HH:mm:ss.SSS";  //设置显示格式
SimpleDateFormat sd = new SimpleDateFormat(format1); //写成模块
Date d = null;
try{
d = sd.parse(str1);   //将字符串转成日期类型
} catch (ParseException e){
e.printStackTrace();
}
System.out.println(sd.format(d));  //按模块来显示日期


String format2 = "yyyy年MM月dd日";
SimpleDateFormat sd1 = new SimpleDateFormat(format2);
System.out.println(sd1.format(new Date())); //将系统日期转换成设置的显示格式
//如何将java日期转换成sql日期?不能直接转,因为java日期是sql日期父类(向下转型)
//先将java日期转换成毫秒,然后通过sql.Date的构造方法来将毫秒转换成日期
java.sql.Date jsd = new java.sql.Date(new java.util.Date().getTime());
System.out.println(jsd);
Random类
System.out.println(new Random().nextInt(i));  //输出一个从"0"到"i"(不包括i)的随机数,若想不要0且要i就加上1
数字格式
NumberFormat nf = null;
nf = NumberFormat.getInstance();    //得到默认的数字格式显示
System.out.println("格式化之后的数字:"+nf.format(10000000));
System.out.println("格式化之后的数字:"+nf.format(1000.345));  //这种格式化是用系统默认格式,下面是自定义格式


public static void main(String[] args) {
// TODO Auto-generated method stub
DecimalFormat2.decimalFormat("###,###.###", 2454.5148);//小数部分不可以分组,且多于位数被丢弃
DecimalFormat2.decimalFormat("000,000.000", 2454.5148);//0与#都是格式整数,但是用0多于位会被0填充
DecimalFormat2.decimalFormat("###,###.###¥", 2454.5148);//可以在后面加货币单位
DecimalFormat2.decimalFormat("###,###.###$", 2454.5148);
DecimalFormat2.decimalFormat("###,###.###%", 2454.5148);//若是加百分号,会自动转换成百分号形式
DecimalFormat2.decimalFormat("###,###.###\u2030", 2454.5148);//"\u2030"表示千分号
DecimalFormat2.decimalFormat("###,###.###'#'", 2454.5148);//可以用两个单引号添加自定义符号
}
class DecimalFormat2{
public static void decimalFormat(String str,double value){
DecimalFormat df = new DecimalFormat(str);  //实例化对象
String s = df.format(value);  //格式化数字
System.out.println("使用"+str+"格式化"+value+":"+s);
}
}
BigInteger类
BigInteger b1 = new BigInteger("5784126647");
BigInteger b2 = new BigInteger("56481");
System.out.println(b1.add(b2));   //加
System.out.println(b1.subtract(b2)); //减
System.out.println(b1.multiply(b2)); //乘
System.out.println(b1.divide(b2));   //除,不要余
BigInteger[] b3 = b1.divideAndRemainder(b2);//求余和商,答案是一个数组,第一个为商,第二个为余
System.out.println("商是:"+b3[0]+" 余是:"+b3[1]);
克隆对象
public class Cloneable1 {
public static void main(String[] args) throws CloneNotSupportedException {
// TODO Auto-generated method stub
Person p1 = new Person("李四");
Person p2 = (Person) p1.clone();  //clone方法返回的是对象,所以需要强转,还需要抛出异常
System.out.println(p2.getName()+p2); //克隆对象后,属性一致,但地址不一致
System.out.println(p1.getName()+p1);
p2.setName("王五");
System.out.println(p2.getName()+p2);
System.out.println(p1.getName()+p1);
p1.setName("王小五");
System.out.println(p2.getName()+p2);
System.out.println(p1.getName()+p1);//从上面可以看出,克隆后两个对象各自独立不再相互影响
}
}
class Person implements Cloneable{  //必须实现Cloneable接口
private String name;
@Override
protected Object clone() throws CloneNotSupportedException {   //重写clone方法,但具体操作还是由父类完成
// TODO Auto-generated method stub
return super.clone();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String name) {
this.name = name;
}
}
Arrays工具类
//下面方法,对所有类型数组都可以,只以char型数组举例
char[] c1 = {'a','f','e','d','b','c'};
System.out.println(Arrays.binarySearch(c1,'c'));//使用二分搜索法指定char数组,以获得指定值索引
c1=Arrays.copyOf(c1,8); //复制指定数组,指定长度,空余用null填充
for (char a:c1){
System.out.print(a);
}
System.out.println();
char[] c2;
c2=Arrays.copyOfRange(c1,2,4); //复制指定数组指定范围到新数组,空余用null填充
for (char a:c2){
System.out.print(a);
}
System.out.println();
System.out.println(Arrays.equals(c1, c2));//如果指定两个数组相等则返回true,反之false
char c3 = 'a';
Arrays.fill(c2, c3); //将c3分配给数组c2,中间还可添加两个参数指定范围
for (char a:c2){
System.out.print(a);
}
System.out.println();
System.out.println(Arrays.hashCode(c1));//返回指定数组的哈希码
Arrays.sort(c1);  //对指定数组进行排序,升序
for (char a:c1){
System.out.print(a);
}
System.out.println();
System.out.println(Arrays.toString(c1)); //指定数组内容以字符串形式返回
定时调度器(Timer类)
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
//定时调度,用Timer和TimerTesks配合完成定时任务
public class Timer1 {   


public static void main(String[] args) {
// TODO Auto-generated method stub
Timer t = new Timer();
MyTesks m = new MyTesks();
t.schedule(m, 1000, 1000); //设置任务m执行,1000毫秒后开始,每1000毫秒重复一次
}
}
class MyTesks extends TimerTask{   //继承TimerTask,将要执行的程序写入run()方法
public void run(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); //格式时间模块
System.out.println("当前系统时间:"+sdf.format(new Date()));
}
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值