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

 获取一:

小技巧:

 疑难解释:

 注意的点:

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

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24876.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完整且详细的Yolov8复现+训练自己的数据集

Yolov8 的源代码下载&#xff1a;ultralytics/ultralytics: NEW - YOLOv8 &#x1f680; in PyTorch > ONNX > CoreML > TFLite (github.com)https://github.com/ultralytics/ultralytics Yolov8的权重下载&#xff1a;Releases ultralytics/assets GitHubUltralyt…

PHP伪协议精讲(文件包含漏洞)

1、什么是PHP伪协议PHP伪协议PHP伪协议 PHP伪协议事实上就是支持的协议与封装协议&#xff0c;简单来说就是php定义的一种特殊访问资源的方法&#xff0c;在web渗透漏洞利用中常用于配合文件配合进行web攻击&#xff0c;查询到网站中隐藏的机密文件&#xff0c;造成敏感信息泄露…

聊天挂机脚本

一款多达几十个聊天挂机脚本&#xff0c;喜欢的可以加Q裙交流 379---354---178 aput-object v6, v4, v5const/4 v5, 0x2const/4 v6, 0x5new-array v6, v6, [Ljava/lang/Object;const/4 v7, 0x0const-string v8, "回复"aput-object v8, v6, v7const/4 v7, 0x1const-st…

融云 CTO 岑裕受邀出席亚马逊云科技「出海日」论坛

&#xff08;点击购买《社交泛娱乐出海作战地图》&#xff09; 6 月 9 日&#xff0c;亚马逊云科技主办的“潮向新世界”出海日活动在深圳举行&#xff0c;融云作为领军出海服务企业受邀出席。关注【融云全球互联网通信云】了解更多 在现场展位&#xff0c;融云的一站式全生态…

赫拉利x本吉奥最新对谈:AI革命会和工业革命一样,带来新的帝国和数字殖民...

来源&#xff1a;Web3天空之城 作者&#xff1a;城主 编辑&#xff1a;腾讯新闻 郝博阳 编者导语 在过去一段时间内&#xff0c;我们听到了辛顿对AI发展的忧虑和杨立昆对AI影响一贯的乐观主义发言。但同为AI三巨头之一的约书亚本吉奥虽然一早就通过签署暂停AI宣言表达了他对AI…

BFT最前线丨百度地图加入文心交通大模型和生成式 AI ;深圳第一家AI独角兽云天励飞,市值近400亿;斯坦福大学发布开源机械臂

BFT机器人 01 百度地图加入文心交通大模型和生成式 AI 日前&#xff0c;百度地图V18版本正式官宣发布文心交通大模型和生成式AI作为底层支撑&#xff0c;成为“人工智能新地图”&#xff0c;全新升级的车道导航&#xff0c;全城市范围、全驾车过程提供三维动态高精指引复杂路口…

聚观早报 | OpenAI 没有上市计划;马斯克称未来房价下跌将加速

今日要闻&#xff1a;OpenAI 没有上市计划&#xff1b;马斯克称未来房价下跌将加速&#xff1b;Coinbase被SEC起诉&#xff0c;股价闪崩&#xff1b;库克&#xff1a;苹果正密切关注ChatGPT等&#xff1b;推特正致力于开发视频直播产品 OpenAI没有上市计划 当地时间周二&…

替代 MySQL 半同步复制,Meta技术团队推出 MySQL Raft 共识引擎

MySQL Raft是MySQL数据库中一种基于Raft协议的分布式一致性复制机制。近日&#xff0c;Meta技术团队分享了他们基于Raft协议在数据库基础设施方面的实践与创新&#xff0c;并打算取代当下使用的MySQL半同步数据库&#xff08;原文是用semisynchronous databases&#xff0c;责编…

【全栈第三课】通过ChatGPT快速入门NodeJS

前言 往期全栈课程&#xff1a; Vue从入门到精通 微信小程序从入门到精通 Node.js基础 简介 Node.js是什么&#xff1f; Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O的模型&#xff0c;使其轻量又高效。Node.js …

听歌识曲--用python实现一个音乐检索器的功能

作者&#xff1a;唯心不易 字体&#xff1a;[增加 减小] 类型&#xff1a;转载 时间&#xff1a;2016-11-15 我要评论 本篇文章中主要介绍了用python实现一个音乐检索器&#xff0c;类似于QQ音乐的摇一摇识曲&#xff0c;有兴趣的同学可以了解一下。 听歌识曲&#xff0c;顾名思…

教你如何用Python抓取QQ音乐歌单及分析

学了python也有一段时间了&#xff0c;对于爬虫&#xff0c;后端的框架也有一些了解&#xff0c;但是都是在学习的时候跟着别人写的&#xff0c;感觉都不是自己的知识一样。我去年就给网易云音乐提了一个建议&#xff0c;就是通过播放量或者一个受欢迎程度来排序&#xff0c;然…

用python爬取音乐APP歌单

这篇文章&#xff0c;我们就来讲讲怎样爬取歌单&#xff0c;并且播放量从高到低排列&#xff0c;下面是爬取结果 一 核心代码如下 1.需要导入的包有 from urllib import parse from lxml import etree from urllib3 import disable_warnings import requests2.设置请求头部信息…

这几款音乐人必备的软件,你了解吗?

近几年随着各种关于音乐的综艺节目和自媒体盛行&#xff0c;音乐变得更加贴近民众。除了歌手以外的&#xff0c;音乐生产工作中的其他角色&#xff0c;例如编曲师、混音师、母带师等也渐渐走进大众的视野。 EarMaster&#xff1a;souurl.cn/b6rSSt Guitar Pro&#xff1a;sou…

某某星图sign参数解密分析

​ 大家好&#xff0c;我是TheWeiJun&#xff0c;欢迎来到我的公众号。今天给大家带来星图sign参数的解密分析&#xff0c;希望大家能够喜欢。如果你觉得我的文章内容有用&#xff0c;记得点赞&#x1f44d;&#x1f3fb;关注&#xff01; 特别声明&#xff1a;本公众号文章…

苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&…

神经网络中的损失函数

在《神经网络中常见的激活函数》一文中对激活函数进行了回顾&#xff0c;下图是激活函数的一个子集—— 而在神经网络领域中的另一类重要的函数就是损失函数&#xff0c;那么&#xff0c;什么是损失函数呢&#xff1f; 损失函数是将随机事件或其有关随机变量的取值映射为非负实…

Sam Altman 最新访谈:谈谈 AI 的未来,还有中国 AI 发展现状

Sam Altman最新访谈:这次他更结构化地谈了AI的未来,还有中国AI现状 目录 Sam Altman最新访谈:这次他更结构化地谈了AI的未来,还有中国AI现状 划重点:

苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

正在改变一切的Ai聊天机器人

ChatGPT通过Al生成的内容让我们眼花缭乱&#xff0c;从一个聊天机器人转化成推动一个创新时代的技术&#xff0c;但&#xff0c;也并非人人都知道&#xff0c;那么&#xff0c;你知道Chatgpt到底是什么吗&#xff1f; 文章目录 前言一、什么是Chatgpt&#xff1f;二、如何使用C…

人工智能、机器学习、深度学习、神经网络概念说明

目录 1.机器学习的范围2.机器学习的方法2.1回归算法2.2神经网络2.3 SVM&#xff08;支持向量机&#xff09;2.4聚类算法2.5降维算法2.6推荐算法2.7总结 3 机器学习的分类3.1 监督学习3.2 无监督学习3.3 强化学习 4 机器学习模型的评估5 机器学习的应用 6 机器学习的子类--深度学…