目录
- 一、前言
- 二、数组操作
- 1.charAt操作
- 2.getBytes操作
- 3.toCharArray操作
- 4.String.valueOf
- 5.substring,toUpperCase,toLowerCase,concat
- 6.indexOf
- 7.Arrays使用
一、前言
本文章主要讲解数组的一些基本操作,让我们写代码更加方便,像我们在学c语言的时候常常会自己造轮子,好多方法都需要我们自己去写,但是java封装了很多方法给我们使用,让我们看看都有哪些方法吧。
二、数组操作
1.charAt操作
这个方法是根据下标取出字符串中的单个字符,这里不是字符数组。比如我定义了一个hello的字符串,我想取出它每一个字符,因为不是数组所以我们不能用数组取值的方法。
代码如下:
public class test {
public static void main(String[] args) {
String a = "helloWorld";
for (int i = 0; i < a.length(); i++) {
System.out.print(a.charAt(i)+" ");
}
}
}
输出:
2.getBytes操作
作用:字符串转换成字节数组,比如a就转换成了对应的ascii码97。
代码如下:
public class test {
public static void main(String[] args) {
String s1 = "abc";
byte[] arr1 = s1.getBytes();
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i]+" ");
}
}
}
输出:
3.toCharArray操作
作用:将字符串转换成字符数组。
代码如下:
public class test {
public static void main(String[] args) {
String s2 = "hello world";
char[] arr2 = s2.toCharArray();
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i]+" ");
}
}
}
输出:
4.String.valueOf
作用:把任意类型数据转换成字符串
public class test {
public static void main(String[] args) {
char[] arr3 = {'a','b','d'};
String s3 = String.valueOf(arr3);
System.out.println(s3);
}
}
输出:
5.substring,toUpperCase,toLowerCase,concat
substring:截取字符串
toUpperCase:字母变大写
toLowerCase:字母变小写
concat:字符串连接
可以采用链式编程
示例:
public class test {
public static void main(String[] args) {
String s = "asdaFDJSLasdf";
String s2 = s.substring(0,1).toUpperCase().concat(s.substring(1).toLowerCase());
System.out.println(s2);
}
}
输出:
6.indexOf
作用:返回子字符串在主字符串中第一次出现的索引
示例:查找小字符串在大字符串中出现的次数
代码:
public class test {
public static void main(String[] args) {
String s1 = "qweretetest,pipvobixcvtest,asdfjzchello";
String s2 = "test";
int count = 0;
int index = 0;
while ((index = s1.indexOf(s2)) != -1){
//截取出第一次出现后的所有字符串
s1 = s1.substring(index+s2.length());
System.out.println(s1);
count++;
}
System.out.println(count);
}
}
不懂的小伙伴可以自行Debug一下就知道程序怎么运行的了。
输出:
7.Arrays使用
toString:数组转字符串
sort:数组排序
binarySearch:二分查找,返回目标值的索引
示例:
public class Demo22_arrays {
public static void main(String[] args){
int[] arr = {33,11,55,66,22,44,88};
System.out.println(Arrays.toString(arr)); //数组转字符串
Arrays.sort(arr); //排序
System.out.println(Arrays.toString(arr));
int[] arr2 = {1,2,3,4,5};
System.out.println(Arrays.binarySearch(arr2,2)); //查找字符串
}
}
输出: