Java第九次笔记---常用API(String、ArrayList)

目录

 前言

一、String

1.1String类概述 78

 1.2String类创建对象的2种方式 79 

 1.3String类常见面试题 80

1.4字符串的比较

1.5String类常用API-遍历、替换、截取、分割操作 81

 1.5字符串案例操作 82

案例一、String类开发验证码功能

 案例二、模拟用户登陆功能

 案例三:手机号码屏蔽

二、ArrayList

2.1集合概述 83

 2.2ArrayList集合快速入门

 2.3ArrayList对于泛型的支持

2.4ArrayList 常用的API、遍历

2.5ArrayList集合案例 84

案例一:遍历并删除元素

案例二:存储自定义类型的对象

暴露问题一:

暴露问题二:

暴露问题三(收获):

 案例三:学生信息系统的数据搜索

 获取一:

 疑难解释:

 注意的点:


 前言

 

学习String会获得那些?

 

一、String

1.1String类概述 78

 但是我们会发现,执行下列的程序后,输出的内容会发生了改变,和我们所注意的String类的对象在创建后不能被改变所冲突。对于该问题,做出以下解释。

 我们创建好的String类变量后,它会将数据存在堆内存中,我们使用name +=处理后,是得到新的变量,将新的变量进行了输出。原来的对象没有变化。

总结:

 1.2String类创建对象的2种方式 79 

 方式一:根据地址寻找内容。

 

 1.3String类常见面试题 80

 

 --------------------------------------------------------------------------------------------------------------------------------

 

 解释:下面的这个题目和上面的题目的区别。在编译过程中下面的已经将其转换成了abc,上面的那个是变量,需要执行后才能编程abc。

1.4字符串的比较

 

使用字符串的比较,有了一个新的api,那就是equals。

 例子:

1.5String类常用API-遍历、替换、截取、分割操作 81

 

 

 

 

 

 1.5字符串案例操作 82

案例一、String类开发验证码功能

 代码如下:

import java.util.Random;

public class StringTestDemo1 {
    public static void main(String[] args){

        String datas = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
        String code = "";
        for (int i = 0; i < 5; i++) {
            Random r = new Random();
            int a = r.nextInt(datas.length());
            char c = datas.charAt(a);
            code += c;
        }
        System.out.println(code);
    }
}

 案例二、模拟用户登陆功能

 

代码如下:

public class StringTestDemo2 {
    public static void main(String[] args){
        String okLoginname = "admin";
        String okPassWrod = "123456";

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的用户名:");
        String Loginname = sc.next();
        System.out.println("请输入您的密码:");
        String PassWrod = sc.next();
        for (int i = 1; i <=3; i++) {

            if(okLoginname.equals(Loginname)){
                if(okPassWrod.equals(PassWrod)){
                    System.out.println("登陆成功!");
                    break;
                }else {
                    System.out.println("您还有"+(i-1)+"次输入!");
                }
            }else{
                System.out.println("用户名输入错误!!!");
            }
        }
    }
}

 案例三:手机号码屏蔽

 代码如下:

import java.util.Scanner;

public class StringTestDemo3 {
    public static void main(String[] args){
        System.out.println("请输入手机号:");
        Scanner sc = new Scanner(System.in);
        String numbers = sc.next();
        String numbers1 = numbers.replace(numbers.substring(3,7),"****");
        System.out.println(numbers1);

    }
}

二、ArrayList

2.1集合概述 83

 有关数组的资料查看Java第六次笔记

Java第六次学习笔记---数组_小西程序员之路的博客-CSDN博客一、数组解释:看例子和数据的含义概念,我们可以理解到,格式如下:数据类型 数组的名字 = {数据内容}数组定义与变量存储的优势 :学习数组,需要解决的问题:(学习思路)...https://blog.csdn.net/xiaoxixicc/article/details/124222375?spm=1001.2014.3001.5501

 

 2.2ArrayList集合快速入门

 结果如下:

import java.util.ArrayList;

public class ArrayListDemo1 {
    public static void main(String[] args){
        ArrayList list = new ArrayList();
        list.add(23);
        list.add(51);
        list.add("heima");
        list.add('中');
        System.out.println(list);
        list.add(1,71);
        System.out.println(list);


    }
}

 2.3ArrayList对于泛型的支持

泛型:由于ArrayList是对于所有的类型的数据支持。我们约束ArryList中只是同一个数据类型。

1、基础类型:

Number、String 、Boolean、Null和Undefined。基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值。

2、引用类型: 

引用类型数据在栈内存中保存的实际上是对象在堆内存中的引用地址。通过这个引用地址可以快速查找到保存中堆内存中的对象。

