关于String的基础
`import java.util.*;
public class Demo11{
public static void main(String[] args){
String s1 = "hello";
String s2 = "hELLO".toLowerCase();
String s3 = "hELLO";
//System.out.println(s1 == s2);
//System.out.println(s1.equals(s2));
//System.out.println(s1.equalsIgnoreCase(s3));
//是否包含子串
//System.out.println(s1.contains("el"));
//System.out.println(s1.indexOf("e"));
//System.out.println("scanner".lastIndexOf("n"));
//System.out.println("scanner".startsWith("sc"));
//System.out.println("scanner".endsWith("ner"));
//打印nner (从索引3字符开始打印后面全面字符串)
//System.out.println("scanner".substring(3));
//打印an (不包括后面索引所指的字符)
//System.out.println("scanner".substring(2,4));
//System.out.println("scanner c".trim());
//System.out.println("\tscanner c".trim());
//System.out.println("\tscanner c\r\n".trim());
//System.out.println("".isEmpty()); //true 判断字符串是否为空字符串,也就是长度为0
//System.out.println(" ".isEmpty());
//false 空白字符串,长度不为0
//System.out.println(" ".length()); //长度为1
//System.out.println(" ".length()); //长度为2
//System.out.println("\t".length()); //长度为1
//System.out.println(" do g ".length()); //长度为6
//使用replace() 替换子串
//System.out.println("hello".replace("l","t"));
//使用String.join() 拼接字符串
String[] arr = {"A","B","c"};
String s = String.join("***",arr);
//System.out.println(s); // A***B***c
//使用String.format() 格式化字符串 可以传入其他参数,替换占位符
//System.out.println(String.format("Hi %s,your score is %d!","Tom",80));
//System.out.println(String.format("Hi %s,your score is %.2f!","汪",99.99));
//主要的占位符
//%s:可以任何类型占位,主要是字符串
//%d:整数占位
//%x:十六进制占位
//%f:浮点数占位
//%.2f:两位小数的占位
//类型转换
//把任意类型转换或者引用类型转换为字符串 使用String.valueOf(xx);
//System.out.println(String.valueOf(123)); //123
//System.out.println(String.valueOf(true));//true
//System.out.println(String.valueOf(new Object())); //java.lang.Object@2a139a55
//System.out.println(String.valueOf(new String[]{"ab","cd"}));
//复习数组
String[] arr1 = new String[]{"ab","cd"};
String[] arr2 = {"AB","CD"};
//System.out.println(arr1[0]);
//System.out.println(arr2[1]);
//把字符串转换为其他类型
//System.out.println(Integer.parseInt("666")); //666
//System.out.println(Integer.parseInt("ff",16)); // 255 按十六进制转换
//System.out.println(Double.parseDouble("99 ")); //99.0
//System.out.println(Boolean.parseBoolean("true"));
// String 与 char[] 的相互转换
//String ==> char[]
char[] sTOc = "hello".toCharArray();
//System.out.println(sTOc[1]); // e
//char[] ==> String
String cTOs = new String(sTOc);
//System.out.println(cTOs);
//如果修改字符数组的元素,String并不会改变
//因为通过new String(char[])创建的String实例时,它并不是直接引用传入的char[]数组,而是会复制一份,所以修改外部char[]数组不会影响String实例内部的char[]数组,因为这是两个不同的数组
//System.out.println(cTOs);
sTOc[1] = 't';
//System.out.println(cTOs);
//从上面也说明了String的不变形设计,如果传入的对象有可能改变,我们需要复制而不是直接引用
int[] ns = { 1, 1, 2, 3, 5, 8 };
//System.out.println(Arrays.toString(ns));
int[] arr3 = {1,2,3,3,5};
//System.out.println(Arrays.toString(arr3));
//反向打印数组元素
for(int i=ns.length-1;i>=0;i--){
System.out.print(ns[i]+",");
}
}
}
`