黑马程序员——Java编程语言学习总结– API(下)

来源:互联网 发布:中日韩 餐具知乎 编辑:程序博客网 时间:2024/05/16 12:46

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

(一)API 常用类

Object类/Scanner类

String类/StringBuffer类/StringBuilder类

数组高级和Arrays类

基本类型包装类(Integer,Character)

正则表达式(Pattern,Matcher)

Math类/Random类/System类

BigInteger类/BigDecimal类

Date类/DateFormat类/Calendar类

 

 

(二)正则表达式(Pattern,Matcher)

 

1.        分割功能

            String类的public String[] split(String regex)

            根据给定正则表达式的匹配拆分此字符串。

 

2.        替换功能

          String类的public String replaceAll(String regex,String replacement)

          使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

3.        获取功能

            Pattern和Matcher类的使用

           

            模式和匹配器的基本使用顺序

// 模式和匹配器的典型调用顺序

             //把正则表达式编译成模式对象

             Patternp = Pattern.compile("ab");

             //通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串

             Matcherm = p.matcher("aaaaab");

             //调用匹配器对象的功能

             booleanb = m.matches();

             System.out.println(b);

 

// 定义字符串

             Strings = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xingbu?";

             //规则

             Stringregex = "\\b\\w{3}\\b";

 

             //把规则编译成模式对象

             Patternp = Pattern.compile(regex);

             //通过模式对象得到匹配器对象

             Matcherm = p.matcher(s);

             //调用匹配器对象的功能

             //通过find方法就是查找有没有满足条件的子串

             //public boolean find()

             //boolean flag = m.find();

             //System.out.println(flag);

             //// 如何得到值呢?

             //// public String group()

             //String ss = m.group();

             //System.out.println(ss);

 

A:字符

      x字符 x。举例:'a'表示字符a

      \\反斜线字符。

      \n新行(换行)符 ('\u000A')

      \r回车符 ('\u000D')

     

B:字符类

      [abc]a、b 或 c(简单类)

      [^abc]任何字符,除了 a、b 或 c(否定)

      [a-zA-Z]a到 z 或 A到 Z,两头的字母包括在内(范围)

      [0-9]0到9的字符都包括

     

C:预定义字符类

      .任何字符。我的就是.字符本身,怎么表示呢? \.

      \d数字:[0-9]

      \w单词字符:[a-zA-Z_0-9]

             在正则表达式里面组成单词的东西必须有这些东西组成

 

D:边界匹配器

      ^行的开头

      $行的结尾

      \b单词边界

             就是不是单词字符的地方。

             举例:hello world?haha;xixi

     

E:Greedy 数量词

      X?X,一次或一次也没有

      XX,零次或多次

      X+X,一次或多次

      X{n}X,恰好 n 次

      X{n,}X,至少 n 次

      X{n,m}X,至少 n 次,但是不超过 m 次

 

 

 

(三)Random类:产生随机数的类

 

1.         构造方法:

           public Random():没有给种子,用的是默认种子,是当前时间的毫秒值

            public Random(long seed):给出指定的种子

            给定种子后,每次得到的随机数是相同的。

2.         成员方法:

           public int nextInt():返回的是int范围内的随机数

            public int nextInt(int n):返回的是[0,n)范围的内随机数

(四)Math类

用于数学运算的类。

1.         成员变量:

           public static final double PI

           public static final double E

2.         成员方法:

           public static int abs(int a):绝对值

            public static double ceil(double a):向上取整

            public static double floor(double a):向下取整

            public static int max(int a,int b):最大值 (min自学)

            public static double pow(doublea,double b):a的b次幂

            public static double random():随机数 [0.0,1.0)

            public static int round(float a) 四舍五入(参数为double的自学)

            public static double sqrt(double a):正平方根

 

 

 

(五) System类

包含一些有用的类字段和方法。它不能被实例化。

1.         System的主要方法:

           public static void gc():运行垃圾回收器。

            public static void exit(int status):终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。

            public static longcurrentTimeMillis():返回以毫秒为单位的当前时间

            public static void arraycopy(Objectsrc,int srcPos,Object dest,int destPos,int length)

                          从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。 /

(六)Date类

表示特定的瞬间,精确到毫秒。

1.         构造方法:

           Date():根据当前的默认毫秒值创建日期对象

           Date(long date):根据给定的毫秒值创建日期对象

 public long getTime():获取时间,以毫秒为单位

 public void setTime(long time):设置时间

 

  从Date得到一个毫秒值

           getTime()

  把一个毫秒值转换为Date

           构造方法

           setTime(long time)

 

 Date   --   String(格式化)

           public final String format(Date date)

 

 String -- Date(解析)

           public Date parse(String source)

 

 DateForamt:可以进行日期和字符串的格式化和解析,但是由于是抽象类,所以使用具体子类SimpleDateFormat。

 

2.         SimpleDateFormat的构造方法:

           SimpleDateFormat():默认模式

           SimpleDateFormat(String pattern):给定的模式

                  这个模式字符串该如何写呢?

                  通过查看API,我们就找到了对应的模式

                  年 y

                  月 M    

                  日 d

                  时 H

                  分 m

                  秒 s

(七)Calendar类

它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

 public int get(int field):返回给定日历字段的值。日历类中的每个日历字段都是静态的成员变量,并且是int类型。

      CalendarrightNow = Calendar.getInstance(); // 子类对象

             //获取年

             intyear = rightNow.get(Calendar.YEAR);

             //获取月

             intmonth = rightNow.get(Calendar.MONTH);

             //获取日

             intdate = rightNow.get(Calendar.DATE);

             System.out.println(year+ "年" +(month + 1) + "月" + date + "日");

public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。

public final void set(int year,intmonth,int date):设置当前日历的年月日

(八)BigDecimal类

不可变的、任意精度的有符号十进制数,可以解决数据丢失问题。

  看程序写结果:结果和我们想的有一点点不一样,这是因为float类型的数据存储和整数不一样导致的。它们大部分的时候,都是带有有效数字位。

  由于在运算的时候,float类型和double很容易丢失精度,演示案例。所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal

    System.out.println(0.09 + 0.01);

      System.out.println(1.0- 0.32);

      System.out.println(1.015  100);

      System.out.println(1.301/ 100);

System.out.println(1.0 - 0.12);

1.       构造方法:

           public BigDecimal(String val)

2.       常用方法

 

 public BigDecimal add(BigDecimal augend)

 public BigDecimal subtract(BigDecimal subtrahend)

 public BigDecimal multiply(BigDecimal multiplicand)

 public BigDecimal divide(BigDecimal divisor)

 public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode):商,几位小数,如何舍取

(九)BigInteger

可以让超过Integer范围内的数据进行运算

 

1.       构造方法:

 BigInteger(String val)

 

2.       常用方法

 public BigInteger add(BigInteger val):加

 public BigInteger subtract(BigInteger val):减

 public BigInteger multiply(BigInteger val):乘

 public BigInteger divide(BigInteger val):除

 public BigInteger[] divideAndRemainder(BigInteger val):返回商和余数的数组


0 0
原创粉丝点击