对象类型Object type:比如:Object 、Array 、Function 、Data等

JavaScript中基本数据类型和引用数据类型的区别_二八哥的博客-CSDN博客1、基本数据类型和引用数据类型ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。2、常见的基本数据类型:Number、String 、Boolean、Null和Undefined。基本数据类型是按值访问的,因为可以...https://blog.csdn.net/weixin_42103706/article/details/83820246?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167642874916800211564806%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167642874916800211564806&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-83820246-null-null.142^v73^wechat_v2,201^v4^add_ask,239^v1^insert_chatgpt&utm_term=%E5%BC%95%E7%94%A8%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%95%B0%E6%8D%AE&spm=1018.2226.3001.4187

 注小技巧:

 

 

2.4ArrayList 常用的API、遍历

 

2.5ArrayList集合案例 84

案例一:遍历并删除元素

 代码:

import java.util.ArrayList;

public class ArrayListTest1 {
    public static void main(String[] args){

        ArrayList<Integer> scores = new ArrayList<>();
        scores.add(98);
        scores.add(77);
        scores.add(66);
        scores.add(89);
        scores.add(79);
        scores.add(50);
        scores.add(100);
        System.out.println(scores);
        for (int i = 0; i < scores.size(); i++) {
            int score = scores.get(i);
            if(score < 80){
                scores.remove(i);
                i--;
            }
        }
        System.out.println(scores);
    }
}

代码方案二:

代码如下:

package ArrayListTest;

import java.util.ArrayList;

public class ArrayListTest1 {
    public static void main(String[] args){

        ArrayList<Integer> scores = new ArrayList<>();
        scores.add(98);
        scores.add(77);
        scores.add(66);
        scores.add(89);
        scores.add(79);
        scores.add(50);
        scores.add(100);
        System.out.println(scores);

        //方案二
        for (int i = scores.size()-1; i > 0 ; i--) {
            int score = scores.get(i);
            if(score < 80){
                scores.remove(i);
            }

        }
        System.out.println(scores);
    }



}

案例二:存储自定义类型的对象

代码如下: 

import java.util.ArrayList;

public class ArrayListTest2 {
    public static void main(String[] args){
        Movie m1 = new Movie("《xiao》",85,"aa");
        Movie m2 = new Movie("《wo》",86,"bb");
        Movie m3 = new Movie("《agan》",87,"cc");
        ArrayList<Movie> movie =new ArrayList<>();
        movie.add(m1);
        movie.add(m2);
        movie.add(m3);
        System.out.println(movie);
        for (int i = 0; i < movie.size(); i++) {
            System.out.println("---------------------");
            System.out.println("电影名称:"+movie.get(i).getName());
            System.out.println("电影评分:"+movie.get(i).getScore());
            System.out.println("电影演员:"+movie.get(i).getActor());

        }
    }
}

结果如下:

暴露问题一:

对于类的创建的回顾:

1、私有化对象

2、构造器的设置

3、对私有化的对象在外部能够进行修改Getter和Setter

暴露问题二:

对于对象的定义

类名 对象名 = new 类名()//选择有参构造器或者无参构造器

暴露问题三(收获):

对于集合中的类进行数据的获取

 案例三:学生信息系统的数据搜索

代码如下:


import java.util.ArrayList;
import java.util.Scanner;

public class ArrayTest3 {
    public static void main(String[] args){

        ArrayList<Student> xuesheng = new ArrayList<>();
        xuesheng.add(new Student(32,"xiaoliu",21,"Class3"));
        xuesheng.add(new Student(23,"xiaodong",23,"Class2"));
        xuesheng.add(new Student(25,"xiaoming",25,"Class5"));
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入学号:");
            int xuehao = sc.nextInt();
            Student a = GetstudentNumbers(xuehao,xuesheng);
            if(a == null){
                System.out.println("查出无此人!!");
            }else {
                System.out.println("您查询的学生信息如下:");
                System.out.println("------------------");
                System.out.println("学号:"+a.getNumbers());
                System.out.println("姓名:"+a.getName());
                System.out.println("年龄:"+a.getAge());
                System.out.println("班级:"+a.getBanji());
            }
        }


    }
    public static Student GetstudentNumbers(int xuehao,ArrayList<Student> xuesheng){

        for (int i = 0; i < xuesheng.size(); i++) {
            Student s = xuesheng.get(i);
            if(s.getNumbers()==xuehao){
                return s;
//                System.out.println("---------------");
//                System.out.println(xuesheng.get(i).getAge());
//                System.out.println(xuesheng.get(i).getName());
//                System.out.println(xuesheng.get(i).getBanji());
//                System.out.println(xuesheng.get(i).getNumbers());
            }
                 }
        return null;
    }

}

 获取一:

