Java 基础 3.2(字符串)

package demo6;

public class Demo01 {

    public static void main(String[] args) {
       Demo01 de = new Demo01();
       de.index01();
        de.index02();
        de.index03();
        de.index04();

    }

    public void index01(){
        // Java文件名
        String fileName = "HelloWorld.java";
        // 邮箱
        String email = "laurenyang@imooc.com";

        // 判断.java文件名是否正确:合法的文件名应该以.java结尾
        /*
        参考步骤:
        1、获取文件名中最后一次出现"."号的位置
        2、根据"."号的位置,获取文件的后缀
        3、判断"."号位置及文件后缀名
        */
        //获取文件名中最后一次出现"."号的位置
        int index = fileName.indexOf('.');

        // 获取文件的后缀
        String prefix = fileName.substring(index+1);
        System.out.println(prefix);
        System.out.println(index != -1);
        System.out.println(prefix == "java");   //后边引号里的是个新的对象 所以不能和 prefix 等于
        // 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
        if ( (index != -1) && (prefix.equals("java"))) {
            System.out.println("Java文件名正确");
        } else {
            System.out.println("Java文件名无效");
        }

        // 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前
         /*
        参考步骤:
        1、获取文件名中"@"符号的位置
        2、获取邮箱中"."号的位置
        3、判断必须包含"@"符号,且"@"必须在"."之前
        */
        // 获取邮箱中"@"符号的位置
        int index2 = email.indexOf('@');

        // 获取邮箱中"."号的位置
        int index3 = email.indexOf('.');

        // 判断必须包含"@"符号,且"@"必须在"."之前
        if (index2 != -1 && index3 > index2) {
            System.out.println("邮箱格式正确");
        } else {
            System.out.println("邮箱格式无效");
        }

//        这里有个要注意的
        String v1 = "123456";
        String v2 = "123456";
        String v3 = new String("123456");
        String v4 = new String("123456");
        System.out.println(v1 == v2);
        System.out.println(v1 == v3);
        System.out.println(v4 == v3);
        System.out.println(v1 == "123456");
        System.out.println(v2 == "123456");
        System.out.println(v1.equals("23456"));

        /*
        int Length()                        返回当前字符串长度
        int indexOf(int ch)                 查找 ch 字符在该字符串第一次出现的位置
        int indexOf(String str)             查找 str 字符串第一次出现的位置
        int lastIndexOf(int ch)             查找 ch 最后一次出现的位置
        int lastIndexOf(String str)         查找 str 最后一次出现的位置
        String substring(int beginIndex)    获取 beginIndex 位置开始到结束的字符串
        String substring(int beginIndex, int endInIndex)    获取 从 beginIndex 到 endInIndex 位置的字符串
        string trim()                       去除字符串前后的空格
        boolean equals(Object obj)          比较指定字串 内容一样返回 true 否则是 false
        String toLowerCase()                讲字符串转换成大写
        String toUpperCase()                讲字符串转换成小写
        char charAt(int index)              获取字符串指定位置的字符
        String[] split(String regex,int limit)  将字符串分割为子字符串,返回字符串数组
        byte[] getBytes()                   将该字符串转换为 byte 数组
        */



    }

    public void index02(){
// 定义一个字符串
        String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

        // 出现次数
        int num = 0;
        /*
        第一种方式  数组
        byte[] a = s.getBytes();
        // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数

        for (int i=0;i<a.length;i++)
        {
            // 获取每个字符,判断是否是字符a
            if (a[i] == 'a') {
                // 累加统计次数
                num++;
            }
        }
        */

        /*
        第一种方式 字符串
        for (int i=0;i<s.length();i++)
        {
            // 获取每个字符,判断是否是字符a
            if (s.charAt(i) == 'a') {
                // 累加统计次数
                num++;
            }
        }
        */
        //简写
        for (byte a:s.getBytes())
        {
            // 获取每个字符,判断是否是字符a
            if (a == 'a') {
                // 累加统计次数
                num++;
            }
        }

        System.out.println("字符a出现的次数:" + num);

    }

    public void index03(){
        /*
        * StringBuilder 性能高一点 创建内容可写的字符串
         */
        StringBuilder builder1 = new StringBuilder("13456");
        StringBuilder builder2 = new StringBuilder("13456");
        builder1 = builder2;
        System.out.println(builder1 == builder2);
    }

    public void index04(){
        /*字符操作*/
        // 创建一个空的StringBuilder对象
        StringBuilder str  = new StringBuilder();

        // 追加字符串
        str.append("jaewkjldfxmopzdm");

        // 从后往前每隔三位插入逗号
        for(int i = str.length() -3 ;i > 0; i=i-3){
            str.insert(i,',');
        }

        // 将StringBuilder对象转换为String对象并输出
        System.out.print(str.toString());

    }


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JwCode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值