String相关的常用方法

String当中与获取相关的常用方法

String当中与获取相关的常用方法有:
public int length():获取字符串中有多少字符个数,拿到字符串长度。
public String concat (String str):将当前字符串和参数字符串拼接成为返回值新的字符串。
public char charAt(int index);获取指定索引位置的单个字符(索引从0开始)
public int indexOf(String str):查找参数字符串再本字符串当中首次出现的索引位置,如果没有返回-1

public class demo02String {
    public static void main(String[] args) {
        int length="asdfghjkl".length();
        System.out.println("length字符串长度是"+length);

        String stu1="hello";
        String stu2="world";
        String stu3=stu1.concat(stu2);
        System.out.println(stu1);
        System.out.println(stu2);
        System.out.println(stu3);

        String stu4="asdfghjkl";
        char cha=stu4.charAt(4);
        System.out.println("第四好字符是"+cha);
        System.out.println("=============");
        int index=stu1.indexOf("llo");
        System.out.println("llo的索引位置是在"+index);
        int index2=stu1.indexOf("qq");//如果字符串中没有显示为-1
        System.out.println("qq索引的位置是在"+index2);
    }
}

字符串的截取方法:
public String subString (int index);截取从参数位置到字符串末尾返回新的字符串。
public String substring(int begin,int end):截取从begin开始一直到end结束中间的字符串。
备注:[begin,end),包括左边不包括右边。

public class demo02subString {
    public static void main(String[] args) {
        String str1="helloworld";
        String str2=str1.substring(5);
        System.out.println(str2);
        System.out.println("============");
        String str3=str1.substring(4,7);
        System.out.println(str3);
        System.out.println("===========");
        //下面这种写法字符串没有改变改变的是地址
        String str4="hello";
        System.out.println("str4");
        str4="world";
        System.out.println(str4);
    }
}

String当中与转换相关的常用方法有
publiv char[] toCharArray():将当前字符串拆分成为字符数组作为返回值。
public byte[] getByte():获得当前字符串底层的字节数组。
publicString replance(CharSequence oldString,CharSquence newString):
将所有出现的老字符串替换成新的字符串,返回替换之后的结果为新字符串。
备注:CharSequence意思事说可以接受字符串类型

```java````
public class demo04Stringconvert {
public static void main(String[] args) {
String str = “hello”;
char[] cha = str.toCharArray();//将字符串转化成数组
System.out.println(cha[3]);
System.out.println(cha.length);//数组长度不需要length后面不需要加[]

    System.out.println("===========");
    byte[] by = str.getBytes();//将字符串转化成字节数组
    for (int i = 0; i < by.length; i++) {
        System.out.println(by[i]);
    }
    System.out.println("===============");
    String stu1="how do you do";
    String stu2=stu1.replace("o","*");//将字符串内容替换
    System.out.println(stu2);
    System.out.println("=================");

    String stu3="会不会玩呀,你大爷的!!!!你大爷的!!你大爷的!";
    String stu4=stu3.replace("你大爷的","****");
    System.out.println(stu4);

}

}

``
分割字符串的方法:
publicString[] split(String regex);按照参数的规则,将字符串切分成为若干份。
注意事项:split方法的参数其实是一个”正则表达式“
如果要按照英文句点”.“进行切分必须写\.(两个反斜杠)

public class demo05StringSplit {
    public static void main(String[] args) {
        String stu="aaa,bbb,ccc";
        String[] stu1=stu.split(",");//规则不一定用逗号,还可以用其他比如空格等
        for (int i = 0; i < stu1.length; i++) {
            System.out.println(stu1[i]);

        }
        System.out.println("==========");
        String stu2="aaa bbb ccc";
        String[] stu3=stu2.split(" ");
        for (int i = 0; i < stu3.length; i++) {
            System.out.println(stu3[i]);

        }
        String stu5="XXX.YYYY.ZZZZ";//英文句点切不出来
        System.out.println(stu5.length());//得出长度为0,想要切成功必须写\\.才行
        String[] stu6=stu5.split(".");
        for (int i = 0; i < stu6.length; i++) {
            System.out.println(stu6[i]);
        }
    }
}

练习题目:
定义一个方法吧数组{1,2,3}按照指定格式拼接成一个字符串,参照格式如下[word1#word2#word3]
分析:1.首先准备一个int[]数组,内容是1,2,3
2.定义一个方法,用来将数组变成字符串
三要素
返回值类型:String
方法名称fromArrayToString
参数,列表:int[]
3.格式:[word1#word2#word3]
用到:for循环,字符串拼接,每个数组元素之间都有word字样,分隔使用的是#,区分是不是最后一个
4.调用方法,得到返回值,并且打印结果

public class emo06StringPractice {
    public static void main(String[] args) {
        int[] array={1,2,3};
        String reslut=formArrayToString(array);
        System.out.println(reslut);
    }
    public static String formArrayToString(int[] array){
        String str="[";
        for (int i = 0; i < array.length; i++) {
            if(i==array.length-1){
                str+="word"+array[i]+"]";
            }else{
                str+="word"+array[i]+"#";
            }
        }
        return str;

    }

}

题目:键盘输入一个字符串并且统计其中各种字符出现的次数。
种类有:大写字母,小写字母,数字,其他
思路:1.既然用到键盘输入那么我们肯定用Scanner
2.键盘输入的字符串,那么肯定用String str=sc.next();接收
3.定义四个变量,分别代表四种字符各自的出现次数。
4.需要对字符串一个字一个字的检查,String–》char[],方法就是toCharArray()
5.遍历char[]字符数组,对当前字符的种类进行判断,并且用四个变量进行++动作。
6.打印输出四个变量,分别代表四种字符出现的次数。

import java.util.Scanner;

public class demo07Stringpractice {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        System.out.println("请输入字符串");

        char[] Array=str.toCharArray();
        int conutUpper=0;
        int conutLower=0;
        int conutNumber=0;
        int conutOther=0;
        char[] ch=str.toCharArray();
        for(int i=0;i <ch.length;i++){
            char ch1=ch[i];
            if ('a'<=ch1&&ch1<'z'){
                conutLower++;
            }else if('A'<=ch1&&ch1<'Z'){
                conutUpper++;
            }else if('0'<=ch1&&ch1<='9'){
                conutNumber++;
            }else{
                conutOther++;
            }
        }
        System.out.println("大写字母有"+conutUpper+"个");
        System.out.println("小写字母有"+conutLower+"个");
        System.out.println("数字有"+conutNumber+"个");
        System.out.println("其他符号有" + conutOther + "个");
    }
}

静态代码块

静态代码块的格式是:
publicclass类名称{
static{
代码块的内容
}
}
特点:当第一次用到本类是,静态代码块执行唯一一次(唯一一次是当首次访问本类时开始执行,当第二次访问时不在执行)
构造方法只要创建对象时就会开始执行,但是静态内容总是优先于非静态,所以静态代码块比构造方法先执行。
静态代码块用途:一次性的对静态成员变量赋值

public class person {
    static{
        System.out.println("静态代码块执行");
    }
    public person() {
        System.out.println("构造方法执行");
    }
}
public class demo04static {
    public static void main(String[] args) {
        person one=new person();//静态代码块执行 构造方法执行
        System.out.println("=================");
        person two=new person();
        person three=new person();//静态代码块执行 构造方法执行 构造方法执行
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值