zoukankan      html  css  js  c++  java
  • Day14_String概述

    String概述

    • 字符串是常量,创建之后不可改变。
    • 字符串字面值存储在字符串池中,可以共享。
    • String s = "Hello";产生一个对象,字符串池中存储。
    package com.oop.Demo11;
    
    public class Demo03 {
        public static void main(String[] args) {
            String name="name";//"hello"常量存储在字符串池中
            name = "zhangsan";//"zhangsan"赋值给name变量,给字符串赋值时,并没有修改数据,而是重新开辟了一个zhangsan
            String name2 ="zhangsan";//将常量池中的zhangsan的地址赋值给name2
            //System.out.println (name==name2);//true
    
            //演示字符串的另一种创建方式
            String str =new String("java");
            String str2 = new String ("java");//在堆和常量池分别创建对象java,str2指向堆中的地址,堆指向常量池中的数据"java",运行时两个java合并
            System.out.println (str==str2);//false此时比较的是str与str2所存的地址
            System.out.println (str.equals (str2));//true       equals比较的数据
        }
    }
    

    常用方法

    • public int length():返回字符串的长度。

    • public char charAt(int index):根据下标获取字符。

    • public boolean contains(String str):判断当前字符串中是否包含str。

    • public char[] toCharArray() :将字符串转换成数组。

    • public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1。

    • public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引。

    • public String trim():去掉字符串前后的空格。

    • public String toUpperCase():将小写转成大写。

    • public boolean endWith(String str):判断字符串是否以str结尾。

    • public String replace(char oldChar, char newChar;将旧字符串替换成新字符串

    • public String[]l split(String str):根据str做拆分。

    package com.oop.Demo11;
    
    import java.util.Arrays;
    
    public class Demo03 {
        public static void main(String[] args) {
            String name="name";//"hello"常量存储在字符串池中
            name = "zhangsan";//"zhangsan"赋值给name变量,给字符串赋值时,并没有修改数据,而是重新开辟了一个zhangsan
            String name2 ="zhangsan";//将常量池中的zhangsan的地址赋值给name2
            //System.out.println (name==name2);//true
    
            //演示字符串的另一种创建方式
            String str =new String("java");
            String str2 = new String ("java");//在堆和常量池分别创建对象java,str2指向堆中的地址,堆指向常量池中的数据"java",运行时两个java合并
            System.out.println (str==str2);//false此时比较的是str与str2所存的地址
            System.out.println (str.equals (str2));//true       equals比较的数据
            System.out.println ("-------------字符串方法的使用------------------");
            //字符串方法的使用
            //1、length();返回字符串的长度
            //2、charAt(int index);返回某个位置的字符;
            //3、contains(String str);判断是否包含某个字符
            String content= "java是使用最广泛的语言,java也是最多人使用的,java是目前世界上最好的语言";
            System.out.println (content.length ());
            System.out.println (content.charAt (content.length ()-1));
            //content.charAt (content.length ())不在数组范围内是会报IndexOutOfBoundsException异常,数组越界异常
            System.out.println (content.contains ("java"));//true   字符串包含java吗?true
            System.out.println (content.contains ("php"));//false
            System.out.println ("-------------字符串方法的使用------------------");
            //字符串方法的使用
            //4、toCharArray();返回字符串对应的数组
            //5、indexOf();返回字符串首次出现的位置
            //6、lastIndexOf();返回字符串最后一次出现的位置
            System.out.println (Arrays.toString (content.toCharArray ()));
            System.out.println (content.indexOf ("java"));
            System.out.println (content.indexOf ("java",4));
            System.out.println (content.lastIndexOf ("java"));
            //7、trim();去掉字符串前后的空格
            //8、toUpperCase();把小写转换成大写  toLowerCase();把大写转换成小写
            //9、endWith(str);判断是否以str结尾,startWith(str);判断是否以str开头
            String content2="   Hello  World    ";
            System.out.println (content2.trim ());
            System.out.println (content2.toUpperCase ());
            System.out.println (content2.toLowerCase ());
            String filename="hello.java";
            System.out.println (filename.endsWith (".java"));//true 判断filename字符串是否以.java结尾
            System.out.println (filename.startsWith ("h"));//true   判断filename字符串是否以h开头
    
    
            System.out.println ("-------------字符串方法的使用------------------");
            //10、replace(char old,char new);用新的字符或字符串替换旧的字符或字符串
            //11、split();对字符串进行拆分
            System.out.println (content.replace ("java","ahha"));
            String say="java is the best programing language, java java     ";
            String[] arr=say.split ("[ ,]+");
            System.out.println (arr.length);
            for (String string:arr) {
                System.out.println (string);
            }
            //补充两个方法equals、compareTo();比较大小
            System.out.println ("--------补充-------");
            String s1="hello";
            String s2="HELLO";
            System.out.println (s1.equalsIgnoreCase (s2));//忽略大小写的比较
    
            //compare比较两个字符在编码表中的位置
            String s3="abc";//a的字符97
            String s4="xyz";//x的字符120   如果第一个相等 比较第二对b、y
            System.out.println (s3.compareTo (s4));//-23        (97-120)
    
            String s5="abc";
            String s6="abcxyz";
            System.out.println (s5.compareTo (s6));//-3    比长度(3-6)
        }
    }
    

    案例演示

    • 需求
      • 已知String str = "this is a text" ;
      • 1.将str中的单词单独获取出来
      • 2.将str中的text替换为practice
      • 3.在text前面插入一个easy
      • 4.将每个单词的首字母改为大写

    String型的方法

    char charAt(int index)
    返回索引index位置处的字符。与数组一样,索引也是从头开始依次0、1、2、3...

    package com.oop.Demo11;
    
    public class Demo04 {
        public static void main(String[] args) {
            /*
            - **已知String str = "this is a text" ;**
            - **1.将str中的单词单独获取出来**
            - **2.将str中的text替换为practice**
            - **3.在text前面插入一个easy**
            - **4.将每个单词的首字母改为大写
             */
            String str="this is a text";
            //1.将str中的单词单独获取出来
            String[] arr = str.split (" ");
            System.out.println ("------------1.将str中的单词单独获取出来---------------");
            for (String s:arr) {
                //每次循环取一个字符串出来赋值给s,直到arr数组长度-1结束
                System.out.println (s);
            }
            System.out.println ("------------2.将str中的text替换为practice---------------");
            String str2=str.replace ("text","practice");
            System.out.println (str2);
            System.out.println ("------------3.在text前面插入一个easy---------------");
            String str3= str.replace ("text","easy text");
            System.out.println (str3);
            System.out.println ("-------------4.将每个单词的首字母改为大写--------------");
            for (int i = 0; i < arr.length; i++) {
                /**java里面的for循环的格式:for(String s : arr)
                 *其实本质上和for(int i=0;i<length;i++)没太大区别,但是for(String s : arr)中的arr一定是字符串数组,
                 *每次循环取一个字符串出来赋值给s,直到arr数组长度-1结束。
                 * 
                 * char charAt(int index)
                 * 返回索引index位置处的字符。与数组一样,索引也是从头开始依次0、1、2、3...
                 */
                char first=arr[i].charAt (0);
                //把第一个字符转换成大写
                char upperfirst=Character.toUpperCase (first);
    
                String news=upperfirst+arr[i].substring (1);
                System.out.println (news);
            }
        }
    }
    

  • 相关阅读:
    软件测试相关面试
    GET和POST两种基本请求方法的区别
    Fiddler的安装与使用
    idea与eclipse项目相互导入的过程
    Selenium 学习笔记
    面试相关的案例
    idea编译启动报错
    window安装redis无法启动报错
    【001】接口测试-常用工具介绍和使用
    pyinstaller 打包exe相关
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14060990.html
Copyright © 2011-2022 走看看