字符串的常用API以及获取时间(超完整版)

常用API

1. String

1.1 是什么

img

img

1.2 基本使用

​ String s1 = “ab”;

​ String s2 = “ab”;

​ System.out.println(s1 == s2);

​ // 以上程序只会在常量池中创建一个ab对象,并且s1和s2都指向ab

​ String s3 = new String(“abc”);

​ String s4 = new String(“abc”);

​ System.out.println(s3 == s4);

​ System.out.println(s3.equals(s4));

​ // 堆内存两个,常量池一个,s3和s4分别指向不同的堆内存

​ String s5 = new String(“zxc”);

​ // intern : 在字符串常量池中查询,是否存在当前字符串,如果不存在就把字符串放进去

​ s5.intern();

​ String s6 = “zxc”;

​ // false , 因为new 存放在堆内存,s6指向的zxc 是常量池

​ // s5.intern(); 把s5放进常量池的时候,发现已经有了,所以并不会把s5放进去

​ System.out.println(s5 == s6);

​ String s7 = new String(“a”) + new String(“a”) ;

​ // a会被放在常量池中一份,堆内存中也有,但是拼接的aa 会在堆内存存储,但是不会在常量池中

​ // 因此 s7.intern() 的时候,会把s7放到常量池中一份

​ s7.intern();

​ // s8=“aa” 发现常量池中已经有s7了(“aa”) 则 直接指向,不再创建

​ String s8 = “aa”;

​ // 因此s7和s8的地址相同

​ System.out.println(s7 == s8);

​ System.out.println(s7.equals(s8));

1.3 构造方法

img

1.4 常用方法

​ // 1 char charAt(int index) : 获取字符串中指定下标的字符

​ String s1 = “ashjbdkfq”;

​ char c1 = s1.charAt(3);

​ System.out.println(c1);

​ // 2 boolean endsWith(String suffix) : 判断某个字符串是否已指定字符串结尾

​ // boolean startsWith(String prefix) : 判断某个字符串是否已指定字符串开头

​ System.out.println(“asdasd”.endsWith(“sd”));

​ // 3 boolean equals(Object obj) : 判断是否相等

​ // boolean equalsIgnoreCase(String str) : 不区分大小写比较是否相等

​ System.out.println(“ASDDSAasddsa”.equalsIgnoreCase(“asddsaAsdDsa”));

​ // 4 int indexOf(String str) : 获取指定字符串的起始索引,不存在返回-1(第一次出现的位置)

​ System.out.println(“ndsajkfnqwga”.indexOf(“aj”));

​ // 5 int indexOf(String str,int fromIndex) : 获取指定字符串的起始索引,不存在返回-1(从指定位置开始向后找)

​ System.out.println(“ndsajafnqawga”.indexOf(“a”,5));

​ // 6 int lastIndexOf(String str) : 获取指定字符串的结束索引,不存在返回-1(最后一次出现的位置)

​ // 7 int lastIndexOf(String str,int formIndex)

​ // 8 int length() 字符串长度

​ System.out.println(“asasdad”.length());

​ // 9 String replace(String str,String replace) : 替换指定字符,返回新字符串

​ System.out.println(“aca.vanbgdn.skca”.replace(“.”, “=”));

​ // replaceAll 替换,支持正则表达式 在正则表达式中 . 代表任意字符

​ System.out.println(“aca.vanbgdn.skca”.replaceAll(“.”, “=”));

​ // 10 String[] split(String regex) : 以特定字符分割,得到字符串数组,支持正则表达式

​ String[] arr = “2024-8-5”.split(“-”);

​ // 11 String substring(int begin) : 获取指定下标为起始的,子字符串(包含)

​ System.out.println(“asbjvkabfa”.substring(3));

​ // String substring(int beginIndex , int endIndex) :获取指定位置起始(包含) 到指定位置结束(不包含)的子字符串

​ System.out.println(“asbjvkabfa”.substring(3,6));

​ // 12 char[] toCharArray() : 把字符串转换为char数组

​ char[] chars = “asdasd”.toCharArray();

​ // 13 String toUpperCase() 转大写

​ // String toLowerCase() 转小写

​ System.out.println(“asdas”.toUpperCase());

​ // 14 String trim() : 删除两边空格

​ System.out.println(" asd dsa ".trim());

1.5 注意事项

不要做频繁的字符串拼接操作

img

img

2. StringBuffer和StringBuilder

2.1 是什么

img

2.2 使用

img

3. System

img

4. Date

4.1 构造方法

img

4.2 时间格式化

img

5. Random

5.1 使用

img

5.2 练习

img

6. 包装类

6.1 是什么

img

6.2 使用

img

6.3 Integer

6.3.1 基本使用

img

6.3.2 常用方法

img

6.3.3 自动装箱和拆箱

img

img

img

6.3.4 深入自动装箱-整型常量池

imgimg

img

img

img

7. Calendar

img

8. Math

8.1 使用

​ // abs 绝对值

​ System.out.println(Math.abs(-1.5));

​ // ceil 向上取整

​ System.out.println(Math.ceil(5.00000001));

​ // floor 向下取整

​ System.out.println(Math.floor(5.99999));

​ // max 取两数最大值

​ System.out.println(Math.max(5.6, 8.2));

​ System.out.println(Math.min(5.6, 8.2));

​ // sqrt 平方根

​ System.out.println(Math.sqrt(9));

​ // cbrt 立方根

​ System.out.println(Math.cbrt(8));

​ // random 随机数, 随机获取一个 大于等于0 且 小于1 的值

​ // 本质就是random中的nextDouble

​ System.out.println(Math.random());

​ // 中间值 : 10~20

​ // Math.random()*(最大-最小+1)+最小

​ System.out.println(Math.floor(Math.random() * (20 - 10 + 1) + 10));

​ // 四舍五入

​ System.out.println(Math.round(4.4));

​ // 负数 .5 不进位

​ System.out.println(Math.round(-4.5));

​ // 四舍六入五留双, 大于.5 都入 , 小于.5 都舍, .5 取偶数

​ System.out.println(Math.rint(10.5));

​ // 5的3次方

​ System.out.println(Math.pow(5, 3));

ntln(Math.floor(Math.random() * (20 - 10 + 1) + 10));

​ // 四舍五入

​ System.out.println(Math.round(4.4));

​ // 负数 .5 不进位

​ System.out.println(Math.round(-4.5));

​ // 四舍六入五留双, 大于.5 都入 , 小于.5 都舍, .5 取偶数

​ System.out.println(Math.rint(10.5));

​ // 5的3次方

​ System.out.println(Math.pow(5, 3));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值