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)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:Android_Log_3_Java基础API-创新互联
文章转载:http://azwzsj.com/article/dcsdhp.html