java常用应用程序编程接口(API)——String概述及使用案例

前言:

开始学到api的String,整理下心得。打好基础,daydayup!

API:

API是什么?

API(Application Programming Interface)又名应用程序编程接口。是别人编好的程序的合集。

为什么要使用API?

因为可以直接拿去调用解决问题。开发效率高。

API中都有哪些程序可以使用?

java有api使用手册(但是是英文的),需要jdk17的中文api文档的可以点击这里—— jdk17API中文手册

 如何在java中使用API?

程序都放在包(package)里,需要到包里去调用。

java中如何导包?

有几种情况

1当前程序中,要调用自己所在包下的其他程序,可以直接调用。(同一个包下的类,互相可以直接调用 

2当前程序中,要调用其他包下的程序,则必须在当前程序中导包, 才可以访问。导包格式:

​​​​​​​import 包名.类名;

 例:如下图

 

3当前程序中,要调用java提供的程序,也需要先导包才可以使用;但是Java.lang包下的程序是不需要我们导包的,可以直接使用。

4当前程序中,要调用多个不同包下的程序,而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问。

例:day11,day12里都有一个Car程序,在当前程序引入day12的包以后,可以直接写Car命令使用day12的Car命令。但如果想使用day11的Car命令,则必须带包名使用。

String语句

什么是String?

String是一种常用API,属于java.lang包下,代表字符串对象,可以用来封装字符串数据,并提供了很多操作字符串的方法。

 String使用场景有哪些?

除了赋值字符串以外,还可用于账号登陆匹配,屏蔽不规范文字,信息关键字检索等多个场合。

 String类创建对象封装字符串数据的方式?

1,直接使用双引号赋值
String a = "llll"
2,调用构造器初始化字符串对象
String a = new String("lll")

String的常用方法

1,获取字符串的长度
格式:public int length​()
例:String q = "yojimbo";System.out.println(q.length());
2,提取字符串中某个索引位置的字符
格式:public char charAt​(int index)
例:
String q = "yojimbo"; 
char q1 = q.charAt(1);System.out.println(q1);
 3,把字符串转换成数组,再进行遍历
格式:public char[] toCharArray​():
例:
String q = "yojimbo";
char [] q3 = q.toCharArray();for (int i = 0; i < q3.length; i++) {System.out.print(q3[i]+" ");}System.out.println("");
4,判断字符串内容,如果相同输出true
格式:public boolean equals(Object anObject) 
例:String e = new String("lol");String e1 = new String("lol");System.out.println(e == e1);//false//虽然内容相同,但是地址不同,所以输出falseSystem.out.println(e.equals(e1));//true//所以比较内容要用这种方式
5,忽略大小写比较字符串内容
格式:public boolean equalsIgnoreCase(String anotherString)
例:String r = "qwer";String r1 = "QWER";System.out.println(r.equalsIgnoreCase(r1));//true
 6,截取字符串内容(包前不包后)
格式:public String substring(int beginIndex, int endIndex) 
例:
String t = "yojimbo就是我";String t1 = t.substring(0,7);System.out.println(t1);//可输出yojimbo
7,从当前索引位置一直截取到字符末尾
格式:public String substring(int beginIndex) 
例:
String t2 = t.substring(7);System.out.println(t2);
//可输出“就是我”
 8,把字符串中的某个内容替换成新的内容,并返回新的字符串
格式:public String replace(CharSequence target, CharSequence replacement) 
例:
String y = "你是一个大笨蛋";String y1 = y.replace("笨蛋","天才");System.out.println(y1);
9,判断字符串中是否包含某个关键字
格式:public boolean contains(CharSequence s)
例:
String u = "我是大天才";System.out.println(u.contains("天才"));
//查看是否包含天才
10,判断字符串是否以某个字符串开头
格式:public boolean startsWith(String prefix)
例:String i = "yojimbo";System.out.println(i.startsWith("yo"));
//查看是否以yo开头
 11,把字符串按照某个指定内容分割成多个字符串,放到一个字符串数组中返回来
格式:public String[] split(String regex) 
例:
String o = "luck;kuku;shuai;tiancai";String [] o1 =o.split(";");System.out.println(o1);for (int j = 0; j < o1.length; j++) {System.out.print(o1[j]+" ");}System.out.println("");
//把数据拆分成luck kuku shuai tiancai,4个单独的数据

 案例:

1,完成用户登陆

需求:系统正确的登录名和密码是:yojimbo/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序(注意:要求最多给用户三次登录机会)

实验思路:1,可以输入用户名及密码(Scanner);2,可以对比正确号码(equals);3,只能输错3次密码(for<3)

public class StringDemo3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);for (int i = 0;i < 3;i ++) {System.out.println("请输入用户名");String n= sc.next();System.out.println("请输入密码");String p = sc.next();boolean a =login(n,p);if (a){System.out.println("登陆成功");break;}else{System.out.println("登陆失败,请重新登陆");}}}public static boolean login(String name, String password){String okname = "yojimbo";String okpassword = "123456";return (name.equals(okname)&& password.equals(okpassword));}
}

