关于String类常用功能:
public class ll {
public static void main(String[] args) {
String a=" cffACvDarwerABCDa ";
String b="ABCDa";
System.out.println(a.equalsIgnoreCase(b));//忽略大小写比较两个字符串,返回boolean类型;
System.out.println(a.indexOf(b));//查找a中是否包含b这个子字符串,没有返回-1,有的话返回第一个字符所在的位置下标
System.out.println(a.replace("ACv","Mv"));//把A换成M,然后返回一个新的字符串;
System.out.println(b.startsWith("A"));//是否以“A”这个字符串开头,返回boolean类型
System.out.println(a.endsWith("Da"));//是否以“Da”结尾;
System.out.println(a.substring(2));//从下标为2开始返回新的字符串
System.out.println(a.substring(2,4));//从下标为2开始到4结束不包含4这个下标
System.out.println(a.toLowerCase());//全部转换成小写返回新的字符串。
System.out.println(a.toUpperCase());//全部转换成大写返回新的字符串
System.out.println(a.length());
System.out.println(a.trim().length());//trim去掉首位所有空格,返回一个新的字符串
}
}
arraycopy:
首先它在System类中
package acm;
import java.util.Arrays;
import java.util.Scanner;
public class program
{
public static void main(String[] args) {
int arr[]=new int[10];
Scanner p=new Scanner(System.in);
for (int i = 0; i <10 ; i++) {
arr[i]=p.nextInt();
}
int a[]=new int [10];
System.arraycopy(arr,1,a,2,3);//arr是原始数组,从数组arr为1的下标开始以后的3
//个数拷贝到数组a中以下标2开始的连续的空间中。
for (int ad :a)
{
System.out.println(ad);
}
}
}
arrays工具类:
package acm;
import java.util.Arrays;
import java.util.Scanner;
public class program
{
public static void main(String[] args) {
int arr[]=new int[10];
Scanner p=new Scanner(System.in);
for (int i = 0; i <10 ; i++) {
arr[i]=p.nextInt();
}
System.out.println(Arrays.toString(arr));//这里的toString和object继承来的不是一回事
Arrays.sort(arr);//冒泡排序
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.binarySearch(arr,12));//二分查找返回索引下标,否则返回-1。
}
}
二分查找:
package acm;
import java.util.Arrays;
import java.util.Scanner;
public class program {
public static void main(String[] args) {
int arr[] = new int[]{2,3,4,5,1,9,7,8,0};
Arrays.sort(arr);
for (int n:arr)
{
System.out.println(n);
}
int low=0;
int high=arr.length-1;
int flag=8;
int q=0;
int t=0;
while(low<=high)
{
t=(low+high)/2;
if(arr[t]==flag)
{
q=1;
break;
}
else if(arr[t]>flag)
{
high=t;
}
else if(arr[t]<flag)
{
low=t;
}
}
if(q==1)
{
System.out.println(t);
}
else
System.out.println(-1);
}
}