2016/04/14

常用类

一.System

System 代表Java程序运行平台

System 是一个fianl 类  该类的所以属性都是静态

常用的方法:

currentTimeMillis();   //返回以毫秒为单位的当前时间 从1970-01-01  开始

long a = System.currentTimeMillis()/1000/60/60/24/365+1970;
  System.out.println("当前年份为:"+a); //可以算出当前的年份

System.exit(0); 终止Java虚拟机(直接停止程序  不推荐使用)/renturu 也能终止执行方法 推荐使用 renturn

getproperties();   确定系统当前属性

gc();     代表垃圾回收

引用技术算法(Refetence Counting)

根搜索算法(Gc Roots Tracing)

标记——清除算法:首先标记要回收的垃圾,然后进行清除   缺点:会在内存中产生很多的碎片

复制算法:把要要清除的东西放在一边  不清楚的放在一边  能很好的清除而且不会在内存中产生碎片  缺点:把内存变成了一半

标记——整理算法:动态的把要清除的东西 放在一边  不会使内存减半   优点:融合前两种算法 更人性化

Runtime 类

其方法:

           rt.availableprocessors();        当前处理器数量

           rt.freeMemory();                     空闲内存数

           rt.totalMemory();                    总内存数

          rt.maxMemory();                      最大内存数

字符串相关类   String

==对象的时候,判断的是内存地址是否相等

方法:

length();                      长度

CharAt();                     返回索引  char值

CompareTo ();             将字符串按字典顺序比较

Concat();                     将字符串拼接

Contains();                  判断字符串是否包含某个字符

getBytes();                  根据平台默认的字符编码 将该字符串转换为字节类型

indexOf();                    返回字符在字符串中的下标

isEmpty();                    判断是否为空

split();                          拆分字符串

toLowerCase();            将字符串转化为小写

toUpperCase();            将字符串转化为大写

trim();                           忽略前后空格 (中间的不能忽略)

replace();                     将字符串的内容替换

substring();                  从开始第几位截取到结束位置前一位字符   返回一个新的的字符串

String 里面的值不被更改  长度也不能被修改

import java.lang.reflect.Array;
import java.util.Arrays;
/***
 *
 * @author Administrator
 *字符串相关类
 */

public class Stringclass {

 public static void main(String[] args) {
//  String s ="abcd";
//  System.out.println(s.charAt(1));
  //s.charAt(1)搜索字符串下标 对应的字符   返回指定索引处的 char 值。

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s ="abc";
//  String s1 ="defg";
//  System.out.println(s1.compareTo(s));
  //compareTo 以字典的顺序比较字符串 如果前一个字符串大于后一个字符串 就是正数 相反就是负数

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s ="abc";
//  String s1 ="defg";
//  System.out.println(s.concat(s1));
  //concat 将字符串拼接 

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "qwe";
//  System.out.println(s.contains("1"));
  //contains 判断字符串中是否包含某个字符 是的话 返回 true  不是返回 false

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "abcdefg";
//  System.out.println(s.getBytes());
  //getBytes 根据平台默认的字符编码 将该字符串转换为字节类型
//  System.out.println(Arrays.toString(s.getBytes()) );
        //Arrays.toString将  结果存入新的数组中去

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "abc";
//  System.out.println(s.indexOf("c"));
  //indexOf 返回指定字符在字符串中的下标 如果没有 他就会返回 -1

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "aaa";
//  System.out.println(s.isEmpty());
  //isEmpty  判断字符串是否为空? 是返回true  不是返回false

  
//--------------------------萌萌的分割线君------------------------------------------
  //★  难点
//  String s = "a:b:c:d:e:f:g";
//  System.out.println(Arrays.toString(s.split(":",6)));
  //Arrays.toString  将  结果存入新的数组中去
  //split  拆分字符串

//  例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果:
//  Regex Limit 结果
//  : 2 { "boo", "and:foo" }
//  : 5 { "boo", "and", "foo" }
//  : -2 { "boo", "and", "foo" }
//  o 5 { "b", "", ":and:f", "", "" }
//  o -2 { "b", "", ":and:f", "", "" }
//  o 0 { "b", "", ":and:f" }

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "acdefg";
//  String s1= "ABCDEFG";
//  System.out.println(s.toUpperCase());
//  System.out.println(s1.toLowerCase());
  //toUpperCase 将字符转换成大写
  //toLowerCase 将字符转换成小写

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "    adc";
//  System.out.println(s.trim());
//  String s1 = "    adc         ";
//  System.out.println(s1.trim());
//  String s2 = "    a  d  c     ";
//  System.out.println(s2.trim());
  //trim  忽略字符串前后的的空格(中间的的空格不能忽略)

  
//--------------------------萌萌的分割线君------------------------------------------
//  String s = "abcdefg";
//  System.out.println(s.replace("c", "0"));
  //replace  将字符串的内容更改  模型:replace(“需要更改的字符”, "希望更改成的字符")

  
//--------------------------萌萌的分割线君------------------------------------------
  String s = "abcdefghijklmn";
  System.out.println(s.substring(0, 5));//运行结果为: abcde
  //substring 从开始第几位截取到结束位置前一位字符   返回一个新的的字符串
  //substring (  0 第一个字符的下标, 5 截取结束的下标但是 不会截取第五个 而是截取前一个字符)
  
 }
}

