Java 常用API

Java 常用API

String

因为String的底层是一个字符数组,数组又是一个容器

容器所具有的特征:定位,求长,替换

求长

求长:得到一个字符串的长度

str.length()

定位

定位:

知道角标,找这个角标下的值是多少
str.charAt(0)

  2. 知道值,找这个值找在第几个位置上出现

str.indexOf(‘b’)

变种的定位:

1.如果我知道的是一个连续的角标,从角标1到角标3

str.substring(0, 3)

2.我如果想知道这个字符串里面是否包含某一个子字符串

str.indexOf(“bc”)

3.如果要的是boolean值

str.contains(“cb”)

4.是不是以某个字符串开头

str.startsWith(“李国”)

5.是不是以某种字符串结尾

str.endsWith(“李”)

6.我想知道从某个位置向后找是否有子字符串

str.indexOf(“李国”, 2)

7.我想从后往前找,找到的一个出现的某个字符

str.lastIndexOf(“国”, 2)

替换
替换:String其实是不支持替换的,因为String的官方文档里,String创建后内容是不能被更改的

字符串可以用" + "来拼接,同时我们注意,字符串加上任何一个其他的对象,结果还是字符串

字符串不能根据角标来替换,但是可以根据内容来替换。

zfc.replace(“”, “f”);//将空字符也能替换为"f"

变种替换:

1.将类型改变

byte[] buf = zfc.getBytes();
char[] chs = zfc.toCharArray();
以某个字符或字符串切割字符串

String[] arr = zfc.split(“”);//以空字符切割,即将字符串切割为一个一个字符

2.类型不改变 将字符串转为小写 zfc.toLowerCase(); 去除字符串前后的空格 zfc.trim();

Arrays

操作数组的工具类型

自动排序(快速排序)

Arrays.sort(arr);

自动排序(归并排序)

Arrays.parallelSort(arr);

二分查找

Arrays.binarySearch(arr, 7);

拷贝

int[] tempArray = Arrays.copyOf(arr, 20);

填充

Arrays.fill(arr, 1000);//将数组用1000填满

Math

数学函数Math,可以调用各种各样的数学工具

abs(x) 返回x这个数的绝对值。

Math.abs(-10)

sqrt(x) 返回x的二次方根。

Math.sqrt(10)

max(x,y) 返回较大值。

Math.max(10,5)

min(x,y) 返回较小值。

Math.min(10,5)

StringBuffer

操作数组容器,是有一个叫Arrays的工具,方便我们更好的操作数组 但是我们说String其实也有容器的特征,所以,我们其实也有操作String的工具的 这个工具,叫做StringBuffer,或者StringBuilder 这个工具主要解决但是String创建以后,不能改变的问题

StringBuffer sb = new StringBuffer(“aslfhsdlgfdlgfvbno”);
StringBuilder sbuilder = new StringBuilder();
向末尾添加

sb.append(“李国成”);

向某个位置插入

sb.insert(3, “hhhhhahaha”);

替换

sb.replace(0, 7, “强”);

将字符串顺序颠倒

sb.reverse();

Random

生成随机数

Random r1 = new Random();
int num = r1.nextInt(32);//生成一个0-31的随机数

Integer

JAVA有自动装箱和开箱过程

Integer i1 = 99;
Integer i2 = 99;
System.out.println(i1 == i2);
结果为true两个Integer的i1和i2不是同一个对象,不是相等的,但是结果是true,这是因为JAVA有自动装箱和开箱过程,java自动将i1,i2认为是整型常量进行比较。

Integer i1 = -166;
Integer i2 = -166;
System.out.println(i1 == i2);
但是同样的比较,数字如果超过了-128–127之间,则不会被java自动装箱。结果为false

Integer i3 = new Integer(128);

计算数字中1的个数

Integer.bitCount(5)

BigDecimal

精确小数操作

BigDecimal bd = new BigDecimal(“2”);
BigDecimal bd1 = new BigDecimal(“3”);
System.out.println(bd.divide(bd1,5,BigDecimal.ROUND_UP));
//ROUND_UP向上取整,保留5位小数
在银行和金融系统中,我们其实真正用的数学计算,都是通过BigDecimal来实现的。因为,Integer太小。又因为,我们是有分这个辅币的,而是用Integer处理这个辅币,需要将原有的值扩大100倍另外有要求精确的小数计算,所以,金融系统中,我们常用的处理方式是BigDecimal。但是要注意,在民用的小金融体系下Integer这个工具,还是比较好用的,比如微信支付。

BigInteger

有一些很大的数,超出了整型的范围,BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而不会丢失任何信息。

可以将十进制的字符串转化为BigInteger

BigInteger a = new BigInteger(“235344623523”);
BigInteger b = a.add(new BigInteger(“345”));//b = a + 345

日历

Calendar
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法

获取当前时间初始化

Calendar start = Calendar.getInstance();
设置日历的年/月/日/时/分/秒

start.set(Calendar.MONTH, 0);

start.set(Calendar.DAY_OF_MONTH, 1);

获取是一年中的第几天

start.get(Calendar.DAY_OF_YEAR)

Date
Date d = new Date();

简化时间格式

SimpleDateFormat sdf = new SimpleDateFormat();

ArrayList

​ //添加
​ list.add(“lvjie”);
​ list.add(“14”);
​ list.add(“zs”);
​ //改
​ list.set(0,“haha”);
​ //删
​ list.remove(0);
​ //查
​ list.get(0);
​ //查看长度
​ lsit.size();
​ //清除完
​ list.clear();
​ //定位
​ list.indexOf(“14”);
​ //是否包含当前元素
​ boolean falg = list.contains();
​ //容器是否为空
​ boolean falg1 = list.isEmpty();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值