字符串是程序类最常用的变量,字符串使用String作为类型描述

public static void main(String[] args) {        String zfc = "我是一个中文字符串";        System.out.println(zfc);    }




android string 占位符 java string 占位符_java string 占位符


其实字符串的核心是一个基本类型里的char[]数字,我们通过点击String查看源码可以发现。


android string 占位符 java string 占位符_android string 占位符_02


所以我们也可以获得字符串长度

public static void main(String[] args) {        String zfc = "我是一个中文字符串";        System.out.println(zfc);        System.out.println(zfc.length());    }


android string 占位符 java string 占位符_java string 占位符_03


通过上面的源代码我们发现字符串的核心就是char数组,所以我们就可以对字符串做很多操作,我们先拿常用的举例子:

public static void main(String[] args) {        String zfc = "abcdefg";        //判断是否以某字符串开头        if(zfc.startsWith("abc")){            System.out.println("zfc以abc开头");        }        //判断是否以某字符串开头        if(zfc.startsWith("cde",2)){            System.out.println("zfc偏移2个字符以cde开头");        }        //判断是否以某字符串结尾        if(zfc.endsWith("efg")){            System.out.println("zfc以efg结尾");        }        //判断字符串是否是指定字符串,建议使用Strings工具栏里的方法        if("abcdefg".equals(zfc)){            System.out.println("zfc是abcdefg");        }        //获得字符串的二进制数组        System.out.println(zfc.getBytes());        //判断字符串是否包含子字符串        if(zfc.contains("abc")){            System.out.println("zfc里面包含子字符串abc");        }        //判断是否包含序列里的字符串        StringBuilder sb = new StringBuilder("abc");        if(zfc.contentEquals(sb)){            System.out.println("zfc里包含sb里面的子字符串");        }        //通过正则表达式匹配字符        if (zfc.matches("abc.*")){            System.out.println("正则匹配到了abc");        }        //分割字符串        String[] array = zfc.split("");        List list = Arrays.asList(array);        list.stream().forEach(e->{            System.out.println("数组元素"+e);        });        //字符串连接,也可以使用+号表示        System.out.println(zfc.concat("hijklmn"));        //查看子字符串子在字符串首次出现的位置,如果未找到返回-1        System.out.println(zfc.indexOf("c"));        //字符串替换        System.out.println(zfc.replace("abc","xyz"));        //截取字符串        System.out.println(zfc.substring(2));    }


android string 占位符 java string 占位符_java 字符串 占位符替换_04


字符串连接

由于字符串是char数组形式,所以我们不建议使用concat和"+"这种形式,使用StringBuffer和StringBuilder是一个比较好的方式

public static void main(String[] args) {        String zfc = "abc";        //StringBuffer是线程安全的,StringBuilder是线程不安全的        //StringBuilder由于不加锁理论上速度要比StringBuffer快        StringBuilder sb1 = new StringBuilder(zfc);        sb1.append("def");        System.out.println(sb1.toString());        StringBuffer sb2 = new StringBuffer();        sb2.append(zfc);        sb2.append("def");        System.out.println(sb2.toString());    }


android string 占位符 java string 占位符_list是否包含字符串_05


字符串格式化

public static void main(String[] args) {        //%d是整数        //%f是浮点数        //%s是字符串        //%n是换行        //%05d 0代表用0补全,5代表是使用5个占位符        String zfc = String.format("整数格式化:%d,浮点数格式化:%f,使用占位符的浮点数格式化:%05d,字符串格式化:%s",1,1.2,3,"hello world");        System.out.println(zfc);        //System.out.printf 主要用户控制台输出        System.out.printf("整数格式化:%d,浮点数格式化:%f,使用占位符的浮点数格式化:%05d,字符串格式化:%s%n",1,1.2,3,"hello world");    }


android string 占位符 java string 占位符_java 字符串 占位符替换_06