zoukankan      html  css  js  c++  java
  • Java学习笔记

    java.lang.String
    String表示字符串类型,属于引用数据类型,不属于基本数据类型

    构造方法

    1.动态创建:String s = new String("");
    2.静态创建:String s = "";
    3.String s = new String(char);
    4.String s = new String(char, 起始下标,长度);
    5.String s = new String(byte);
    6.String s = new String(byte, 起始下标,长度);

    示例程序

    public class StringTest04 {
        public static void main(String[] args) {
            //a b c
            byte[] bytes = {97,98,99};
            System.out.println("String s = new String(byte)");
            String s2 = new String(bytes);
            System.out.println(s2);
    
            System.out.println("String s = new String(byte, 起始下标,长度)");
            String s3 = new String(bytes , 1, 2);
            System.out.println(s3);
    
            char[] chars = {'开' , '心', '啊'};
            System.out.println("String s = new String(char)");
            String s4 = new String(chars);
            System.out.println(s4);
    
            System.out.println("String s = new String(byte, 起始下标,长度)");
            String s5 = new String(chars, 0 , 2);
            System.out.println(s5);
        }
    }
    

    常用方法

    public class StringTest05 {
        public static void main(String[] args) {
            //1.char charAt(int index)
            char c = "中国人".charAt(1);
            System.out.println(c);  //国
    
            //2(了解)int compareTo(String anotherString)
            //等价于 strcmp
            int result = "abc".compareTo("abc");
            System.out.println(result);   //0
    
            int result1 = "abcd".compareTo("abce");
            System.out.println(result1);	  //-1
    
            int result2 = "abc".compareTo("abc");
            System.out.println(result2);  //1
    
    
            //3.boolean contains(CharSequence s)
            //判断前面的字符串是否包含后面的子字符串
            System.out.println("HelloWorld.java".contains(".java"));  //true
            System.out.println("http://".contains("https"));     //false
    
    
            //4.boolean endsWith(String suffix)
            //判断当前字符串是否以某个字符串结尾
            System.out.println("test.java".endsWith(".java"));   //true
    
    
            //5.boolean equalsIgnoreCase(String anotherString)
            // 判断两个字符串是否相等,并且同时忽略大小写
            System.out.println("abc".equalsIgnoreCase("Abc")); //true
    
            //6. byte[] getBytes()
            //将字符串对象转换成字节数组
            byte[] bytes = "abcdef".getBytes();
            for(int i = 0; i < bytes.length;i++)
                System.out.println(bytes[i]);   //97 98 99 100...
    
            //7.int indexOf(String str)
            //判断某个字符串在当前字符串中第一次出现处的索引(下标)
            System.out.println("oracleJava".indexOf("Java"));   //6
    
    
            //8.boolean isEmpty()
            //判断一个字符串是否为空
            String s8 = "";
            System.out.println(s8.isEmpty());  //true
    
            //9.int length()
            //判断数组长度是length属性,判断字符串长度是length()方法
            System.out.println(s8.length());   //0
    
            //10. int.lastIndexOf(String str)
            //判断某个字符串在当前字符串中最后一次出现处的索引(下标)
            System.out.println("oracleJavaJava".lastIndexOf("Java"));   //10
    
            //11.String replace(CharSequence target, CharSequence replacement)
            //String的父接口就是:CharSequence
            String newString = "http://www.baidu.com".replace("http","https");
    
            //12. String[] split(String regex)
            //拆分字符串
            String[] ymd = "1980-10-11".split("-");  //以"-"分隔符进行拆分
            for(int i = 0; i < ymd.length;i++)
                System.out.println(ymd[i]);    //1980 10 11
    
            //13.boolean startsWith(String prefix)
            //判断某个字符串是否以某个子字符串开始
            System.out.println("http://www.baidu".startsWith("http://"));  //true
    
    
            //14. String substring(int beginIndex)
            //截取字符串,参数是起始下标
            System.out.println("oracleJavaJava".substring(6));  //JavaJava
            //String substring(int beginIndex, int endIndex)
            //截取字符串,左闭右开
            System.out.println("oracleJavaJava".substring(6,10));  //Java
    
            //15.char[] toCharArray()
            //将字符串转化成char数组
            char[] chars = "HelloWorld".toCharArray();
            for(int i = 0; i < chars.length;i++)
                System.out.println(chars[i]);   // H e l l o ....
    
            //16. String toLowerCase()
            //转化为小写
            System.out.println("ABcsdf".toLowerCase());    //abcsdf
            //String toUpperCase()                     
            //转化为大写
            System.out.println("ABcsdf".toUpperCase());    //ABCSDF
    
            //17.String trim()
            //去除字符串前后的空格
            System.out.println("   ABcsdf   ".trim());    //ABcsdf
    
            //18.String只有一个方法是静态的,不需要new对象
            //valueOf
            //作用:将非字符串转化成字符串
            //当参数是一个对象的时候,会自动调用该对象的toString方法
            String s1 = String.valueOf(3.1415);       //3.1415
            System.out.println(s1);
            System.out.println(new Customer());       //VIP用户
    
            //19.println的源码:对于引用类型,调用valueOf方法,而valueOf方法会自动调用toString方法
            //对于基本数据类型和String类型的引用(动态和静态创建的字符串对象都是通过引用指向的),println调用底层方法输出
            //对于其他引用数据类型,调用valueOf()方法,而valueOf方法会调用toSting方法;
            //为什么对于引用数据类型不直接调用toString()方法?
            //toString方法不包含空指针检验,但是valueOf包括
            String s = new String("x2");
            System.out.println(100);
            System.out.println(true);
            System.out.println(s);
            System.out.println(new Customer());
    
            //对于引用数据类型,不要加上.toString
            //因为toString方法中没有空指针检验,本质上说println对于引用数据类型自动调用toString方法说错误的
            Customer s2 = null;
            System.out.println(s2);
        }
    }
    
    class Customer{
        @Override
        public String toString() {
            return "VIP客户";
        }
    }
    
  • 相关阅读:
    20172319 结对编程练习_四则运算第二周阶段性总结
    20172319 《Java程序设计教程》第8周学习总结
    20172319 结对编程练习_四则运算第一周阶段性总结
    20172319 实验二《Java面向对象程序设计》实验报告
    20172319 《Java程序设计教程》第7周学习总结
    20172319 2018.04.11-16 《Java程序设计教程》 第6周学习总结
    20172319 2018.04.11 《Java程序设计教程》第7周课堂测验(补写博客)
    学号 2017-2018-2 《程序设计与数据结构》实验五报告
    2017-2018-2 《程序设计与数据结构》第11周学习总结
    2017-2018-2《程序设计与数据结构》实验四报告
  • 原文地址:https://www.cnblogs.com/zy200128/p/12827544.html
Copyright © 2011-2022 走看看