专业编程基础技术教程

网站首页 > 基础教程 正文

零基础学习JAVA-05.字符串 零基础学java全集

ccvgpt 2024-11-08 10:58:51 基础教程 6 ℃

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

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


零基础学习JAVA-05.字符串 零基础学java全集


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



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

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



通过上面的源代码我们发现字符串的核心就是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<String> 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));
    }



字符串连接

由于字符串是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());
    }



字符串格式化

    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");
    }


Tags:

最近发表
标签列表