JAVA入门笔记~基础知识day05

常用API

1. API简介

  • Application Programming Interface,应用程序编程接口,别人写好的类我们直接拿来使用。
  • API的使用
    • 查看API文档。
    • 看包。java.lang下的类不需要导包,其他需要。
    • 看类的定义和功能描述。
    • 看构造方法和成员方法。

2. String

2.1 特点

  • String类代表字符串类,底层是一个byte数组。
  • 每次对字符串变量进行拼接操作,都会返回新的字符串对象。

2.2 创建对象

  • new方式创建
    • 先在常量池里查找字符串,如果找到则直接在堆中创建对象并返回堆中的对象地址。如果常量池中没有该字符串,则会在常量池和堆中都创建该字符串对象,然后将堆中地址返回给变量。
  • 直接赋值字符串常量
    • 直接赋值字符串常量时,直接在常量池里创建对象,并将地址返回给变量。

2.3 构造方法

  • public String(String value)

  • public String(char[] value)

    • 根据char数组创建字符串对象
  • public String(char[] value, int offset, int count)

    • 从数组的offset开始,共count个字符创建字符串
  • public String(byte[] values)

    • 根据byte数组创建字符串

2.4 常用方法

  • 判断相等
    • boolean equals(Object anObject)
      • 判断字符串内容是否相等,区分大小写
    • boolean equalsIgnoreCase(String anotherString)
      • 判断字符串内容是否相等,不区分大小写。
  • 提取子串
    • String substring(int beginIndex)
      • 从beginIndex位置起,获取后面子串返回。
    • String substring(int beginIndex, int endIndex)
      • 取出beginIndex到endIndex之间的子串,不包含endIndex。
  • 大小写转换
    • String toLowerCase()
      • 字符串全部转小写返回。
    • String toUpperCase()
      • 字符串全部转大写返回。
  • 字符串查找
    • int indexOf(int ch)
    • 返回指定字符在字符串中第一次出现的位置索引。找不到时返回-1
    • int indexOf(String str)
      • 返回指定子字符串在此字符串中第一次出现的位置索引,找不到返回-1
    • int indexOf(String str,int fromIndex)
      • 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始,找不到返回-1
    • boolean startsWith(String prefix)
      • 判断字符串是否以指定的前缀开始。
    • boolean endsWith(String suffix)
      • 判断字符串是否以指定的后缀结束。
  • 字符串替换
    • String trim()
      • 截去字符串两端的空格,但对于中间的空格不处理。
    • String replace(char oldChar, char newChar)
      • 用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。
  • 其他方法
    • int length()
      • 获取字符串长度。
    • char charAt(int index)
      • 根据索引返回指定字符,索引从0开始。
    • String[] split(String regex)
      • 根据指定的regex符号将字符串分割成字符串数组返
    • public char[] toCharArray()
      • 将字符串转换为字符数组返回。

4. "==" 和 "equals"

  • ==

    • 基本数据类型比较的是数据的值。
    • 引用类型比较的是地址值。
  • equals

    • 比较的是字符串的内容值是否相同。

3. StringBuilder

3.1 构造方法

  • StringBuilder()
  • StringBuilder(String str)

3.2 常用方法

  • public String toString()
    • 重写了Object原始的toString()方法,返回拼接的字符串内容
  • public int length()
    • 返回拼接的字符串的长度
  • public StringBuffer append(任意类型)
    • 将参数拼接成字符串,并返回StringBuilder对象本身
  • public StringBuffer reverse()
    • 将字符串反转,并返回StringBuilder对象本身。

4. ArrayList

1.1 集合的概述

  • 什么是集合

    ​ 集合是java的==数据容器==,可以==动态==的存储==多种类型==的数据。

  • 集合和数组的区别:

    ​ 数组:大小固定,只能存储相同类型的数据。

    ​ 集合:大小可动态扩展,可以存储各种类型的数据。

1.2 ArrayList类概述

  • ArrayList集合的特点

    ​ ==底层是数组实现的,长度可以变化。==

  • 泛型的使用

    ​ 用于标记和约束集合中存储元素的数据类型。

  • 泛型语法格式 :<引用数据类型>

    ​ ArrayList集合存储字符串数据:ArrayList<String>

    ​ ArrayList集合存储学生类对象:ArrayList<Student>

1.3 ArrayList的构造方法和添加方法

构造方法

public ArrayList();  //无参构造方法,表示创建一个空的集合容器

添加集合元素的方法

public boolean add(E e) //向集合中末尾添加元素
    
public void add(int index, E element)  //向集合的指定位置index添加元素E

案例代码

