当前位置: 首页 > news >正文

JAVA常见API

一、字符串String

字符串的内容是不可变的,它的对象在创建后不能被更改

1. 创建字符串:

①直接赋值

②new关键字

package Test_API; public class Test { public static void main(String[] args) { //1.直接赋值 String s="abc"; System.out.println(s); //2.new + 构造方式去创建字符串对象 String s1=new String(); System.out.println(s1); //3. new + 有参构造 String s2=new String("abcd"); System.out.println(s2); //4. new + 有参构造(字符串数组) char[] chs= {'a','b','c'}; String s3=new String(chs); System.out.println(s3); //5.new + 有参构造 (字节数组) byte[] bytes={97,98,101}; String s4=new String(bytes); System.out.println(s4); } }

两种方式区别

直接赋值:代码简单,直接复用串池的数据,节省内存

new:每次都会创建一个新的的字符串对象

2. 字符串比较

boolean equals方法(要比较的字符串) 完全一样结果才是true,否则为false;

boolean equalsIgnoreCase(要比较的字符串) 忽略大小写的比较

案例:已知正确的用户名和密码,请用程序实现模拟用户登录总共给三次机会,登录之后,给出相应的提示

package API_Test; import java.util.Scanner; public class test { public static void main(String[] args){ //1.已知正确的用户名和密码 String rightUsername="zhangsan"; String rightPassword="1234"; //2.让用户录入登录的用户名和密码 Scanner sc = new Scanner(System.in); //3.比较 for(int i=1;i<=3;i++){ System.out.println("请输入用户名:"); String username=sc.next(); System.out.println("请输入密码"); String password=sc.next(); boolean result=username.equals(rightUsername) && password.equals(rightPassword); if(result == true){ System.out.println("登录成功"); break; }else{ if(i<=2){ System.out.println("登录失败,还剩"+(3-i)+"次机会"); }else{ System.out.println("登录失败,锁定"); } } } } }

3.遍历字符串

根据索引返回字符:字符串对象.charAt(int index)

数组的长度:数组名.length

字符串的长度:字符串对象.length()

package API_Test; import java.util.Scanner; public class test1 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入一个字符串:"); String s=sc.next(); for(int i=0;i<s.length();i++){ System.out.println(s.charAt(i)); } } }

4. 字符串的截取

截取到指定范围 字符串对象.substring(int beginIndex , int endIndex)

截取到末尾 字符串对象.substring (int beginIndex)

5. 字符串替换

字符串对象.replace(旧值,新值)

6.判断字符串是否包含另一个字符串

str1是否包含str2 boolean re=str1.contains("str2")

str1从1索引开始是否包含str2 boolean re=str1.startsWith("str2",1);

7.字符串查找

查找当前字符串第一次出现ch的位置 int index=str.indexOf(int ch) //参数为ch的ASCLII码

查找当前字符串最后一次出现ch的位置 int index=str.lastIndexOf(int ch)

如果查找不存在,返回-1

8.判断是否为空

boolean empty = str.isEmpty( )

9.字符串转换

把字符串转为字符数组 char[ ] array = str.tocharArry() //"abcd" ——> ['a' , 'b' ,'c' , 'd']

数组变为数字符串 String res=ArrayUtil.arrayToString(arr)

大小写转换 String upperCase = str.toUpperCase() str.toLowerCase()

10. StringBuilder

StringBuilder是字符串的一个工具类,可以让我们拼接字符串的时候效率更高

public StringBuilder() 创建StringBuilder容器,不含有任何内容

public StringBuilder(String str) 创建StringBuilder容器,包含指定的内容

public static void main(String[] args){ StringBuilder s=new StringBuilder();//创建StringBuilder的对象(容器)空参构造 StringBuilder s1=new StringBuilder("abc");//创建StringBuilder的对象(容器)带参构造 System.out.println(s1); s1.append("d");//添加 s1.reverse(); //反转 System.out.println(s1); }

StringBuilder append(任意类型) 添加数据

StringBuilder reverse() 反转容器中的内容

int length() 返回长度(字符的个数)

String toString() 转回String字符串对象

11. ArrayList集合

如果没有进行限定,集合里面可以存储任意数据类型的数据

ArrayList list = new ArrayList(); //创建一个长度为0的ArrayList集合

泛型:限定集合当中的数据类型 <数据类型>

ArrayList<String> list1=new ArrayList<String>();

集合增删改查

//添加数据 list1.add("aaa"); list1.add(0,"bb"); list1.add("ccc"); //删除元素 list1.remove("aaa"); String res=list1.remove(1); //res为被删除的元素 //修改元素 String r=list1.set(0,"zzz"); //获取元素 for(int i=0;i<list1.size();i++){ //依次获取集合中的每一个元素 System.out.println(list1.get(i)); }
http://www.rkmt.cn/news/1519600.html

相关文章:

  • 5分钟掌握ncmdump:轻松解锁网易云音乐NCM加密文件
  • 课件资料存在哪里随时查看使用?多款实用工具汇总 - 品牌测评鉴赏家
  • ArcGIS新手必看:用‘渔网’工具搞定土地利用统计,从创建格网到计算占比保姆级教程
  • 有声书制作配音用什么工具音色多?2026通通无印免费多音色AI配音教程 - 科技大爆炸
  • FM5888B USB 充电控制器
  • 资料越攒越乱?3分钟搞定学习资料分类备份!附靠谱工具 - 品牌测评鉴赏家
  • 告别盲人摸象:用Python脚本模拟UDS诊断,自动化解析NRC响应(Canoe/PCAN实战)
  • 好用的音频提取工具有哪些推荐?2026通通无印免费音频提取工具全面对比 - 科技大爆炸
  • 手机视频投屏电视全攻略:零基础操作,多种投屏工具详解 - 品牌测评鉴赏家
  • Umi-OCR终极指南:5分钟掌握免费离线文字识别神器
  • 2026年6月便携式污泥浓度计知名品牌排行榜:国产力量崛起与技术标杆深度解析 - 液体流量液位品牌推荐
  • Linux中如何用指令文件管理
  • 【会议征稿通知 | 河海大学 沈阳工程学院支持 | JPCS出版 | EI 、Scopus稳定检索】2026年电力系统与智能计算国际学术会议(PSIC 2026)
  • 从C到RISC-V汇编:手把手教你用GCC编译并分析斐波那契数列的底层实现
  • ANARCI抗体编号完整指南:3分钟学会专业抗体序列分析
  • RI-Mamba:旋转不变状态空间模型在3D检索中的突破
  • 三个手机都在自动工作,没事干
  • LS1046A SEC模块寄存器配置实战:从安全隔离到性能调优
  • EASY-HWID-SPOOFER实战:深入解析Windows硬件指纹修改技术原理与应用
  • 如何快速掌握网络压力测试:面向开发者的完整指南
  • Java中的字符串【AI全栈开发】
  • i.MX21 UART寄存器深度解析:从控制、状态到FIFO与中断实战
  • 2026年张家港二手手机店大起底,这家为何备受推荐? - 资讯速览
  • eSPI总线实战:在嵌入式Linux/BMC开发中配置Virtual Wire与OOB通信
  • 视频转文字用什么软件比较好?2026通通无印免费视频转文字工具全面实测对比 - 科技大爆炸
  • Kindle漫画转换器:5分钟打造专业级漫画阅读体验
  • 深入解析NXP QorIQ SEC的JUMP与MATH命令:硬件描述符的智能控制核心
  • OpenMTP:突破性Kalam内核技术驱动的macOS高性能Android文件传输解决方案
  • 从UPF文件到门级网表:VCS低功耗DEMO的综合实现与陷阱规避
  • Cursor Pro破解工具2025:如何彻底告别AI编程助手试用限制