字符串

  1 public class DemoClass4String {
  2    public static void main(String[] args) throws Exception {
  3       //TODO 字符串有字符组成,字符有三个字节组成,(ascii除外)
  4       //java.lang.String
  5 
  6       /*
  7       * 1.字符串 字符 字节
  8       * */
  9       char[] ch = {'中', '国'};
 10       String str = new String(ch);
 11       System.out.println(str); //中国
 12 
 13       byte[] by = { -28,-72,-83,-27,-101,-67 };
 14       String str2 = new String(by, "UTF-8");  //中国
 15       System.out.println(str2);
 16 
 17       /*
 18       * 2.转移字符
 19       * */
 20       String str3 = "\"";
 21       System.out.println(str3);
 22       // \' \n(换行符) \t(制表符tab) \\
 23       System.out.println("\'");  // '
 24       System.out.println("a\nb"); //a
 25                                   //b
 26       System.out.println("a\tb"); //a  b
 27       System.out.println("a\\b"); //a\b
 28 
 29       /*
 30       * 3.拼接
 31       * */
 32       String str4 = "a" + "b";
 33       String str5 = "ab";
 34       System.out.println(str4.hashCode()); //3105
 35       System.out.println(str5.hashCode());  //3105
 36 
 37       String str6 = "a"+ 1;
 38       String str7 = 1+ "a";
 39       System.out.println(str6); //也是字符串:a1
 40       System.out.println(str7); //也是字符串:1a
 41 
 42       String str8 =1 + 2 + "a";
 43       System.out.println(str8); //3a 而不是:12a
 44 
 45       //concat() 实现拼接
 46       String str9 = "a";
 47       System.out.println(str9.concat("1234")); //a1234
 48 
 49       /*
 50       *4. 比较,两个字符串里的字符相等就是相等,区分大小写的
 51       * */
 52       String str10 = "a";
 53       String str11 = "b";
 54       String str12 = "A";
 55       System.out.println(str10.equals(str11)); //false
 56       System.out.println(str10.equals(str12)); //false ascii a A 是不同的
 57       System.out.println(str10.equalsIgnoreCase(str12)); //true 忽略大小写
 58 
 59       /*
 60       * i = 正数 str10 > str12
 61       * i = 负数 str10 < str12
 62       * i =  0   str10 = str12
 63       * */
 64       int i = str10.compareTo(str12);
 65       System.out.println(i); //32 为什么是32?
 66       System.out.println((byte)'a'); // 97
 67       System.out.println((byte)'A'); // 65
 68 
 69       //忽略大小写的比较
 70       int i1 = str10.compareToIgnoreCase(str12);
 71       System.out.println(i1); // 0
 72 
 73       /*
 74       * 5. 截断
 75       * */
 76       String str13 = "FrankWangSky";
 77       System.out.println(str13.substring(0, 5)); //Frank  0:开始index(含),5:结束index(不含)
 78       System.out.println(str13.substring(0, "Frank".length())); //Frank
 79       System.out.println(str13.substring(5)); //WangSky
 80 
 81       //split() 分解方法
 82       String[] wangs = str13.split("Wang");
 83       for (String wang : wangs) {
 84          System.out.println(wang);
 85       }
 86 
 87       //trim() 去掉字符串首尾空格
 88       String str14 = "  Frank Wang ";
 89       System.out.println("!"+ str14.trim()+ "!"); //!Frank Wang! 前后空格没有了
 90 
 91       /*
 92       *6. 替换
 93       * */
 94       //replace 纯粹的替换
 95       String str15 = "FrankWang Frank";
 96       System.out.println(str15.replace("Frank", "Tom"));
 97 
 98       //replaceAll 根据规则替换,多个不同字符替换为同一个,不同字符用|分割
 99       String str16 = "FrankWang EmmaJIa";
100       System.out.println(str16.replaceAll("Frank|Emma", "Tom"));
101 
102       /*
103       *7. 转换大小写
104       * */
105       String str17 = "FrankWang";
106       System.out.println(str17.toLowerCase());
107       System.out.println(str17.toUpperCase());
108 
109       /*
110       * 8.查询 toCharArray  getBytes charAt indexOf lastIndexOf
111       *        startsWith endsWith isEmpty
112       * */
113       String str18 = "中国";
114       char[] charArray = str18.toCharArray();
115       for (char c : charArray) {
116          System.out.print(c+" ");
117       }
118       //上面结果:中 国
119 
120       byte[] bytes = str18.getBytes();
121       for (byte b : bytes) {
122          System.out.print(b+" ");
123       }
124       //上面结果:-28 -72 -83 -27 -101 -67
125 
126       System.out.println();
127       //查询指定索引的字符
128       System.out.println(str18.charAt(0));
129 
130       String str19 = "Frank Wang Frank";
131       System.out.println(str19.indexOf("Frank")); //0 字符开始的下标
132       System.out.println(str19.lastIndexOf("Frank")); //11 字符开始的下标
133 
134       System.out.println(str19.startsWith("F")); //true
135       System.out.println(str19.endsWith("Frank")); //true
136 
137       String str20 = " ";
138       System.out.println(str20.isEmpty()); //false 空字符串,不是空,尽管页面不显示
139 
140       /*
141       *9. StringBuilder
142       * */
143       StringBuilder sb = new StringBuilder();
144       sb.append("abcdef");
145       System.out.println(sb.toString());
146       System.out.println(sb.reverse().toString());
147       System.out.println(sb.insert(1, "A"));
148 
149    }
150 }

 

posted @ 2025-10-14 18:01  字节虫  阅读(8)  评论(0)    收藏  举报