小技巧:

 疑难解释:

 注意的点:

还是对类的使用,以及集合与类的关系掌握不熟悉。

结果:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ArrayListJava中的一个类,它可以动态地存储一组元素,可以根据需要动态增加或减少元素的数量,是一种非常方便的数据结构。 ArrayList的基本用法包括创建ArrayList对象、添加元素、获取元素、修改元素、删除元素等。首先,可以使用如下代码创建一个空的ArrayList对象: ```java ArrayList<String> list = new ArrayList<String>(); ``` 上面代码创建了一个类型为StringArrayList对象,该对象初始为空。然后,可以使用add()方法向ArrayList中添加元素,例如: ```java list.add("apple"); list.add("banana"); list.add("orange"); ``` 上述代码向list中添加了三个字符串元素。可以使用get()方法获取ArrayList中的元素,例如: ```java String first = list.get(0); // 获取第一个元素 ``` 可以使用set()方法修改ArrayList中的元素,例如: ```java list.set(1, "pear"); // 将第2个元素改为"pear" ``` 可以使用remove()方法删除ArrayList中的元素,例如: ```java list.remove(2); // 删除第3个元素 ``` 以上就是ArrayList的基本用法。需要注意的是,ArrayList中的索引从0开始。 ### 回答2: ArrayListJava中非常常用的数据结构。它提供了一个可以动态添加、删除、修改的可变长度的序列。 使用ArrayList时,首先需要引入它的包:java.util。然后可以使用如下语法创建一个ArrayList对象: ```java ArrayList<String> list = new ArrayList<String>(); ``` 这里的`<String>`说明了这个ArrayList中的元素类型是String。当然,也可以使用其他类型作为元素类型。例如: ```java ArrayList<Integer> numbers = new ArrayList<Integer>(); ArrayList<Double> prices = new ArrayList<Double>(); ``` 可以使用`add()`方法来向ArrayList中添加元素: ```java list.add("apple"); list.add("orange"); list.add("banana"); ``` 可以使用`get()`方法来获取指定位置的元素: ```java String fruit = list.get(1); //获取第二个元素,即"orange" ``` 可以使用`size()`方法来获取ArrayList中元素的个数: ```java int size = list.size(); //获取ArrayList中元素的个数 ``` 可以使用`set()`方法来修改指定位置的元素: ```java list.set(1, "pear"); //将第二个元素修改为"pear" ``` 可以使用`remove()`方法来删除指定位置的元素: ```java list.remove(2); //删除第三个元素,即"banana" ``` 需要注意的是,ArrayList中的元素是有序的,且可以重复。因此,可以使用循环来遍历ArrayList中的元素: ```java for(int i=0; i<list.size(); i++){ String fruit = list.get(i); System.out.println(fruit); } ``` 或者使用增强型循环(foreach): ```java for(String fruit : list){ System.out.println(fruit); } ``` 总之,使用ArrayList可以方便地处理可变长度的序列。在实际开发中,它有着广泛的应用场景,例如处理文件或数据库中的数据,实现算法或数据结构等。 ### 回答3: ArrayListJava中一个非常常用的容器类。他的优点是可以存储任意类型的对象,可以动态扩容,因此在使用上非常的方便。 使用ArrayList需要在代码中首先调用import java.util.ArrayList进行导入,随后可以通过ArrayList<类型> name = new ArrayList<类型>()这个语句声明一个ArrayList,并将其命名为name,同时指定ArrayList中存储的对象类型为类型。当我们需要添加元素时,可以通过name.add(element)将元素添加到ArrayList中。我们也可以通过name.get(index)方法获取ArrayList中指定位置的元素,通过name.set(index,value)方法将ArrayList中某个位置的元素替换为新的元素。同时,我们也可以调用name.size()方法获取ArrayList中元素的数量。 值得注意的是,ArrayList中的元素是以索引的方式存储的,这意味着我们可以根据元素的位置进行添加、修改、删除等操作。而且,由于ArrayList的容量是可变的,因此其内部必须动态地管理数据的内存,这会影响到ArrayList的性能。当然,这个影响是很小的,不会对代码的运行产生显著的影响。 总之,ArrayListJava中非常常用的容器类,其可以存储任意类型的对象,同时调用也非常方便。但在使用时需要注意其操作的复杂度,以及不能存储基本数据类型。如果需要在ArrayList中存储基本数据类型,需要借助Boxing和Unboxing机制将其转换为对应的包装类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值