现在的位置: 首页 > 综合 > 正文

09—java中常用api

2013年10月18日 ⁄ 综合 ⁄ 共 3032字 ⁄ 字号 评论关闭

 

1、StringBuffer:
 回顾:String类一旦不创建就不能被改变了
 String类不适用于一下情况;
  public class Demo{
   public static void main(String args[]){
    String str="";
    for(int i=0;i<100;i++){
     str+=i;
     }
    }
   }
  因为这样指针会被改变多次;
 StringBuffer 也是一个字符串对象,但是此对象的内容可以改变,只是代码的形式少有不同;
 StringBuffer 必须先实例化:
  public class Demo{
  public static void main(String args[]){
   String str="";
   //用+表示字符串的连接
   //str="A"+"B"+"C";
   
   StringBuffer sb=new StringBuffer();
   sb.append("A").append("B");
   sb.append("C").append(1);
   }
   //StringBuffer传递的是引用;
   public static void fun(StringBuffer s){
    s.append("LID--->Name");
    }
  }
2、包装类:
 IO操作时字符串变为整形:Integer
 在java中提倡一种思想:一切皆对象,java中用有八种数据类型,
  byte  Byte
  char  Character
  short  Short
  int  Integer
  float  Float
  double  Double
  long  Long
  boolean  Boolean
  包装类的作用,就在于转型上:字符串---》相应的数据类型;
   public class Demo{
    public static void main(String args[]){
     String str="123";
     int i=Integer.parseInt(str);
     System.out.println(i);
     float f=Float.parseFloat(str);
     System.out.println(f*2);
      }
    }

3、Runtime类:
 运行时类---》使用此类可以调用本机上的程序;
 Runtime类没有构造方法,则外部无法实例化;
 因为在类中构造方法私有化了,所以程序的外部无法实例化对象;
 
 能不能让记事本打开三秒后自动关闭:
 运行的程序是一个进程;
  public class Demo{
   public static void main(String args[]) throws Exception{
    Runtime r=Runtime.getRuntime();
    //运行程序:调用本机的程序;
    Process p=r.exec("notepad.exe");
    Thread.sleep(3000);
    //关掉进程;
    p.destroy();
    }
   }

4、Random类:
 表示一个随机数类,例如:要产生一个不大于100的10个随机整数;
 Random类在java.util包中;
  import java.util.*;
  public class Demo{
   public static void main(String args[]) throws Exception{
    Random r=new Random();
    for(int i=0;i<10;i++){
     System.out.println(r.nextInt(100));
     }
    }
   }

5、取得时间的类:java.util包下:
 Date类和Calendar类;
 Calerdar可以将时间精确到毫秒;
  import java.util.*;
  public class Demo{
   public static void main(String args[]) throws Exception{
    Calerdar c=new GregorianCalendar();
     System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
     System.out.println("MONTH: " + calendar.get(Calendar.MONTH)+1);
     System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
     System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
     System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
     System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
     System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
     System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
     System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
  
    }
   }
 有时希望可以进行格式转换:
 例如:
  原格式:2007-5-17 16:19:20
  转化后的格式:2007年5月17日 16时19分20秒

 应该用几步完成以上的转变呢:
  从原格式中丢弃格式取出具体的时间数字;
  准备一个新的格式;
  将原格式中的时间数字放到新格式中;

  SimpleDateFormat类再类是在java.text包下;
   import java.util.*;
   import java.text.*;
   public class Demo{
    public static void main(String args[]) throws Exception{
     String str="2011-4-12 23:10:22";
     //1 准备原始格式
     SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     //2 准备新格式
     SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
     //3 摘出时间数
     Date d=sdf1.parse(str);
     //4 将时间出入到新的模板中
     String newStr=sdf2.format(d);
     System.out.println(newStr);
     }
    }

抱歉!评论已关闭.