Java基础 - 字符串 String
字符串就是用字符拼接成的文本值,字符串在存储上类似数组,在java语言中把字符串当做对象进行处理
创建字符串
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 6 /* 7 * 引用字符串常量 8 * */ 9 String a = "时间就是金钱,我的朋友。"; 10 String b = "锄禾日当午"; 11 String str1, str2; 12 str1 = "We are students"; 13 str2 = "We are students"; 14 15 /* 16 * 利用构造方法实例化 17 * */ 18 String c = new String("我爱清汤小肥羊"); 19 String d = new String(c); 20 21 /* 22 * 利用字符串数组实例化 23 * */ 24 char[] charArray = {'t', 'i', 'm', 'e'}; 25 String e = new String(charArray); 26 27 28 /* 29 * 提取字符数组中的一部分创建字符串对象 30 * */ 31 char[] charArray2 = {'时', '间', '就', '是', '金', '钱'}; 32 String f = new String(charArray2, 3, 2); 33 System.out.println("f: " + f); 34 35 } 36 }
字符串对象方法
连接字符串
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 连接字符串 7 * */ 8 String a = "我叫李狗蛋"; 9 String b = "今年十九岁"; 10 String c = a + ',' + b; 11 String d = "我来做个自我介绍:"; 12 String f = d.concat(c); 13 14 d += c; 15 16 System.out.println("d = " + d); 17 System.out.println("f = " + f); 18 } 19 }
获取字符串长度
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 获取字符串长度 7 * */ 8 String num = "12345 6789"; 9 System.out.println("num 的长度: " + num.length()); 10 } 11 }
获取字符串指定位置的字符
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 获取字符串指定位置的字符 7 * */ 8 String str = "床前明月光, 疑是地上霜"; 9 char chr = str.charAt(4); 10 System.out.println("字符串中索引位置为4的字符是:" + chr); // 字符串中索引位置为4的字符是:光 11 } 12 }
查找子字符串索引位置
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 查找子字符或字符串索引位置 7 * 如果存在则返回索引位置,否则返回-1 8 * */ 9 String str = "We are the world"; 10 int index1 = str.indexOf('e'); 11 int index2 = str.indexOf("e33"); 12 13 System.out.println("index1: " + index1); // size: 1 14 System.out.println("index2: " + index2); // size: -1 15 } 16 }
判断字符串首尾是否存在指定字符串
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 判断字符串首尾是否存在指定字符串 7 * 如果存在返回true,否则返回false 8 * */ 9 String str = "We are the world"; 10 11 if (str.startsWith("We")) { 12 System.out.println("We 在开头"); 13 } 14 15 if (str.endsWith("world")) { 16 System.out.println("world 在末尾"); 17 } 18 19 } 20 }
将字符串转换成字符数组
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 将字符串转换成字符数组 7 * 8 * */ 9 String str = "We are the world"; 10 11 char[] charArr = str.toCharArray(); 12 for (int i = 0; i < charArr.length; i ++) { 13 System.out.println("数组第" + i + "个元素为:" + charArr[i]); 14 } 15 16 } 17 }
判断子字符串是否存在
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 判断子字符串是否存在 7 * */ 8 9 String str = "今天的菜谱有:蒸羊羔,蒸熊掌,蒸鹿尾,烧花鸭,烧雏鸡,烧子鹅" + 10 "卤煮咸鸭,酱鸡,腊肉,松花小肚"; 11 12 System.out.println(str); // 今天的菜谱有:蒸羊羔,蒸熊掌,蒸鹿尾,烧花鸭,烧雏鸡,烧子鹅卤煮咸鸭,酱鸡,腊肉,松花小肚 13 14 boolean request1 = str.contains("腊肉"); 15 System.out.println("今天有腊肉吗?" + request1); // 今天有腊肉吗?true 16 17 boolean request2 = str.contains("汉堡"); 18 System.out.println("今天有汉堡吗?" + request2); // 今天有汉堡吗?false 19 } 20 }
截取字符串
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 截取字符串 7 * */ 8 9 // 截取身份号中的出生日期 10 String idNum = "123456198002157890"; 11 String year = idNum.substring(6, 10); 12 String month = idNum.substring(10, 12); 13 String day = idNum.substring(12, 14); 14 15 System.out.println("该身份证显示的出生日期为:"); // 该身份证显示的出生日期为: 16 System.out.println(year + "年" + month + "月" + day + "日"); // 1980年02月15日 17 18 } 19 }
字符串替换
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 字符串替换 7 * */ 8 9 // 替换字符串中的错别字 10 String str = "登录功能介绍:用户输入用户名和密码之后,单击'登陆'按钮即可完成登陆操作。"; 11 String restr = str.replace("陆", "录"); // 将字符串中所有的 '陆' 改为 '录' 12 System.out.println("【更改前】" + str); // 输出原字符串 13 System.out.println("【更改后】" + restr); // 输出更改后的字符串 14 15 } 16 }
字符串分割
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 字符串分割 7 * */ 8 9 // 将菜谱中的菜品报错在一个数组中 10 String str = "今天的菜谱有:蒸羊羔,蒸熊掌,蒸鹿尾,烧花鸭,烧雏鸡,烧子鹅" + 11 "卤煮咸鸭,酱鸡,腊肉,松花小肚"; 12 String[] denal = str.split(","); 13 14 for (int i = 0; i < denal.length; i++) { 15 System.out.println("索引" + i + "的元素:" + denal[i]); 16 } 17 18 } 19 }
大小写转换
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 大小写转换 7 * */ 8 9 // 输出字符串的大小写格式 10 String str = "abc DEF"; 11 12 System.out.println(str.toLowerCase()); // 按照小写格式输出 abc def 13 System.out.println(str.toUpperCase()); // 按照大写格式输出 ABC DEF 14 15 } 16 }
去除空白内容
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 去除空白内容 7 * */ 8 9 // 去掉字符串两边的空白内容 10 String str = " abc "; 11 12 String shortStr = str.trim(); 13 System.out.println("str的原值是: [" + str + "]"); 14 System.out.println("去掉首尾空白的值:" + shortStr); 15 16 } 17 }
比较字符串的内容是否相同
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 /* 6 * 比较字符串是否相等 7 * */ 8 9 // 比较字符串的内容是否相同 10 String str1 = "Hello"; 11 String str2 = new String("Hello"); 12 String str3 = new String("你好"); 13 String str4 = str2; 14 15 16 System.out.println("str1 == str2 的结果:" + (str1 == str2)); // false 17 System.out.println("str1 == str3 的结果:" + (str1 == str3)); // false 18 System.out.println("str1 == str4 的结果:" + (str1 == str4)); // false 19 System.out.println("str2 == str4 的结果:" + (str2 == str4)); // true 20 21 // equals 内容相等的时候为true 22 System.out.println("str1.equals(str2) 的结果:" + str1.equals(str2)); // true 23 System.out.println("str1.equals(str3) 的结果:" + str1.equals(str3)); // false 24 System.out.println("str1.equals(str4) 的结果:" + str1.equals(str4)); // true 25 26 } 27 }