Android_Log_3_Java基础API

1.字符串相关

站在用户的角度思考问题,与客户深入沟通,找到临湘网站设计与临湘网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、主机域名网站空间、企业邮箱。业务覆盖临湘地区。

String:

   使用String str1 = “abc”;的创建方式。第一次用到一个字符串字面值时,会在“字符串常量池”中创建字符串实例。再次使用相同的字面值时,会优先从“字符串常量池”获取已经存在的字符串实例。

String str2 = “abc”。str1和str2获取的是同一个实例,所以str1==str2为true.

字符串连接一次必定会创建一个新的String变量,效率低。

 

常用方法:

 1、charAt(int index)

  2、toUpperCase()/toLowerCase()

  3、length()

  4、compareTo(String anotherString)

  5、compareToIgnoreCase(String str): 按字符编码表顺序比较

  6、startsWith(String str): 以str开头,返回boolean

  7、endsWith():

  8、equals(Object obj):

  9、equalsIgnoreCase(String str):

  10、indexOf(String s):

  11、lastIndexOf(String s):

  12、indexOf(String s, int fromIndex): 从指定位置开始向后找

 13、replace(char oldChar, char newChar);

  14、substring(int beginIndex): 从指定下标开始截取后面字符串(包含)

 15、substring(int beginIndex, int endIndex): 截取指定范围字符串

 16、trim():去除两端空白字符。

 17、getBytes(): 将字符串转为默认编码的byte数组并返回byte[]

  18、getbytes(编码): 将unicode(默认)转为指定编码格式的字节数组

 19、toCharArray(): 字符串转为char[]数组

 20、String.valueOf(各种数据):将任何数据转为字符串

 21、matches(regex): 判断当前字符串能否与正则表达式匹配

 22、replaceAll(regex, 子串):将所有找到的匹配子串,替换为新的子串  23、replaceFirst(regex, 子串):替换第一个找到的匹配子串

 24、split(regex): 用匹配的子串,拆分字符串。

 

可变的字符序列:(两者有兼容的API)

StringBuilder:单线程情况下使用这个更高效率

StringBuffer:多线程下使用这个,安全(多了线程安全保护)

 

  1、append(内容): 末尾追加字符,高效的字符串连接

 2、delete(int start, int end): 删除[start, end),通常都是左闭右开区间  3、deleteCharAt(int index): 删除单个字符

 4、insert(int index, 子串):在index位置,插入一个子串。

 5、replace(int start, int end, String s):将[start, end)替换为指定字符串s.

  6、reverse(): 翻转字符串

 7、setCharAt(int index, char ch): 将index位置替换为字符ch。

 8、toString(): 转为String类型

 

2. 正则表达式

java.util.regex.Pattern

java.util.regex.Matcher

 

创建实例:

   Pattern p = Pattern.compile(“正则表达式”);

   //表示一个正则表达式实例

   Matcher m = p.mathcer(待匹配字符串);

   //包装正则表达式和待匹配的字符串

 

Matcher方法:

find();寻找下一个匹配的子串,返回boolean值,表示是否找到匹配子串。

find(int form):从指定位置向后寻找

group() 获得刚刚找到的子串

start():获得刚刚子串的起始位置

end() 获得刚刚子串的结束位置


  正则表达式      匹配的字符

  -------------   --------------------

  a               a

  z               z

  abc             abc

  [abc]           a, b, c

  [a-z]           a, z, k, r, q

  [a-z_A-Z0-9]    a, z, A, Z, 0, 5, 9, _

  [^a-zA-Z]       排除英文字母, 0, _, &, *, #

  [\u4e00-\u9fa5]

 

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

  \W              排除单词字符

  \s              空白字符

  \S              排除空白字符

  \d              数字[0-9]

  \D              排除数字 [^0-9]

  .               任意字符

 

  [abc]?          ? 0个或1个

                  a,b,c,,

 

  [abc]+          + 1到多个

                  a, c, aa, bbb, cccc, abcabcabcabcabc

                 

  [abc]*          * 0到多个

                  ,,a, c, aa, bbb, cccc, abcabcabcabcabc

 

  [abc]{3}        aaa, bbb, ccc, abc, cba, aab, cca, bbc

  [abc]{2,4}      ab, abc, abcc

  [abc]{2,}       ab, bc, abcabcabcabcaabcabcabc

 

  |               匹配两侧任意一个表达式即可

 