实验结果:实验成功

2,随机生成验证码

需求:实现随机产生验证码,验证码的每位可能是数字、大写字母、小写字母。

实验思路:1,可随机生成几位验证码;2,随机输出数字,字母;

public class StringDemo4 {public static void main(String[] args) {System.out.println(code(8));}public static String code(int n){String q ="";String q1 ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";Random r = new Random();for (int i = 0; i < n; i++) {int  imp= r.nextInt(q1.length());q += q1.charAt(imp);}return q;}
}

实验结果:实验成功

总结结束,撒花!!!!!

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

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

相关文章

5分钟搭建开源运维监控工具Uptime Kuma并实现无公网IP远程访问

文章目录 **主要功能**一、前期准备本教程环境为&#xff1a;Centos7&#xff0c;可以跑Docker的系统都可以使用本教程安装。本教程使用Docker部署服务&#xff0c;如何安装Docker详见&#xff1a; 二、Docker部署Uptime Kuma三、实现公网查看网站监控四、使用固定公网地址访问…

数组中元素的插入和查找算法探究

数组的查找 线性查找 概念 线性查找也叫顺序查找&#xff0c;这是最基本的一种查找方法&#xff0c;从给定的值中进行搜索&#xff0c;从一端开始逐一检查每个元素&#xff0c;直到找到所需元素的过程。 元素序列的排列可以有序&#xff0c;也可以无序。 代码实现 public cl…

JVM,Java堆区、新生代、老年代,创建对象的内存分配,分代垃圾收集思想、堆区产生的错误

JVM堆区 堆&#xff08;Heap&#xff09;堆区的组成&#xff1a;新生代老年代堆空间的大小设置创建对象的内存分配堆区的分代垃圾收集思想堆区产生的错误 堆&#xff08;Heap&#xff09; ​ Heap堆区&#xff0c;用于存放对象实例和数组的内存区域 ​ Heap堆区&#xff0c;是…

Vue2:通过props给组件传数据

一、业务场景 我们在使用Vue组件时&#xff0c;常常会复用Vue组件&#xff0c;那么&#xff0c;问题来了&#xff0c;复用的时候&#xff0c;业务数据不相同&#xff0c;怎么办了&#xff1f; 这里我们就需要学习新的属性&#xff1a;props来实现这个功能。 这样&#xff0c;组…

探寻未来卫生新境界:互联网公厕是什么意思

近年来&#xff0c;科技的飞速发展深刻改变了我们生活的方方面面&#xff0c;而公共卫生领域也在这场变革中迎来了一场前所未有的革命。在这个新时代&#xff0c;一个备受瞩目的概念逐渐崭露头角——那就是“互联网公厕”。这究竟意味着什么&#xff1f;是一场卫生革新的崛起&a…

swaggerUI不好用,试试这个openapiUI?

title: swaggerUI不好用&#xff0c;试试这个openapiUI? date: 2024-01-08 categories: [tool] tags: [openapi,工具] description: 基于swaggger2, openapi3规范的UI文档 1.背景 由于长期使用 swaggerUI 工具&#xff0c;它的轻量风格个人觉得还是不错的&#xff0c;但是它…

【漏洞复现】Hikvision SPON IP网络对讲广播系统存在命令执行漏洞CVE-2023-6895

漏洞描述 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版…

vulhub中的Apache SSI 远程命令执行漏洞

Apache SSI 远程命令执行漏洞 1.cd到ssi-rce cd /opt/vulhub/httpd/ssi-rce/ 2.执行docker-compose up -d docker-compose up -d 3.查看靶场是否开启成功 dooker ps 拉取成功了 4.访问url 这里已经执行成功了&#xff0c;注意这里需要加入/upload.php 5.写入一句话木马 &…

微信预约小程序制作指南:从小白到专家

在当今的数字时代&#xff0c;微信小程序已经成为了一种非常流行的应用方式。预约功能更是成为了许多小程序的核心功能之一。如果你也想为你的小程序添加预约功能&#xff0c;以下步骤将会对你有所帮助。 一、进入乔拓云网后台 乔拓云网是一个在线小程序开发平台&#xff0c;你…

如何使用Docker部署开源CMF Drupal并结合cpolar内网穿透远程访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS&#xff0c;适用于各种不同的网站项目&#xff0c;从小型个人博客到大型企业级门户网站。它的学习…

【软考中级-软件设计师】day4:数据结构-线性表、单链表、栈和队列、串

大纲 线性结构 顺序存储和链式存储区别 单链表的插入和删除 真题 栈和队列 真题 串

kubectlkubeletrancherhelmkubeadm这几个命令行工具是什么关系?

背景 在最近学习k8s的过程中&#xff0c;发现kubectl&kubelet&rancher&helm&kubeadm这几个命令怎么在交错使用&#xff0c;他们究竟是什么关系&#xff1f;他们分别应该在什么情况下使用呢&#xff1f;这里我进行了简单的总结&#xff0c;做个区分。 各工具说…

性能分析与调优: Linux 实现 缺页剖析与火焰图

目录 一、实验 1.环境 2.缺页(RSS增长)剖析与火焰图 一、实验 1.环境 &#xff08;1&#xff09;主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter…

实现锚点定位功能(React/Vue)

前言 最近接到一个需求&#xff0c;修改某某页面&#xff0c;增加XXX功能&#xff0c;并实现个锚点功能。做产品就是不断优化&#xff0c;增加功能的过程。实现锚点的方式很多&#xff0c; 很多UI库也提供了组件&#xff0c;可以根据自己的需求调整一下组件库也可以实现&#…

vulhub中的Apache HTTPD 换行解析漏洞(CVE-2017-15715)详解

Apache HTTPD 换行解析漏洞&#xff08;CVE-2017-15715&#xff09; 1.cd到CVE-2017-15715 cd vulhub/httpd/CVE-2017-15715 2.运行docker-compose build docker-compose build 3.运行docker-compose up -d 4.查看docker-compose ps 5.访问 出现这个表示安装成功 6.漏洞复现…

Linux系统操作命令

Linux管理 在线查询Linux命令&#xff1a; https://www.runoob.com/linux/linux-install.htmlhttps://www.linuxcool.com/https://man.linuxde.net/ 1.Linux系统目录结构 Linux系统的目录结构是一个树状结构&#xff0c;每一个文件或目录都从根目录开始&#xff0c;并且根目…

MySQL语法练习-DML语法练习

文章目录 0、相关文章1、添加数据2、修改数据3、删除数据4、总结 0、相关文章 《MySQL练习-DDL语法练习》 1、添加数据 # 给指定字段添加数据 insert into 表名 (字段名1,字段名2,...) values(值1,值2...);# 给全部字段添加数据 insert into 表名 values(值1,值2,...);#批量…

Docker查看镜像的Dockerfile

前言 在使用Docker构建应用程序时&#xff0c;我们可以通过Dockerfile定义应用程序的环境&#xff0c;并将其打包成一个镜像。有时&#xff0c;我们可能需要查看一个已经构建好的镜像的Dockerfile&#xff0c;以了解镜像是如何构建的&#xff0c;或者进行后续的修改和调整。本…

python股票分析挖掘预测技术指标知识之蜡烛图指标(6)

本人股市多年的老韭菜&#xff0c;各种股票分析书籍&#xff0c;技术指标书籍阅历无数&#xff0c;萌发想法&#xff0c;何不自己开发个股票预测分析软件&#xff0c;选择python因为够强大&#xff0c;它提供了很多高效便捷的数据分析工具包。 我们已经初步的接触与学习其中数…

利用格式工厂,做视频的剪辑

接到一个工作&#xff0c;一段视频中&#xff0c;需要抠除其中某一段 其实 剪映、苹果手机的视频编辑功能&#xff0c;都可以轻松搞定 只是清晰度会有损伤 而且对于太大的视频&#xff0c;苹果手机就没法处理了。 很多软件在导出高清视频时&#xff0c;需要会员收费&#xff0…