zoukankan      html  css  js  c++  java
  • JAVA学习笔记(十)

    Java的API及Object类

    1.1Java的API

      Java 的API(API: Application(应用) Programming(程序) Interface(接口))

      Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。

    1.2Object类概述

      Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object。

    1.3equals方法

     equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较。Object类中的equals方法内部使用的就是==比较运算符。

    import java.util.ArrayList;
    
    public class Test {
    
        public static void main(String[] args) {
            Person p1=new Person("张三",30);
            Person p2=new Person("李四",30);
            //p1=p2;
            //ArrayList arr=new ArrayList();
            //boolean b=p1.equals(p1);
    //        if(b){
    //            System.out.println("两个人年龄相同");
    //        }else{
    //            System.out.println("两个人年龄不同");
    //        }
            String s=p1.toString();
            System.out.println(s);
            System.out.println(p1);
            String s2=p2.toString();
            System.out.println(s2);
        }
    
    }

    1.4toString方法

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //通过使用平台的默认字符集解码指定的byte数组,
            //GBK编码,字节是正数的话,ASCII字符集
            //字节是负数的话,就根据GBK字符集
            byte [] b= {-60,-61,-62,-63,-64,-65};
            String s=new String(b);
            //System.out.println(s.toString());
            String s2=new String(b,1,2);
            System.out.println(s2.toString());
            char[] c= {'李','云','龙'};
            String s3=new String(c,1,2);
            System.out.println(s3.toString());
        }
    }

    String类

    2.1String类概述

      String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

      一旦这个字符串确定了,那么就会在内存区域中就生成了这个字符串。字符串本身不能改变,但str变量中记录的地址值是可以改变的。

      字符串的本质是一个字符的数组。

      字符串有大量的重载的构造方法。通过String类的构造方法可以完成字符串对象的创建。

    2.2String类构造方法  

    String s1 = new String(); //创建String对象,字符串中没有内容
        
        byte[] bys = new byte[]{97,98,99,100};
        String s2 = new String(bys); // 创建String对象,把数组元素作为字符串的内容
        String s3 = new String(bys, 1, 3); //创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数length为要几个元素
        
        char[] chs = new char[]{’a’,’b’,’c’,’d’,’e’};
        String s4 = new String(chs); //创建String对象,把数组元素作为字符串的内容
        String s5 = new String(chs, 0, 3);//创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数count为要几个元素
    
        String s6 = new String(“abc”); //创建String对象,字符串内容为abc

    2.3String类的方法查找

      部分方法实例

    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String s="Christmas";
            int l=s.length();
            String s2=s.substring(1);
            String s3=s.substring(2, 5);
            System.out.println(s3);//截取字符串([起点,终点))
            System.out.println(s2);//截取字符串(起点)
            boolean b=s.startsWith("c");//判断是否以传入的字符穿开头
            boolean c=s.endsWith("s");
            boolean b2=s.contains("h");//判断字符串中是否有传入的值
            int a=s.indexOf("s");//返回字符串第一次出现的索引值如果没有返回-1
            //System.out.println(a);
            byte[] b3=s.getBytes();
            for(int i=0;i<b3.length;i++) {
                System.out.println(b3[i]);
            }
            char[] c1=s.toCharArray();
            //遍历输出
        }
    }

    字符缓冲区

    3.1StringBuffer类

      StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。原来StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。

     StringBuffer的方法使用实例

    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            /*
             * String是个不可变的字符数组
             * StringBuffer是个可变长度的字符串序列
             * */
            StringBuffer bu=new StringBuffer();
            bu.append("张三").append("李四");
           //    bu.delete(1, 3);//删除字符串缓冲区的指定字符([起点,终点))
            bu.insert(1,"Alice");//在字符串缓冲区内插入字符串
            bu.replace(1, 2, "可爱的");//替换([起点,终点))
            bu.reverse();//逆序输出
            String a=bu.toString();
            System.out.println(bu);
            System.out.println(a);
        }
    }

    3.2对象的方法链式调用

    创建一个字符串缓冲区对象。用于存储数据。
    StringBuffer sb = new StringBuffer();
    添加数据。不断的添加数据后,要对缓冲区的最后的数据进行操作,必须转成字符串才可以。
    String str = sb.append(true).append("hehe").toString();

    3.3StringBuilder类

      此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

  • 相关阅读:
    无法加载文件或程序集“System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”
    Linux中安装Oracle jdk
    算符优先文法,中缀式求值,栈的典型应用
    数据结构之--双链表MyLinkedList
    数据结构之--单链表MyArrayList
    Java中的函数对象
    (11)连个工具类之间的比较4.Collections与Arrays
    javaList容器中容易忽略的知识点
    (27)回复泛型,注解、日志组件、枚举在实际项目中的使用
    无问西东,哪怕重头来过
  • 原文地址:https://www.cnblogs.com/boringLee/p/8709498.html
Copyright © 2011-2022 走看看