字符串

字符串

案例一:用构造器,数组,字节数组,和直接创建的方式创建字符串

package com.company.String类;

import java.sql.SQLOutput;

public class demo1 {
    public static void main(String[] args) {
        //使用空参构造
        String str1=new String();
        System.out.println("第一个字符串"+str1);

        //根据字符串数组创建字符串
        char[] charArray=new char[]{'A','B','C'};
        String str2=new String(charArray);
        System.out.println(str2);

        //根据字节数组创建字符串
        byte[] byteArray=new byte[]{97,98,99};
        String str3=new String(byteArray);
        System.out.println(str3);

        //直接创建
        String str4="你好我是直接创建的字符串";
        System.out.println(str4);
    }
}

运行结果
案例二:字符串比较大小
字符串常量池:程序中直接写上的双引号字符串,就在字符串常量池中;
所以第一个比较相等
对于引用类型比较的是字符串的地址,对于基本类型比较的是值大小
使用equals()方法比较引用类型,比较的是内容大小

package com.company.String类;

public class demo2 {
    public static void main(String[] args) {
        String str1="abc";
        String str2="abc";
        char[] charArray=new char[]{'a','b','c'};
        String str3=new String(charArray);
        System.out.println(str1==str2);
        System.out.println(str1==str3);
        System.out.println(str2==str3);
        System.out.println(str1.equals(str3));
    }
}

运行结果

案例三:字符串长度,拼接,获取索引位置单个字符,查找字符串在本来字符串中第一次出现的索引位置

package com.company.String类;

public class demo3 {
    public static void main(String[] args) {
        String str="abcdefghijklmn1234567";
        System.out.println(str.length());
        String str2="hello";
        String str3="world";
        String str4=str2.concat(str3);
        System.out.println(str4);
        char ch="angxas21".charAt(3);
        System.out.println(ch);
        String orgin_str="dbfasiuf ";
        int index=orgin_str.indexOf("as");
        System.out.println(index);
    }
}

运行结果
案例四:字符串截取
public string substring(int index);从参数到末尾,获取一个新的字符串
public string substring (int begin,int end) 从begin开始,到end结束获取新的字符串,bengin可取,end不可取

package com.company.String类;

public class demo4 {
    public static void main(String[] args) {
        String str="dcbaskcdfbhkwse2334";
        String str2=str.substring(5);
        String str3=str.substring(5,10);
        System.out.println(str3);
        System.out.println(str);
        System.out.println(str2);

    }
}

运行结果
案例五:字符串转换为字符数组,字节数组,内容替换

package com.company.String类;

import com.sun.xml.internal.bind.v2.runtime.output.StAXExStreamWriterOutput;

import java.nio.charset.StandardCharsets;

public class demo5 {
    public static void main(String[] args) {
        String str="chbiasudcha2312";
        char[] chars = str.toCharArray();
        System.out.println(chars[2]);
        System.out.println(chars[3]);

        byte[] bytes_array = str.getBytes(StandardCharsets.UTF_8);
        for(int i=0;i<=bytes_array.length-1;i++){
            System.out.print(bytes_array[i]+" ");
        }

        String replace = str.replace('a', '*');
        System.out.println();
        System.out.println(replace);
        System.out.println(str);

    }
}

运行结果

案例六:字符串切割

package com.company.String类;

public class demo6 {
    public static void main(String[] args) {
        String str="dcb,shcias,cbasc";
        String[] strArray = str.split(String.valueOf(','));
        for(int i=0;i<=strArray.length-1;i++){
            System.out.println(strArray[i]);
        }
        String str2="scbas scjoias ajscioas";
        String[] newArrray = str2.split(" ");
        for(int i=0;i<=newArrray.length-1;i++){
            System.out.println(newArrray[i]);
        }
        System.out.println("===============");
        String str3="asc.cas.cgaus.ca";
        String[] split = str3.split("\\.");
        String[] split1 = str3.split(String.valueOf('.'));
        for(int i=0;i<=split.length-1;i++){
            System.out.println(split[i]);
        }
        
    }
}

运行结果
案例七:统计字符串中大写字母,小写字母,数字,字符出现次数

package com.company.String类;

import java.util.Scanner;

public class demo7 {
    public static void main(String[] args) {
        //统计一组字符串中数字,大写字母,小写字母,其他字符出现字数
        int numCount=0;
        int upperCount=0;
        int lowerCount=0;
        int others=0;
        System.out.println("请输入一组字符串");
        Scanner scanner=new Scanner(System.in);
        String scanStr=scanner.next();
        char[] chars = scanStr.toCharArray();
        for(int i=0;i<=chars.length-1;i++){
            if('0'<=chars[i] && chars[i]<='9'){
                numCount++;
            }
            else if ('A' <= chars[i] && chars[i] <= 'Z') {
                upperCount++;

            }
            else if('a'<=chars[i] && 'z'>=chars[i]){
                lowerCount++;
            }
            else{
                others++;
            }
        }
        System.out.println("数字一共有"+numCount);
        System.out.println("大写字母"+upperCount);
        System.out.println("小写字母"+lowerCount);
        System.out.println("其他"+others);
    }
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值