学习笔记-马士兵java- 常用类

1. 字符串相关类(String、StringBuffer)

  a. Sting类

    ① java.lang.String 类代表 不可变 的字符序列。

    ② “XXXXX”为该类的一个对象。

    ③ String 类的常见构造方法:

      ⅠString(Sting original)  创建一个String对象为 original 的拷贝。

      Ⅱ String(char[] value)  用一个字符数组创建一个 String 对象。

      Ⅲ Sting(char[] value, int offset, int count)  用一个字符数组从 offset 项开始的 count 个字符序列创建一个 String 对象。

    ④ 字符串相等判断:

      Ⅰ String s1 = "hello";  String s2 = "hello";  s1==s2 // true

       说明:字符串常量在data segment 只有一份(data segment对数据优化,不再创建新的重复数据),所以两个普通相同的字符串引用相等。

      Ⅱ Sting s1 = new String("hello");  Sting s2 = new Sting("hello"); s1==s2  // false    s1.equals(s2)  // true  (new出来的对象若想==,则必须为统一对象 )

       说明:若两个字符串均为 new 出来(在堆中创建字符串),因 String 重写 equals 方法(只要内容相同,不必为同一对象,则equal),顾 s1 equals s2。

补充说明:API帮助文档中标有 Deprecated 并用斜体标注的方法为已经废弃的(方法已过时,不推荐使用)。

    ⑤ Sting 类常用方法:

      ⑴ public char charAt(int index)  放回字符串中第 index 个字符(从0开始计算 )。

      ⑵ public int length()  返回字符串的长度。

      ⑶ public int indexOf(Sting str)  返回字符串中出现str的第一个位置。

      ⑷ public int indexOf(String str, int fromIndex)  返回字符串中从 fromIndex 开始出现str的第一个位置。

      ⑸ public boolean equalsIgnoreCase(String another)  比较字符串与 another 是否一样(忽略大小写)。

      ⑹ public Sting replace(char oldChar, char newChar)  在字符串中用 newChar 字符串替换 oldChar 字符。

      ⑺ public boolean startsWith(String prefix)  判断字符串是否以 prefix 字符串开头。

      ⑻ public boolean endsWith(Sting suffix)  判断字符串是否以 prefix 字符串结尾。

      ⑼ public String toUpperCase()  返回一个字符串为该字符串的大写形式。

      ⑽ public String toLowerCase()  返回一个字符串为该字符串的小写形式。

      ⑾ public String substring(int beginIndex)  返回该字符串从 beginIndex(以0开始计算) 开始到结尾的子字符串。

      ⑿ public String substring(int beginIndex, int endIndex)  返回该字符串从 beginIndex 开始到 endIndex 结尾的子字符串。

      ⒀ public String trim()  返回将该字符串去掉开头和结尾空格后的字符串。

    ⑥ String 类静态重载方法:

      Ⅰpublic static String valueOf(...)  可以将基本类型数据转换为字符串;

       例如:

        public static String valueOf(double d)

        public static String valueOf(int i)

        ……(查API帮助文档)

    ⑦ 方法:public String[] split(String regex)  可以将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。

  b. StringBuffer 类

    ① java.lang.StringBuffer 代表 可变的 字符序列。

    ② StringBuffer 和 String 类似,但 StingBuffer 可以对其字符串进行改变。

    ③ StringBuffer 类的常见构造方法:

      ⑴ StringBuffer()  创建一个不包含字符序列的“空”的 StringBuffer 对象。

      ⑵ StringBuffer(String str)  创建一个 StringBuffer 对象,包含与 String 对象 str 相同的字符序列。

    ④ StringBuffer 类常用方法:

      ⑴ 重载方法 pbulic StringBuffer append(...) 可以为该 StringBuffer 对象添加字符串序列,返回添加后的该StringBuffer对象引用。例如:

       public StringBuffer append(String str)

       public StringBuffer append(StringBuffer sbuf)

       public StringBuffer append(char[] str)

       public StringBuffer append(char[] str, int offset, int len)

       public StringBuffer append(double d)

       public StringBuffer append(object obj)

       ……

      ⑵ 重载方法 public StringBuffer insert(...) 可以为 StringBuffer 对象在制定位置插入字符序列,返回修改后的该 StringBuffer 对象引用。例如:

       public StringBuffer insert(int offset, String str)

       public StringBuffer insert(int offset, double d)

       ……

      ⑶ 方法 public StringBuffer delete(int start, int end) 可以删除从start开始到 end-1 为止的一段字符串序列,返回修改后的该 StringBuffer 对象引用。

      ⑷ 和 String 类含义类似的方法:

       public int indexOf(String str)

       public int indexOf(String str, int fromIndex)

       public String substring(int start)

       public String substring(int start, int end)

       public int length()

      ⑸ 方法 public StringBuffer reverse() 用于将字符序列逆序,返回修改后的该StringBuffer的对象引用。