StringBuffer(可增长字符串)

StringBuffer  a = StringBuffer(); //创建一个可以拼接的字符串

方法:

insert();        把字符追加多字符串中/指定的地点

append();     始终把字符添加到缓冲区的末端


public class StringBufferclass {

 public static void main(String[] args) {
  StringBuffer sb = new StringBuffer();
  sb.append("12345");
  sb.append("6789");
  sb.append("lalala");
  sb.insert(5, "kk");
  System.out.println(sb);//最后运行结果:12345kk6789lalala
  //append  将指定字符始终添加到缓冲区的末端
  //insert( 5  加到下标为5的字符前面 注意下标从零开始   ,“KK” 表示需要添

加的字符 )
  //insert  可以把字符添加到指定的地方
 }
}

String Builder 类

他是StringBuffer 的轻量版

性能: StringBuilder> StringBuffer>String

StringBuilder 线程不安全  StringBuffer线程安全

日期相关类

Date——JavaUtil  

Date 类默认的方法 不适用于我们

getYear(); 有横线表示 不推荐使用   因为会遇到千年虫的问题

SimpleDateFormat    日期格式化

模型:

SimpleDateFormat a = new SimpleDateFormat("yyyy-MM-hh");

a.format();   将Date转换成符合的字符串类型("yyyy-MM-hh")

a.parse();     string字符串 转换成Date

Calendar 类是一个抽象类

模型  :Calender c = new Gregorian Calender();

c.get(Calendar.YEAR)   /获得具体时间

包装类

Java中分为基础数据类型和引用类型

包装:把基础类型  转换为  引用类型

为什么要用:有些应用中要求不能使用基础数据类型  必须是引用类型

int ———包装———> Integer类

char———包装——> Charachter类

int num = 10;
  Integer num1 = new Integer(num);// 包装完成  手动包装 
  Integer num2 = num;//自动装箱
  Integer anum = 10;
  int b = anum; //自动拆箱
  int b2 = num1.intValue();//手动拆箱

为什么要装箱和拆箱?

①装箱————基础数据类型————引用类型   引用类型有更多的方法

②有些操作规定了我们必须使用引用类型,而不能使用基础数据类型

正则表达式(pattern)

指出一个表达式 判断用户/别的数据是否满足我们的表达式

模型:pattern a = new  pattern.compile("^<------ 正则表达式的开始                                         结束----->$");

原文地址:https://www.cnblogs.com/chenyangpeng/p/5393302.html