一、字符串处理

1、字符串截取

substring(i);截取下标从i开始所有字符,返回String类型;

substring(i,j);截取下标从i开始到j,但不包含j,返回String类型。测试如下:

java 编程方法 java编程常用方法_数组


2、字符串分割

split();括号里填写分隔符,一些分隔符如"."、"["、"]“等分隔时需要转义,即在前面加上”\\ “;若要分割的字符串有多个分隔符则用”|“来连接;返回类型为String类型的数组。测试如下:

java 编程方法 java编程常用方法_字符串_02

注意:

(1)如果分隔符出现在字符串的首部,结果会怎样呢?来测试一下:

java 编程方法 java编程常用方法_java 编程方法_03

可以看到,如果分隔符出现在字符串的首部,它将一个空格即” “作为数组的第一个元素。

(2)如果要分割的字符串中有连续的空格(” )或Tab键(" “),若再用空格(” “)作为分隔符,则达不到理想的效果,此时应采用”\\s+"作为分割符,测试如下:

java 编程方法 java编程常用方法_java 编程方法_04

3、字符串匹配

说到字符串匹配,我们首先想到的是KMP算法,这里不讲解该算法,有兴趣的可以自己去查询资料。这里要介绍的是Java内置的方法-------contains(),笔者猜想该方法的实现基于KMP算法的思想,来看看测试案例:

java 编程方法 java编程常用方法_字符串_05

该方法返回值为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数组

java 编程方法 java编程常用方法_字符串_06

三、进制转换

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进制表示的字符串

java 编程方法 java编程常用方法_java 编程方法_07

四、排序与查找

1、快速排序

Arrays.sort(int[] a); 将数组a升序,调用该方法需导入包,即import java.util.Arrays;

java 编程方法 java编程常用方法_分隔符_08


2、二分查找

我们知道二分查找要求数组的数必须是有序的。

int index = Arrays.binarySearch(a, key); a为数组,key为要查找的数。如果能查到,则返回key在数组a的下标(从0开始),否则返回一个负数,且这个负数的绝对值为第一个比key大的元素在数组a的下标加1(此时,下标相当于从1开始),如果key大于数组a的所有元素,则这个负数的绝对值为数组a的大小加1。如果key小于数组a的所有元素,则直接返回-1

java 编程方法 java编程常用方法_数组_09