补充说明:可变与不可变的字符序列区别:

   Ⅰ不可变的字符序列(String类)(s1=s1+s2,先开辟s1+s2长度大小的空间,再将s1、s2分别赋值到新的空间,最后将s1指向新的空间)。

   Ⅱ可变的字符序列(StringBuffer类)(s1=s1+s2,直接在s1后开辟内存将s2复制到开辟的内存)。

补充说明:JAVA1.4以后正则表达式完全替代StringTokenizer类。

2. 基本数据类型包装类(想要将栈上开辟的空间创建的基础类型改为堆上开辟,用包装类)

  a. 包装类(如:Integer,Double 等)这些类封装了一个相应的基本数据类型数值,并为其提供了一系列操作。

  b. 以 java.lang.Integer 类为例;(详细查看API帮助文档

   ① 构造方法:

    ⑴ Integer(int value)

    ⑵ Integer(String s)

   ② 常用属性、 方法:

    ⑴ public static final int MAX_VALUE  最大的 int 型数(2^31-1)。

    ⑵ public static final int MIN_VALUE  最小的 int 型数(-2^31)。

    ⑶ public long longValue()  返回封装数据的 long 型值。

    ⑷ public double doubleValue()  返回封装数据的 double 型值。

    ⑸ public int intValue()  返回封装数据的 int 型值。

    ⑹ public static int parseInt(String s) throws NumberFormatException  将字符串解析成 int 型数据,返回该数据。

    ⑺ public static Integer valueOf(String s) throws NumberFormatException  返回 Integer 对象,其中封装的整型数据位字符串 s 所表示。

补充说明:其他类具体属性、方法查看 API 帮助文档。

3. Math类(游戏和图形学常用):

  a. java.lang.Math 类,提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为 double 型。

  b. 常用:

    ⑴ abs  // 绝对值

    ⑵ acos, asin, atan, cos, sin, tan

    ⑶ sqrt  // 平方根

    ⑷ pow(double a, double b)  // a 的 b 次幂

    ⑸ log  // 自然对数

    ⑹ exp  // e 为底指数

    ⑺ max(double a, double b)

    ⑻ min(double a, double b)

    ⑼ random()  // 返回 0.0 到 1.0 的随机数

    ⑽ long round(double a)  // double 型的数据 a 转换为 long 型(四舍五入)

    ⑾ toDegrees(double angrad)  // 弧度-->角度

    ⑿ toRadians(double angdeg)  //角度-->弧度

4. File类:

  a. java.io.File 类代表系统文件名(路径和文件名)。

  b. File 类的常见构造方法:

    ① public File(String pathname) 以 pathname 为路径创建 File 对象,如果 pathname 是相对路径,则默认的当前路径在系统属性 user.dir 中存储。

    ② public File(String parent, String chile) 以 parent 为父路径,chile 为子路径创建 File 对象。

  c. File 的静态属性:String separator 存储了当前系统的路径分隔符

  d. 通过 File 对象可以访问文件的属性:

    ⑴ public boolean canRead()  // 能不能读

    ⑵ public boolean canWrite()  // 能不能写

    ⑶ public boolean exists()  // 文件是否存在

    ⑷ public boolean isDirectory()  // 是不是目录

    ⑸ public boolean isFile()  // 是不是文件

    ⑹ public boolean isHidden()  // 是不是隐藏的

    ⑺ public long lastModified()  // 上次修改时间

补充说明:计算机内时间存储方式:从1970年1月1日0时0分0秒0毫秒开始到目前为止的毫秒数(这种方式只用一个 long 型变量则可存储整个时间及日期)

    ⑻ public long length()  // 这个文件内容长度

    ⑼ public Sting getName()  // 得到文件名

    ⑽ public String getPath()  // 得到文件路径(包名不在其中)

    ⑾ public String getAbsolutePath()  // 得到文件绝对路径

    ⑿ public String getParentFile()  // 获得class文件(最上层包)的父目录(包名与文件算为一体)

  e. 通过 File 对象创建空文件或目录(在该对象所指的文件或目录不粗才能在的情况下)

    ⑴ public boolean createNewFile(0 throws IOException  // 创建一个空文件

    ⑵ public boolean delete()  // 删除文件

    ⑶ public boolean mkdir()  // 创建目录

    ⑷ public boolean mkdirs()  // 创建在路径中的一系列目录

5. 枚举类:

  a. java.lang.Enum 类

  b. 枚举类型:

    ① 只能够取特定值中的一个

    ② 使用 enum 关键字

    ③ 是 java.lang.Enum 类型

  c. 举例:

      public enum MyColor {red, green, blue};  // MyColor为类,enum 与 static 类似,可以用“类名.取值”

      MyColor m = MyColor.red;

补充说明:错误越早发生越好(最好在编译时)

posted @ 2013-10-22 21:20  被盗的小偷  阅读(163)  评论(0)    收藏  举报