public class ArrayListDemo{
    public static void main(String[] args){
        //创建集合对象,存储字符串类型数据
        ArrayList<String> list = new ArrayList<>();
        //向集合中添加元素
        list.add("javase");
        list.add("javaee");
        
        //打印集合元素内容
        System.out.println(list);
        
        //向集合指定位置添加元素
        list.add(0,"javaweb"); // 向集合第一个位置添加元素javaweb,原先的元素向后移动
        
        //打印集合元素内容
        System.out.println(list);
    }
}

1.4 ArrayLis常用的方法

public boolean remove(Object o) //删除指定的元素,返回删除是否成功

public E remove(int index) //删除指定索引处的元素,返回被删除的元素
    
public E set(int index,E element) //修改指定索引处的元素,返回被修改的元素

public E get(int  index)   //返回指定索引处的元素

public int  size()  //返回集合中的元素的个数

public boolean add(E e)     //将指定的元素追加到此集合的末尾

public void  add(int index,E   element) //在此集合中的指定位置插入指定的元素

案例代码

/*
    ArrayList常用方法
*/
public class ArrayListDemo {
    public static void main(String[] args) {
        //创建集合
        ArrayList<String> list = new ArrayList<>();
        //添加元素
        list.add("hello");
        list.add("world");
        list.add("java");

        //public int size():返回集合中的元素的个数
        System.out.println(list.size());

        //输出集合
        System.out.println("list:" + list);
    }
}

1.5 ArrayList存储字符串并遍历

需求:

​ 创建一个存储字符串的集合,存储多个字符串元素,并使用for循环完成集合的遍历。

案例代码:

/*
    步骤:
        1. 创建集合对象 :ArrayList<String> list = new ArrayList<>();
        2. 使用add(元素值)方法添加元素。
        3. for循环遍历集合,通过size()方法获取循环次数。
        4. 循环内通过get(int index)方法获取元素。
 */
public class ArrayLisDemo2 {
    public static void main(String[] args) {
        // 1. 创建集合对象
        ArrayList<String> list = new ArrayList<>();

        // 2. 往集合中添加字符串对象
        list.add("java");
        list.add("javase");
        list.add("javaee");

        // 3. for循环遍历集合
        for(int i=0; i<list.size(); i++) {
            // 4. 遍历每个索引对应的集合元素
            String s = list.get(i);
            System.out.println(s);
        }
    }
}

1.6 ArrayList存储学生对象并遍历

需求:

​ 创建一个存储学生对象的集合,存储3个学生对象,并实现遍历打印。

步骤:

  1. 定义一个学生类Student,使其具有姓名、年龄等属性。
  2. 创建3个学生对象。
  3. 创建ArrayList集合对象,泛型类型为Student。
  4. 将学生对象添加到集合中。
  5. 遍历集合,获取每一个学生对象并输出对应的姓名和年龄。

案例代码:

//学生类对象
public class Student {
    private String name;
    private int age;

    public Student() {}
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

//测试类
public class ArrayListDemo3 {
    public static void main(String[] args) {
        //1、创建集合对象
        ArrayList<Student> list = new ArrayList<>();
        
        //2、创建学生元素对象
        Student s1 = new Student("狗蛋",20);
        Student s2 = new Student("狗剩",25);
        Student s3 = new Student("狗娃",22);
        
        //3、往集合添加元素
        list.add(s1);
        list.add(s2);
        list.add(s3);
        
        //4、遍历元素对象
        for (int i = 0; i < list.size(); i++) {
            Student s = list.get(i);
            System.out.println(s.getName() + ":" + s.getAge());
        }
    }
}

1.7 ArrayList存储学生对象并遍历升级版

需求:

​ 通过键盘录入数据为学生对象赋值。

​ 将学生对象添加到集合中。

​ 遍历集合。

案例代码:

/*
    步骤:
        1. 定义学生类。(使用之前定义的Student类即可)
        2. 创建集合对象。
        3. 创建学生对象,键盘录入学生对象所需要的数据。
        4. 往集合中添加学生对象。
        5. 遍历集合,获取每一个学生对象,并打印学生信息。
 */
public class ArrayListTest {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> list = new ArrayList<>();

        //调用方法,往集合中添加学生对象
        addStudent(list);
        addStudent(list);
        addStudent(list);

        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            Student s = list.get(i);
            System.out.println(s.getName() + " : " + s.getAge());
        }
    }

    /*
        两个明确:
            返回值类型:void
            参数:ArrayList<Student> list
     */
    public static void addStudent(ArrayList<Student> list) {
        //键盘录入学生对象所需要的数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生年龄:");
        int age = sc.nextInt();

        //创建学生对象,并设置成员变量的值。
        Student s = new Student();
        s.setName(name);
        s.setAge(age);

        //往集合中添加学生对象
        list.add(s);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,647评论 0 4
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 920评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,260评论 0 4
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,512评论 0 16
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 4,265评论 1 10

友情链接更多精彩内容