栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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中只是同一个数据类型。

 注小技巧:

 

 

2.4ArrayList 常用的API、遍历

 

2.5ArrayList集合案例 84

案例一:遍历并删除元素

 代码:

import java.util.ArrayList;

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

        ArrayList 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 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 =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 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 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;
    }

}

 获取一:

小技巧:

 疑难解释:

 注意的点:

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

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/885106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号