3. 数字运算相关

3.1 Number是数据包装类的抽象父类

Byte、Short、Integer、Long、Float、Double

 

3.2 自动装箱,自动拆箱

代码的语法简化

自动装箱:

Integer a = 56;

编译为:Integer a = Integer.valueOf(56);

自动拆箱:

int  i = a;

编译为:int I = a.intValue();

a = a + I;

编译为:a = Integer.valueOf(a.intValue() + 1);

自动拆箱当心null值的情况,会抛空指针错误。

 

注意:Integer底层有一个实例缓存区,缓存-128到127的包装对象

       Integer a = Integer.valueOf(128);

       Integer b = Integer.valueOf(128);

       System.out.println(a == b);//false

      

       Integer c = Integer.valueOf(127);

       Integer d = Integer.valueOf(127);

       System.out.println(c == d);//true

 

3.3 大数字

java.math.BigDecimal:做精确的浮点数运算

java.math.BigInteger:做超出长×××范围的整数运算。

 

创建实例:

BigDecimal bd = BigDecimal.valueOf(3.14);

 

方法:

    add(BigDecimal bd)

    subtract(BigDecimal bd)

    multiply(BigDecimal bd)

divide(BigDecimal bd)

 

通常divide()方法需要同时指定scale,即舍入方式。如若不然,当除不尽的时候,会抛出算术异常。通常使用:ROUND_HALF_UP。四舍五入

 

数字格式工具:

java.text.DecimalFormat

将数字转为格式字符串

数字格式的字符串,转为数字类型

 

创建实例:

DecimalFormat f = new DecimalFormat(格式字符串);

格式字符串:$###,###,###.000

 

方法:

format(数字):将数字格式化为格式字符串

parse(格式化字符串):将格式化后的字符串还原为数字

 

4. 日期日历相关

4.1  java.util.Date

表示一个时间点

内部包含一个长×××毫秒值

 

创建实例:

   Date d = new Date();

Date d = new Date(365L*24*60*60*1000);指定一个毫秒值时间点

 

方法:

getTime(Long l):获取内部毫秒值

setTime();

 

4.2  java.text.SimpleDateFormat

日期格式化工具

 

创建实例:

  SimpleDateFormat df = new SimpleDateFormat(格式化字符串);

格式化字符串举例:

   yyyy-MM-dd HH:mm:ss

   yy/MM/dd

   yyyy年MM月dd日

 

方法:

   format(Date d) 将实例转为日期格式字符串

   parse(日期格式化字符串):将该字符串解析为Date实例

 

4.3  java.util.Calendar

日历的抽象父类

表示一个时间点

提供日期运算方法

 

创建实例:

   Calendar c = Calendar.getInstance();

   Calendar cc = new GregorianCalendar();

 

方法:

get(字段):获得指定字段的值,Calendar.YEAR等

set(字段,值):自改指定字段的值。

set(int year, int month, int date, int hourOfDay, int minute, int second):

add(字段,值):在指定字段上增加一个值c.add(Calendar.YEAR,1);

compareTo(Calendar cc):与另一个日期时间比较,大返回正数。

getActualMaximum(字段):获得指定字段的最大值。

setFirstDayOfWeek(): 设置一周的第一天

getFirstDayOfWeek():获得一周的第一天

getTime():获得表示相同时间的Date类型实例

setTime(Date date):将时间设置为指定Date实例所表示的时间

getTimeInMillis():

setTimeInMillis(long millis)

 

 


分享标题:Android_Log_3_Java基础API
网页地址:http://myzitong.com/article/iieocd.html