//equalsIgnoreCase 忽略大小写的内容比较
String str4 = "helloWorld"; String str5 = "HELLOworld"; System.out.println("str4与str5的比较(equals):" + str4.equals(str5)); System.out.println("str4与str5的比较(equalsIgnoreCase):" + str4.equalsIgnoreCase(str5));结果 str4与str5的比较(equals):false str4与str5的比较(equalsIgnoreCase):true-------------------------------
//int compareTo(String value)
/* * 按字典顺序比较两个字符串。 (每个字符进行比较,如果第一个相等了,那就比第二...) 如果两个字符串相等,则返回 0; 如果字符串在参数值之前,则返回值小于 0; 如果字符串在参数值之后,则返回值大于 0 "A" 比 "a" 小 */ String str6 = "A"; String str7 = "a"; System.out.println("str6与str7的比较(compareTo):" + str6.compareTo(str7)); //int compareToIgnoreCase(String val) //忽略大小写的比较 System.out.println("str6与str7的比较(compareToIgnoreCase):" + str6.compareToIgnoreCase(str7)); 结果 str6与str7的比较(compareTo):-32 str6与str7的比较(compareToIgnoreCase):0-----------------------------------
startWith((String prefix))测试此字符串是否以指定的前缀开始 String str8 = "hel1loworld"; System.out.println("str8是否是startWith():" + str8.startsWith("hello")); endWith(String prefix)测试此字符串是否以指定的后缀结束。 System.out.println("str8是否是endsWith():" + str8.endsWith("world"));结果 str8是否是startWith():false
str8是否是endsWith():true-------------------------------------String str9 = "21510";
// 返回指定子字符在此字符串中第一次出现处的下标索引。 System.out.println("str9的indexOf():" + str9.indexOf('1'));结果 str9的indexOf():1-------------------------------------
String str10 = "hello Worlld";
//返回的是第一次出现子字符的下标索引,如果未出现该字符,则返回 -1。 System.out.println("str10的indexOf():" + str10.indexOf("ll"));结果 str10的indexOf():2
------------------------------------
//public int lastIndexOf(int ch)
//public int lastIndexOf(String str) 如果未出现该字符,则返回 -1。 System.out.println("str9的lastIndexOf():" + str9.lastIndexOf('1')); System.out.println("str10的lastIndexOf():" + str10.lastIndexOf("ll"));结果 str9的lastIndexOf():3
str10的lastIndexOf():9-----------------------------------
//返回指定索引处的 char 值。String str11 = "1510";
System.out.println("str11的charAt():" + str11.charAt(3)); 结果 str11的charAt():0----------------------------------
//修改
//public String substring(int index) String str12 = "abcdefgh"; //从index 这个位置开始截取,到字符串末尾,返回的新的子字符串 System.out.println("str12的substring():" + str12.substring(3));结果 str12的substring():defgh
---------------------------------//public String substring(int beginIndex, int endIndex)
//参数是开始截取的位置,参数是末尾截取的位置,注意,不包括参数2下标 System.out.println("str12substring()" + str12.substring(3,5))结果 str12substring()de
--------------------------------- //将指定字符串连接到此字符串的结尾。 //public String concat(String str) 等价于 + System.out.println("str12的concat(str11):" + str12.concat(str11));---------------------------------
//public String replace(char oldChar, char newChar) String str13 = "01234567890123"; //重复的全部进行替换 System.out.println("str13的replace():" + str13.replace('0','1')); System.out.println("str13的replace():" + str13.replace("012", "120")); System.out.println("str13的replace():" + str13.replaceAll("012", "120")); 结果 str13的replace():11234567891123 str13的replace():12034567891203 str13的replace():12034567891203----------------------------------//public String trim()
String str17 = " 223qewe qweqw "; System.out.println("str17的trim():" + "-->"+str17+"<---"); //对字符串前后进行 空格 制表符 回车进行截取 System.out.println("str17的trim():" + "-->"+str17.trim()+"<---");结果 str17的trim():--> 223qewe qweqw <---
str17的trim():-->223qewe qweqw<-------------------------------------// 使用默认语言环境的规则将此 String 中的所有字符都转换为大写
//public String toUpperCase(); String str18 = "abcdefghti"; System.out.println("str18的toUpperCase():" + str18.toUpperCase()); //public String toLowerCase(); //使用默认语言环境的规则将此 String 中的所有字符都转换为小写 String str19 = "ABCDEFGHTI"; System.out.println("str19的toUpperCase():" + str19.toLowerCase()); 结果 str18的toUpperCase():ABCDEFGHTI str19的toUpperCase():abcdefghti---------------------------------使用频率高的//spit
//根据指定字符进行截取字符串称为新的字符串数组 String str20 = "1,2, 3, 4, 5,6"; String[] strs = str20.split(","); for(String st : strs){ System.out.println(st); } 结果 12 3 4 56--------------------------------------------------------------
StringBuffer 类
StringBuffer --> 字符串缓冲区(序列满了 重新改变缓冲区大小)
/*
* 线程安全的可变字符序列。我是一个String,可以变的字符串 * StringBuffer * * StringBuilder * 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。 * 该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候 * (这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中, * 它比 StringBuffer 要快。 * * 实际运用中: * 如果你的程序不涉及线程安全,建议 StringBuilder */public class StringBufferDemo { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); StringBuilder sb2 = new StringBuilder(); String str1 = "123"; String str2 = "456"; String str3 = str1 + str2; //方法链 sb.append(str1).append(str2); sb2.append(str1).append(str2); //StringBuffer insert(int offset, String str)sb.insert(2, "x"); //在指定的下中查某个字符串
System.out.println(sb.toString()); //void setCharAt(int pos, char ch) sb.setCharAt(1, 'a'); //替换指定下标的字符 System.out.println(sb.toString()); //StringBuffer reverse() StringBuffer sBuffer = new StringBuffer("0123456789"); //System.out.println(sBuffer.reverse()); //StringBuffer delete(int start, int end)//sBuffer.deleteCharAt(0); //删除指定下标的字符
System.out.println(sBuffer.toString()); sBuffer.delete(4, 7); //删除开始到结束下标的zi字符串,不包结束下标 System.out.println(sBuffer.toString()); //StringBuffer replace(int start, int end, String s) //替换指定开始到结束下标的字符串,如果给定结束下标超过字符长度, sBuffer.replace(3, 100, "abcde"); System.out.println(sBuffer.toString()); }}结果
12x34561ax345601234567890123789012abcde-------------------------------------------------------------可变参数
//这种新式叫可变参数
public static void method(int...nums){ for(int i : nums){ System.out.println(i); } System.out.println(nums); //数组, int 类型 }----------
//多个参数时, 可变参数一定要放在最后声明 /*public static void method(int...nums, String aa){ for(int i : nums){ System.out.println(i); } System.out.println(nums); //数组, int 类型 }*/-------------------------------------------------------------Math 类 /* Math.ceil(); 返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。 Math.floor(a); 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数 Math.round(a) 返回最接近参数的 long。//四舍五入 */---------------------------------------------------------------
基本数据类型 包装类
byte(字节) Byte
char(字符) Charactershort(短整型) Shortint(整型) Integerlong(长整型) Longfloat(浮点型) Floatdouble(双精度) Doubleboolean(布尔) Boolean ----------------------------------------------------------------自动装箱 拆箱
装箱 --》将基本数据类型包装为对应的包装类对象
拆箱 --》将包装类对象转换成对应的基本数据类型
//Integer 跟 int 有什么区别
//Integer 类 它有方法和属性,功能上Integer 比int更加强大 //Integer 是类,所以它比int 多了一个状态 null, 直接的运用在数据id/status上 Integer integer2 = 1; //装箱 int in = integer; //拆箱