小白备战蓝桥杯:Java常用API

目录

一、什么是API

二、API帮助文档的使用

三、String

String中的成员方法都不会修改原字符串

String是啥?

String常见构造方法

equals:字符串比较(区分大小写)​编辑

equalsIgnoreCase:字符串比较(不区分大小写)

toCharArray:将字符串转换成字符数组(常用于字符串遍历)

length:返回字符串长度

charAt:返回指定索引处的char值(常用于字符串遍历)

substring:字符串截取 

​编辑

replace:字符串替换​编辑

split:字符串切割

四、StringBuilder

StringBuilder通常会修改原字符串内容

StringBuilder是啥?

StringBuilder的构造方法

append:追加,返回对象自己

reverse:反转字符串,返回对象自己

length:返回字符串长度

toString:将StringBuilder转化成String并返回

五、Math工具类

        public static int abs (int a) : 获取参数绝对值

        public static double ceil (double a) : 向上取整

        public static double floor (double a) : 向下取整

        public static int round (float a) : 四舍五入

        public static int max (int a, int b) : 获取两个int值中的较大值

        public static double pow (double a,double b) : 返回a的b次幂的值

        public static double random () : 返回值为double的随机值,范围[0.0,1.0)

六、Arrays工具类

public static String toString (类型[] a) : 将数组元素拼接为带有格式的字符串

public static boolean equals (类型[] a, 类型[] b) : 比较两个数组内容是否相同

public static int binarySearch (int[] a, int key) : 查找元素在数组中的索引 (二分查找法: 保证数组的元素是排好序的)。如果查找的元素在数组中不存在: 返回 (-(插入点) - 1)

public static void sort (类型[] a) : 对数组进行默认升序排序


一、什么是API

就是别人写好的一些类,给咱们程序员直接拿去调用即可解决问题的

我们之前接触过的Scanner和Random都是API

但java中提供的API很多,我们没有必要去学习所有的API,只需要知道一些常用的API,再借助帮助文档去使用API

二、API帮助文档的使用

1、点击左上角显示->索引,搜索我们需要使用的类

2、使用一个类之前,先看这个类所在的包,如果这个类所在的包是java.lang,则不需要编写导包代码,反之则需要写导包代码(如:import java.util.Scanner)

3、看这个类的介绍

4、看这个类的构造方法,根据构造方法才能将这个对象创建出来

5、看这个类的成员方法,看介绍、方法名、返回值、参数

三、String

String中的成员方法都不会修改原字符串

来自java.lang包,不需要编写导包代码

String是啥?

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现(例如:String s = "abc"可直接创建字符串对象)。

String常见构造方法

        // public String() : 创建一个空白字符串, 里面不含任何内容String s1 = new String();System.out.println(s1);// public String(char[] chs) : 根据传入的字符数组, 创建字符串对象char[] chs = {'a','b','c'};String s2 = new String(chs);System.out.println(s2); // "abc"// public String(String original) : 根据传入的字符串, 来创建字符串对象String s3 = new String("abc");System.out.println(s3);

上面三种方法只是常见,并非常用,最常用的还是String s = "abc"

equals:字符串比较(区分大小写)

s1.equals(s2); //将s1的内容与s2的内容进行比较,返回一个布尔值(相同为true)

equalsIgnoreCase:字符串比较(不区分大小写)

 使用方法和equals一样

toCharArray:将字符串转换成字符数组(常用于字符串遍历)

用这种方式遍历字符串效率更高!

String s = "abc";
char[] c = s.toCharArray();

length:返回字符串长度

注意:字符串中的length是一个方法,所以需要用s.length()

而数组中的length是一个属性,所以直接arr.length

s.length();

charAt:返回指定索引处的char值(常用于字符串遍历)

for(int i=0;i<s.length;i++){s.charAt(i);
}

substring:字符串截取 

传一个参数:从beginIndex开始截取到结尾(包含beginIndex)

String s = "itheima";
String result = s.substring(2); //heima

传两个参数:从beginIndex开始截取到endIndex(包含beginIndex,不包含endIndex) 

String s = "itheima";
String result = s.substring(0,2); //it

replace:字符串替换

String s = "itheima";
String result = s.replace("heima","baima"); // itbaima

split:字符串切割

