java log api_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,即舍入方式。如若不然,当除不尽的时候,会抛出算术异常。通常使用:。四舍五入

数字格式工具:

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)

原文:http://weijiancheng.blog.51cto.com/10190955/1650354

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值