使用Java在线编程常用且实用的方法

一、字符串处理

1、字符串截取
substring(i);截取下标从i开始所有字符,返回String类型;
substring(i,j);截取下标从i开始到j,但不包含j,返回String类型。测试如下:
在这里插入图片描述
2、字符串分割
split();括号里填写分隔符,一些分隔符如"."、"["、"]“等分隔时需要转义,即在前面加上”\\ “;若要分割的字符串有多个分隔符则用”|“来连接;返回类型为String类型的数组。测试如下:
sh在这里插入图片描述注意:
(1)如果分隔符出现在字符串的首部,结果会怎样呢?来测试一下:
在这里插入图片描述可以看到,如果分隔符出现在字符串的首部,它将一个空格即” “作为数组的第一个元素。
(2)如果要分割的字符串中有连续的空格(” )或Tab键(" “),若再用空格(” “)作为分隔符,则达不到理想的效果,此时应采用”\\s+"作为分割符,测试如下:
在这里插入图片描述3、字符串匹配
说到字符串匹配,我们首先想到的是KMP算法,这里不讲解该算法,有兴趣的可以自己去查询资料。这里要介绍的是Java内置的方法-------contains(),笔者猜想该方法的实现基于KMP算法的思想,来看看测试案例:
在这里插入图片描述该方法返回值为boolean类型,boolean rs = str1.contains(str2);如果字符串str1包含字符串str2,rs = true,否则rs = false
(笔者曾经刷到过字符串匹配的题,那时还不知道Java有这样的函数,笔者就一股脑的把整个KMP算法给实现了,提交过去通过了,感觉很有成就感(写了一大堆代码),当我看了别人提交的代码后,(心里WC,还有这操作),别人就调用了contains方法,几行代码就搞定。)

二、基本类型转换

1、int类型与String类型互转
(1)、int类型转为String类型:
String s = String.valueOf(i);这里i为int类型(其中i可为char、char[]、double、float等基本类型,这里只举例int类型)
String s = Integer.toString(i);这里的i只能为int类型了,应为前面指定了Integer,如果想要其他类型转为String,需修改Integer
(2)、String类型转为int类型:
int i = Integer.valueOf(s);s为String类型
int i = Integer.parseInt(s);s为String类型
2、char类型与String类型
(1)、将整个字符串转为char数组:
char[] c = s.toCharArray();
(2)、将字符串的某个字符转为char:
char cc = s.charAt(i);其中i为字符串s的下标,且i>=0&&i<s.length()
(3)、将char数组转为String
String s = new String(ch);其中ch为char数组
在这里插入图片描述

三、进制转换

1、十进制转二进制
String s = Integer.toBinaryString(i); i为int类型,与Integer对应
2、十进制转任意进制
String s = Integer.toString(i,x); i为int类型,与Integer对应,x为要转的进制
3、任意进制转十进制
int i = Integer.valueOf(s,x); s为String类型,x表示进制,注意s为必须由x进制表示的字符串
在这里插入图片描述

四、排序与查找

1、快速排序
Arrays.sort(int[] a); 将数组a升序,调用该方法需导入包,即import java.util.Arrays;
在这里插入图片描述
2、二分查找
我们知道二分查找要求数组的数必须是有序的。
int index = Arrays.binarySearch(a, key); a为数组,key为要查找的数。如果能查到,则返回key在数组a的下标(从0开始),否则返回一个负数,且这个负数的绝对值为第一个比key大的元素在数组a的下标加1(此时,下标相当于从1开始),如果key大于数组a的所有元素,则这个负数的绝对值为数组a的大小加1。如果key小于数组a的所有元素,则直接返回-1

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b17a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值