String s = "192,168,1,1";String[] sArr = s.split(",");for (int i = 0; i < sArr.length; i++) {System.out.println(sArr[i]); //{192,168,1,1}}

建议: 先正常指定切割规则, 后来发现没有得到自己要的效果, 就可以尝试在规则前面, 加入 \\ 

String s = "192+168+1+1";String[] sArr = s.split("\\+");for (int i = 0; i < sArr.length; i++) {System.out.println(sArr[i]); //{192,168,1,1}}

四、StringBuilder

StringBuilder通常会修改原字符串内容

StringBuilder是啥?

StringBuilder类中的方法可大大提高字符串的操作效率!!!

来自java.lang包,不需要编写导包代码

StringBuilder是一个可变的字符序列,而Sring是一个不可变的字符序列

StringBuilder是字符串缓冲区, 将其理解是容器, 这个容器可以存储任意数据类型, 但是只要进入到这个容器, 全部变成字符串

一个有趣的例子:

public static void main(String[] args) {long start = System.currentTimeMillis();StringBuilder sb = new StringBuilder();for(int i = 1; i <= 100000; i++){sb.append(i);}System.out.println(sb);long end = System.currentTimeMillis();System.out.println(end - start);            // 运行时间:10毫秒}private static void method() {// 获取1970年1月1日0时0分0秒到现在所经历过的毫秒值 (1秒 = 1000毫秒)long start = System.currentTimeMillis();String s = "";for(int i = 1; i <= 100000; i++){s += i;}System.out.println(s);long end = System.currentTimeMillis();System.out.println(end - start);            // 运行时间:2804毫秒}

StringBuilder的构造方法

public StringBuilder() : 创建一个空白的字符串缓冲区(容器), 其初始容量为16个字符(若后续追加超过16则自动扩容)

public StringBuilder(String str) : 创建一个字符串缓冲区(容器), 容器在创建好之后, 就会带有参数的内容

StringBuilder sb = new StringBuilder(); //空字符串,初始长度为16,若后续追加超过16则自动扩容
StringBuilder sb = new StringBuilder("abc");

append:追加,返回对象自己

append(任意类型)

sb.append("红色").append("绿色").append("蓝色");

reverse:反转字符串,返回对象自己

String s = "abc";
s.reverse(); //"cba"

length:返回字符串长度

太简单了,不想多说了

toString:将StringBuilder转化成String并返回

应用场景:我数据在StringBuilder当中, 我要调用的方法是split, 但split在StringBuilder没有, 但是String有

解决: 转换为String, 再调用

StringBuilder和StringBuffer基本一样,只是StringBuilder线程不安全(但执行效率高一些),StringBuffer线程安全(但执行效率低一些)

五、Math工具类

来自java.lang包,不需要编写导包代码

Math类没有对外提供构造方法,且其中所有的成员方法都被static所修饰,所以这是一个工具类,我们调用其中的成员方法直接 类名.方法

        public static int abs (int a) : 获取参数绝对值

        public static double ceil (double a) : 向上取整

        public static double floor (double a) : 向下取整

        public static int round (float a) : 四舍五入

        public static int max (int a, int b) : 获取两个int值中的较大值

        public static double pow (double a,double b) : 返回a的b次幂的值

        public static double random () : 返回值为double的随机值,范围[0.0,1.0)

System.out.println(Math.abs(-123));         // 123System.out.println(Math.abs(-12.3));        // 12.3System.out.println("---------------------");System.out.println(Math.ceil(12.0)); //12.0System.out.println(Math.ceil(12.2)); //13.0System.out.println(Math.ceil(12.5));System.out.println(Math.ceil(12.9));System.out.println("---------------------");System.out.println(Math.floor(12.0)); //12.0System.out.println(Math.floor(12.2)); //12.0System.out.println(Math.floor(12.5));System.out.println(Math.floor(12.9));System.out.println("---------------------");System.out.println(Math.round(3.4)); //3System.out.println(Math.round(3.6)); //4System.out.println("---------------------");System.out.println(Math.max(10, 20)); //20System.out.println(Math.min(10, 20)); //10System.out.println("---------------------");System.out.println(Math.pow(2, 3)); //8System.out.println("---------------------");System.out.println(Math.random());

六、Arrays工具类

public static String toString (类型[] a) : 将数组元素拼接为带有格式的字符串

如果希望不遍历数组就看到数组中的每个元素,可用该方法将数组转成字符串并打印在控制台上

public static boolean equals (类型[] a, 类型[] b) : 比较两个数组内容是否相同

public static int binarySearch (int[] a, int key) : 查找元素在数组中的索引 (二分查找法: 保证数组的元素是排好序的)。如果查找的元素在数组中不存在: 返回 (-(插入点) - 1)

public static void sort (类型[] a) : 对数组进行默认升序排序

int[] arr1 = {11, 22, 33, 44, 55};int[] arr2 = {11, 22, 33, 44, 66};// 将数组元素拼接为带有格式的字符串System.out.println(Arrays.toString(arr1));// 比较两个数组内容是否相同System.out.println(Arrays.equals(arr1, arr2));// 查找元素在数组中的索引System.out.println(Arrays.binarySearch(arr1, 33));System.out.println(Arrays.binarySearch(arr1, 66));int[] nums = {22, 11, 55, 44, 33};System.out.println(Arrays.binarySearch(nums, 11));      // 1Arrays.sort(nums);System.out.println(Arrays.binarySearch(nums, 11));      // 0// 对数组进行默认升序排序Arrays.sort(nums);System.out.println(Arrays.toString(nums));

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

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

相关文章

【接口自动化测试入门】从0到1落地接口自动化测试!

前段时间写了一系列自动化测试相关的文章&#xff0c;当然更多的是方法和解决问题的思路角度去阐述我的一些观点。这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。 为什么要做接口测试 测试理念的演变 早些时候&#xff0c;软件研发交付流程大多遵循V型或W型的瀑布…

Java se之类和对象

目录 类的定义格式如何去自定义this的引用如何初始化对象构造方法的定义和使用 类的定义格式 class ClassName{ //属性(成员变量) //行为(成员方法) } 1>变量与方法 1.成员变量:普通成员变量 静态成员变量 2.成员方法:普通成员方法 静态成员方法 其中的静态变量与方法,在后…

文件同步及实现简单监控

1. 软件简介 rsync rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程 数据同步备份的优秀工具。在同步备份数据时&#xff0c;默认情况下&#xff0c;Rsync 通过其 独特的“quick check”算法&#xff0c;它仅同步大小或者最后修改时间发生变化的文 件或…

1146-table performance-schema.session_variables don‘t exits打卡navicat连接MySQL报错

navicat连接MySQL时报错&#xff1a; 管理员权限打开cmd 输入下面代码&#xff1a; mysql_upgrade -u root -p --force输入密码 然后就可以正常连接了。 mysql_upgrade检查所有数据库中与mysql服务器当前版本不兼容的所有表。 mysql_upgrade也会升级系统表&#xff0c;以便你…

学习spring、springmvc、mybatis、ssm所有可能用到的依赖总结,父工程pom文件依赖,<packaging>pom</packaging>

1、父工程pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/PO…

idea报错——Access denied for user ‘root‘@‘localhost‘ (using password: YES)

项目场景&#xff1a; 使用idea启动SpringBoot项目报错&#xff0c;可以根据提示看到是数据库的原因&#xff0c;显示使用了密码&#xff0c;具体报错信息如下&#xff1a; 解决方案&#xff1a; 第一步&#xff1a;先去配置文件里面查看连接MySQL的url是否正确&#xff0c;如果…

微前端 -- wujie 预加载和原理 无界传参

目录 wujie 预加载和原理 原理解析 MessageChannel 无界传参 1.全局变量 2.Props 3.event bus wujie 预加载和原理 提前把无界实例创建好 runPreload 赋值给sandbox.preload 预先加载好 startApp 判断是否有preload 需要从wujie的实例导出preloadApp,参数跟startApp 一…

frp内网穿透部署,轻松实现内网服务对外访问

FRP&#xff08;Fast Reverse Proxy&#xff09;是一种轻量级、高性能的反向代理工具&#xff0c;利用反向代理技术将公网请求转发至内网服务器上&#xff0c;并将内网服务器的响应再次转发至公网请求者。在实现内网穿透时&#xff0c;FRP能够将公网与内网之间的隔离突破&#…

互联网Java工程师面试题·RabbitMQ篇

目录 1、什么是 rabbitmq 2、为什么要使用 rabbitmq 3、使用 rabbitmq 的场景 4、如何确保消息正确地发送至 RabbitMQ&#xff1f; 如何确保消息接收方消费了消息&#xff1f; 5、如何避免消息重复投递或重复消费&#xff1f; 6、消息基于什么传输&#xff1f; 7、消息如…

苹果mac电脑如何彻底删除卸载软件?

在苹果电脑上安装和使用软件非常容易&#xff0c;但是卸载软件却可能会变得复杂和困难。不像在Windows上&#xff0c;你不能简单地在控制面板中找到已安装的程序并卸载它们。因此&#xff0c;在这篇文章中&#xff0c;我们将讨论苹果电脑怎么彻底删除软件。 CleanMyMac X全新版…

el-tooltip (element-plus)修改长度

初始状态&#xff1a; 修改后&#xff1a; 就是添加 :teleported"false"&#xff0c;问题解决&#xff01;&#xff01;&#xff01; <el-tooltipeffect"dark"content"要求密码长度为9-30位&#xff0c;需包含大小写字母、数字两种或以上与特殊字…

AtCoder ABC周赛2023 11/4 (Sat) D题题解

目录 原题截图&#xff1a; 题目大意&#xff1a; 主要思路&#xff1a; 注意事项&#xff08;很多人再这个地方掉坑&#xff09;&#xff1a; 代码&#xff1a; 原题截图&#xff1a; 题目大意&#xff1a; 给你两个数组&#xff08;A和B)长度都为n&#xff0c;然你求出一…

【Spring 源码】 贯穿 Bean 生命周期的核心类之 AbstractAutowireCapableBeanFactory

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

『 C++ 』BinarySearchTree搜索二叉树

文章目录 前言 &#x1f995;二叉搜索树的概念 &#x1f995;搜索二叉树的初始化 &#x1f995;Insert( )插入函数 &#x1f995;&#x1f47e; InsertR( ) 插入函数(递归) InOrder( ) 中序遍历打印 &#x1f995;Find( ) 查找函数 &#x1f995;&#x1f47e; Find( ) 查找函数…

C++新经典模板与泛型编程:用成员函数重载实现is_base_of

用成员函数重载实现is_base_of std::is_base_of是一个C 11标准中用于判断某个类是否是另一个类父类的类模板。 #include "killCmake.h"#include<string>using namespace std;class A { };class B : public A { public:B(int x): x_(x){} private:int x_; };/…

使用 GROUP BY 进行数据库分析:以图书销售数据库为例

让我们通过一个简单但实用的例子来理解 GROUP BY 的使用。我们将以一个图书销售数据库为例。这个数据库包含两张表&#xff1a;一张是图书信息表 (books)&#xff0c;另一张是销售记录表 (sales)。我们会先创建这两张表&#xff0c;然后插入一些数据&#xff0c;并展示如何使用…

PHP对接企业微信

前言 最近在做项目中&#xff0c;要求在后台管理中有企业微信管理的相关功能。相关准备工作&#xff0c;需要准备好企业微信账号&#xff0c;添加自建应用&#xff0c;获得相应功能的权限&#xff0c;以及agentid、secre等。 参考文档&#xff1a; 企业微信开发文档 功能实现 因…

2、Redis变慢原因排查(下)

感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(下) Redis变慢排查的上一篇【感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(上)】&#xff0c;我们是基于Redis命令为入口&#xff0c;比如命令使用不得当&#xff0c;bigkey问题&#xf…

开发短视频矩阵实时直播需要用到哪些技术?

现在越来越多的人或公司都想开发出自己的直播网站或者直播APP&#xff0c;但是在技术这一块又不知道怎么下手&#xff0c;那么我就给大家讲一下在视频直播系统开发中要了解那些知识和技术&#xff1a; 在开发上需要用的技术有&#xff1a; 摄像头采集 音视频编解码 流媒体协议…

⭐Unity 搭建UDP客户端(01) 配合网络调试助手测试

1.接收来自服务器的消息 using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using UnityEngine;public class UDPManager:MonoBehaviour {public string recvStr; //服务器返回值public string UDPClientAddRess "192.168.2.39&q…