java-10:常用api(1)

String对象

  字符串的特点:

  1:字符串的内容永不可变

  2:因为字符串内容不可变,所以字符串内容是可以共享的

  3:字符串效果上相当于char[]型字符数组,底层原理是byte[]型字符数组

字符串常量池:

  在程序当中直接经行赋值的字符串,就在常量池当中

  对于基本类型来说,==是进行数值比较

  对于引用类型来说,==是进行地址值比较

字符串的比较:

   //字符串之间的比较,
        String str1="Hello";
        String str2="Hello";
        char s[]={'H','e','l','l','o'};
        String str3=new String(s);

        System.out.println(str1.equals(str2));//ture
        System.out.println(str1.equals(str3));//ture
        System.out.println(str2.equals(str3));//ture
        System.out.println("Hello".equals(str3));//ture,推荐用法,不推荐str3.equals("Hello")
        System.out.println(str3.equals("hello"));//false,不忽略大小写

        String str4="JAVA";
        String str5="java";
        System.out.println(str4.equalsIgnoreCase(str5));//ture ,不区分大小写

字符串获取的常用方法:

//字符串获取的常用方法
        //public int length()   获取字符串的字符个数,返回字符串的长度
        //public String concat(String str)  拼接字符串,并返回新的字符串
        //public char charAt(index i)   获取指定索引位置的单个字符,返回字符
        //public int indexof(String str)    查找参数字符在本字符串中首次出现的位置,没有就返回-1
        String str1="hello world";
        String str2="JAVA";

        System.out.println("str1长度"+str1.length());
        String str3=str1.concat(str2);
        System.out.println(str3);
        System.out.println(str1.charAt(6));
        System.out.println("llo在字符串中首次出现的位置:"+str1.indexOf("llo"));

 字符串截取的常用方法:

    //字符串常用的截取方法
        //public String substring(int index)
        //public String substring(begin.end),注意:[begin end)
        String str1="Hello word!java";
        String str2=str1.substring(11);
        System.out.println(str2);

        String str3=str1.substring(6,10);
        System.out.println(str3);

        //字符串的内容是不会改变的,
        //strA原来存储的是"Hello"的地址值
        //后面变成了“JAVA”的地址值
        String strA="Hello";
        System.out.println(strA);//Hello
        strA="JAVA";
        System.out.println(strA);//JAVA

 字符串分割的方法:

 //分割字符串的方法
        //public String[] split(String regex)参数是一个正则表达式,返回一个字符串数组,
        //注意:以英文句点进行切割时,要以"\\."作为参数
        String s1="I had a dream my life would be, " +
                "so different from this hell I’m living, " +
                "so different now from what it seemed! " +
                "Now life has killed the dream I dreamed.";
        String s2[]=s1.split(",");
        for (int i = 0; i < s2.length; i++) {
            System.out.println(s2[i]);

统计字符类型:

//输入一段语句,判断输入的语句中的大写字母。小写字母,数字,其他字符分别有多少个
        //1:定义键盘输入语句
        //2:定义四个变量,分别统计数量
        //3:将字符串转换为char型数组,用到toCharArray()方法,
        //4:遍历数组,判断字符类型,实现四个变量的++
        //5:输出四个变量
        int upper=0,lower=0,num=0,other=0;
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一串字符:");
        String str=sc.next();
        char[] ch=str.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            char c=ch[i];
            if('A'<=c&&'Z'>=c){
                upper++;
            }
            else if('a'<=c&&'z'>=c){
                lower++;
            }
            else if(48<=c&&57>=c){
                num++;
            }
            else{
                other++;
            }
        }

 

posted @ 2019-10-27 20:54  BatmanY  阅读(226)  评论(0)    收藏  举报