zoukankan      html  css  js  c++  java
  • String类

    /*
     String 字符串类:
      
     笔试题目:new String("abc")创建了几个对象?
      两个对象, 一个对象是 位于字符串常量池中,一个对象是位于堆内存中。
      
     */
    
    
    public class Demo1 {
        
        public static void main(String[] args) {
            
            String str1 = "hello";
            String str2 = "hello";
            String str3 = new String("hello");
            String str4 = new String("hello");
            System.out.println("str1==str2?"+(str1==str2));  // true  
            System.out.println("str2==str3?"+(str2==str3));  //false
            System.out.println("str3==str4?"+(str3==str4));  // false
            System.out.println("str3.equals(str2)?"+(str3.equals(str4))); //true
            //是String类重写了Object的equals方法,比较的是两个字符串对象 的内容 是否一致。
            // "=="用于比较 引用数据类型数据的时候比较的是两个对象 的内存地址,equals方法默认情况下比较也是两个对象 的内存地址。
            
            test(null);
        }
        
        public static void test(String str){
            if("中国".equals(str))
            {
                System.out.println("回答正确");
            }else{
                System.out.println("回答错误");
            }
        }
        
    }
    /*
     String 的构造方法:
     
         String()  创建一个空内容 的字符串对象。
         String(byte[] bytes)  使用一个字节数组构建一个字符串对象
         String(byte[] bytes, int offset, int length) 
             bytes :  要解码的数组
             offset: 指定从数组中那个索引值开始解码。
             length: 要解码多个元素。
         
         String(char[] value)  使用一个字符数组构建一个字符串。    
         String(char[] value, int offset, int count)  使用一个字符数组构建一个字符串, 指定开始的索引值,与使用字符个数。
        String(int[] codePoints,int offset,int count)
        String(String original) 
    
    记住: 使用字节数组或者字符数组都可以构建一个字符串对象。
    
    
     */
    public class Demo2 {
        
        public static void main(String[] args) {
            String str = new String();
            byte[] buf = {97,98,99};
            
            str = new String(buf); //使用一个字节数组构建一个字符串对象
            str = new String(buf,1,2);   //使用一个字节数组构建一个字符串对象,指定开始解码 的索引值和解码的个数。
            
            char[] arr = {'明','天','是','圣','诞'};
            str = new String(arr); //使用字符数组构建一个字符串
            str = new String(arr,3,2);
            
            int[]     buf2 = {65,66,67};
            str = new String(buf2,0,3);
            
            str = new String("abc");
            
            
            System.out.println("字符串的内容:"+str);
            
            
            
            
        }
        
    }
    /*
    2.2    获取方法
        int length()  获取字符串的长度
        char charAt(int index) 获取特定位置的字符 (角标越界)
        int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示。
        int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示
    */
    
    public class Demo3 {
        
        public static void main(String[] args) {
            String str = "abc中国ab中国";
            System.out.println("字符串的字符 个数: " + str.length() );
            System.out.println("根据索引值获取对应 的字符:"+ str.charAt(3));
            System.out.println("查找子串第一次出现的索引值:" + str.indexOf("中国"));
            System.out.println("查找子串最后一次出现的索引值:" + str.lastIndexOf("中国"));
            
        }
        
    
    }
    import java.util.Arrays;
    
    /*
    2.3    判断方法
        boolean endsWith(String str) 是否以指定字符结束
        boolean isEmpty()是否长度为0 如:“” null V1.6
        boolean contains(CharSequences) 是否包含指定序列 应用:搜索
        boolean equals(Object anObject) 是否相等
        boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等
    
    2.4    转换方法     
    char[] toCharArray()  将字符串转换为字符数组
    byte[]    getBytes();
    
    字节数组与字符数组、字符串他们三者之间是可以互相转换。
    
    */
    public class Demo4 {
        
        public static void main(String[] args) {
            String str = "Demo.java";
            System.out.println("是否以指定 的字符串结束:"+ str.endsWith("ja"));
            //str = "";
            System.out.println("判断字符串是否为空内容:"+str.isEmpty());
            System.out.println("判断字符串是否包含指定的内容:"+ str.contains("Demo"));
            System.out.println("判断两个 字符串的内容是否一致:"+ "DEMO.JAVA".equals(str));
            System.out.println("判断两个字符串的内容是否一致(忽略大小写比较):"+ "DEMO.JAVA".equalsIgnoreCase(str));
            
            
            //转换的方法
            char[] buf = str.toCharArray();  //把字符串转换字符数组
            System.out.println("字符数组:"+ Arrays.toString(buf));
            byte[] buf2 = str.getBytes();    //把字符串转字节数组
            System.out.println("字节数组:"+ Arrays.toString(buf2));
        }
    
    }
    import java.util.Arrays;
    
    /*
     其他方法
        String replace(String oldChar, String newChar) 替换
        String[] split(String regex) 切割
        
        String substring(int beginIndex)   指定开始 的索引值截取子串
        String substring(int beginIndex, int endIndex)指定开始 与结束的索引值截取子串
        
        String toUpperCase() 转大写
        String toLowerCase() 转小写
        String trim() 去除字符串首尾的空格
        
    
    
        
    */
    
    public class Demo5 {
        
        public static void main(String[] args) {
            String str = "今天晚上不考试";
            System.out.println("指定新内容替换旧 的内容:"+ str.replace("不", "要好好"));
            str = "大家-下-午-好";
            String[] arr = str.split("-"); //根据指定的字符进行切割 。
            System.out.println("字符串数组的内容:"+ Arrays.toString(arr));
            str = "广州传智播客";
            System.out.println("指定开始的索引值截取子串:"+ str.substring(2));
            System.out.println("指定开始的索引值截取子串:"+ str.substring(2,6)); //包头不包尾  注意:截取的内容是包括开始的索引值,不包括结束的索引值, 截取的位置是结束的索引值-1.
            
            str = "abC中国";
            System.out.println("转大写:" + str.toUpperCase());
            str = "AbdfSDD"; 
            System.out.println("转小写:"+ str.toLowerCase());
            
            str = "         大家最近        都非常努力            ";
            System.out.println("去除字符串首尾的空格:"+ str.trim());
            
            
        }
        
        
    
    
    }
  • 相关阅读:
    python网页内容提取神器lxml
    tf–idf算法解释及其python代码
    刷搜索刷下拉框原理
    python爬取全站壁纸代码
    刷百度相关搜索发包参数详解
    Python3 if 变量variable SQL where 语句拼接
    python抓取网站提示错误ssl.SSLCertVerificationError处理
    Windows中的txt文件到Mac打开是乱码 解决办法
    python移动目录下所有子目录文件到新的总目录
    Spring Boot
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6357704.html
Copyright © 2011-2022 走看看