JAVA之String函数的20个方法详解

JAVA之String函数的20个方法详解系统类 String 简介主要学习系统的常用方法字符串是个常量常量字符串只要是对字符串进行操作都是返回的是一个新的字符串 原字符串不能更改 练习 Stringstr1 wanglong str1 刘德华 System out println str1 字符串存在于常量池中字符串本身没有发生变化而是引用地址发生了变化相当于

系统类 String()

简介

主要学习系统的常用方法 字符串是个常量 常量字符串 只要是对字符串进行操作 都是返回的是一个新的字符串(原字符串不能更改)= 

练习

String str1 = "wanglong"; str1 = "刘德华"; System.out.println(str1); 字符串存在于常量池中 字符串本身没有发生变化 而是引用地址发生了变化 相当于指针重新指向 
String string1 = "abc"; String string2 = new String("abc"); String string3 = "abc"; == 可以比较int类型和String字符串类型 当比较int类型时,直接比较值是否相等 当比较String字符串类型时,比较的是两个字符串地址是否一样 equals只能比较字符串类型 字符串中equals方法 比较的是 两个字符串中得每一个字符 System.out.println(string1 == string2); //false System.out.println(string1 == string3); //true System.out.println(string1.equals(string2)); //true string1 和 string2 有什么不同 分别代表几个对象? string1是一个对象 常量池里的一个对象abc string2是两个对象 "abc"是一个对象 又new了一个堆区的对象 
1.获取 根据索引获取字符串中字符 返回值类型 方法名 参数 char charAt (int index) 根据字符获取在字符串中的位置 int indexof (int ch) int indexof (int ch, int fromIndex) 拼接字符串 String concat (String string1) 2.判断 是否包含这个字符串 contains(CharSequence s) 是否以这个前缀开头 startWith(String prefix) 是否以这个后缀结尾 endWith(String suffix) 
public class Demo02{ public static void fun3(){ String string = "www.baidu.com"; boolean b1 = string.contains("baidu"); System.out.println(b1); //结果为:true // 前缀 boolean b2 = string.startWith("www"); System.out.println(b2); //结果为:true // 后缀 .jpg .png .jpeg判断上传得图片是否合理 boolean b3 = string.endWith("com"); System.out.println(b3); //结果为:true } public static void fun2(){ // 包含 String str1 = "wanglong"; boolean b1 = str1.contains("an"); System.out.println(b1); //结果为:true boolean b2 = str1.contains("and"); System.out.println(b2); //结果为:false // 拼接字符串 String str2 = "chinese"; String str3 = str1 + str2; String str4 = str1.concat(str2); System.out.println(str3); //结果为:wanglongchinese System.out.println(str4); //结果为:wanglongchinese } public static void fun1(){ // 传入索引返回对应字符 String string1 = "wanglong"; char c = string1.charAt(1); System.out.println(c); //结果为:a // 传入字符,在字符串中0下标开始寻找下标 int index = string1.indexOf('g'); System.out.println(index); //结果为:7 如果找不到会返回-1 // 从2下标开始寻找字符n的下标 int index1 = string1.index('n',2); //结果为:2 // 传入字符串 查找对应位置 int index2 = string1.indexOf("ng"); System.out.println(index2); //结果为:2 } public static void main(String[] args){ fun1(); fun2(); fun3(); } } 
替换 切割 窃取子串 转换大小写 去空格 比较 判断两个字符串相等(忽略大小写) 把字符数组转化为字符串 把字符串转化为字符数组 判断字符串是否为空 
public class Demo03{ // 替换某个字符 或 字符串 public static void fun1(){ String string = "wanglong"; String string1 = string.replace('a','f'); //有两个a的话,也都会被替换掉 System.out.printlf(string1); //输出结果:wfnglong String string2 = string.replace("ng","chinese"); // 有两个ng的话,也都会被替换掉 System.out.println(string2); //输出结果:wachineselong } // 获取子字符串 public static void fun2(){ String string = "wang,long,zui,niu,bi"; //按逗号进行切割 String[] array = string.split(","); for(String str : array){ System.out.print(str + " "); //输出结果为:wang long zui niu bi } } // 截取字符串 public static void fun3(){ String string = "wanglong"; // 返回从索引往后的字符串 String string1 = string.subString(5); System.out.println(string1); //输出结果:ong // 类似random 截取时留头不留尾 String string2 = string.subString(2,6); //输出结果: nglo } // 转换大小写 public static void fun4(){ String string = "wanglong"; // 转大写 String string1 = string.toUpperCase(); String string2 = "CHINESE"; // 转小写 String string3 = string2.toLowerCase(); System.out.println(string1); //输出结果:WANGLONG System.out.println(string3); //输出结果:chinese } // 去空格 public static void fun5(){ String string = " wang long "; String string1 = string.trim(); System.out.println(string1); //输出结果:wang long } // 字符串比较 /* *字符串相等的时候 返回0 *两个字符串 长度相等时 一位一位比较 长度不相等 返回的是长度的差值 */ public static void fun6(){ String string1 = "asd"; String string2 = "asd"; int number = string.compareTo(s2); System.out.println(number); //输出结果:0 String string3 = "asdf"; String string4 = "asd"; int number1 = string3.compareTo(string4); System.out.println(number1); //输出结果为:1 String string5 = "as"; String string6 = "asd"; int number2 = string5.compareTo(string6); System.out.pritnln(number2); //输出结果:-1 String string7 = "asd"; String string8 = "asf" int number3 = string7.compareTo(string8); System.out.println(number3); //输出结果:-2 两者的ASCII值相减 char c = "轩"; System.out.println((int)c); //输出结果: 36713 Unicode码 ASCII码是Unicode码的一部分 } //判断两个字符串是否相等 忽略大小写 public static void fun7(){ String string1 = "WangLong"; String string2 = "wanglong"; boolean bool = string1.equalsIgnoreCase(String2); System.out.println(b); //输出结果为:true } /* * 把字符数组转为字符串 * 把字符串转为字符数组 * 判断字符串是否为空 */ public static void fun8(){ char[] array = {a,c,d,w,f}; String arr = new String(array); System.out.println(arr); //输出结果为:acdwf // int 型转字符串 int num = 4; String string = String.valueOf(num); System.out.println(num); //输出字符串结果:4 // 字符串转数组 String string1 = "wanglong"; char[] charArray = string1.toCharArray(); for(char c : charArray){ System.out.println(c); // 输出结果 : w a n g l o n g } //判断字符串是否为空 String string2 = "wanglong"; boolean b = string3.isEmpty(); System.out.println(b); //输出结果: false // 获取字符串长度 System.out.println(string2.length()); //输出结果:8 } public static void main(String[] args){ fun1(); fun2(); } } 

练习题

/ * 将字符串 " abc def " 反转 * @param string */ public static void fun(String string){ char[] array = string.toCharArray(); for(int i = 0; i < array.length/2; i++){ char temp = array[i]; array[i] = array[array.length - i - 1]; array[array.length - i -1] = temp; } String str = String.valueOf(array); System.out.println(str); } 
/ * 计算字符串中 "wwwdasdwwwaswwwghwwwkl" www出现的次数 */ public static void fun1(){ String str = "wwwdasdwwwaswwwghwwwklwww"; int index = 0; int count = 0; string key = "www"; while(str.contains(key)){ index = str.indexOf(key); str = str.subString(index + key.length); count ++; System.out.println(String); } } 
 / * 将字符串 " abc def "中的前后空格去掉 * 转化成 "abc def" 用代码实现(不使用系统方法) * 1.声明字符串 * 2.可以将字符串转为字符数组 * 3.声明开始坐标与结束坐标 * 4.从开始坐标寻找到第一个不是空格的字符的索引 * 5.从结尾坐标寻找到第一个不是空格的字符的索引 * 6.根据开始和结束的索引 截取字符串 注意:留头不留尾 */ public static void fun2(){ String str = " wang long "; int start = 0; int end = str.length - 1; while(str.charAt(start) == " " && start < end){ start++; } while(str.charAt(end) == " " end > start){ end--; } String string = str.subString(start, end +1); System.out.println(string); } 

增强for循环

 for (String string : strings) { // 遍历时 直接打印每一个元素 System.out.println(string); } 增强for循环 用来快速打印(快速遍历) 冒号后 是你要遍历的容器 冒号前 代表的是容器中得每个元素 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205062.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午6:54
下一篇 2026年3月19日 下午6:54


相关推荐

  • activiti 任务节点 处理人设置

    activiti 任务节点 处理人设置1.1.1.前言我们在使用activiti工作流引擎的时候,最常用的肯定是任务节点,因为在OA系统、审批系统、办公自动化系统中核心的处理就是流程的运转,流程的运转依赖于人员如何设置,人员的设置是非常重要的一个环节,所以说如果能让activiti工作流引擎运转的核心,就必须要支持强大的人员组织架构设计。下面我们先说一下activiti工作流引擎自身支持的可以直接使用的地方。我…

    2022年6月23日
    73
  • 时序数据特征提取_时间序列提取一维特征

    时序数据特征提取_时间序列提取一维特征时序数据特征提取时间序列的表示方法分段线性表示分段线性表示符号化聚合近似时间序列的相似性度量方法Minkowski距离动态时间弯曲符号化距离基于模型的距离度量方法时间序列的特征提取方法基于统计特征的分类特征提取基于构建模型的分类特征提取基于变换的分类特征提取基于分形理论的分类特征提取特征提取在提高分类的准确性中起着非常关键的作用.对时序特征提取的方法进行归纳分类,将有利于对特征提取整体性,全面性的认识.回顾现有的时间序列中特征提取的方法,将其总结为四大类,它们分别是基于基本统计方法的特征提取、

    2025年8月13日
    5
  • D-Link 路由 PCAnyWhere 端口映射

    D-Link 路由 PCAnyWhere 端口映射进入首页 设置固定DHCP服务器主机名称 IP地址(192.168.0.100)  MAC地址进入进阶设定  虚拟服务器建立新的虚拟服务器列表以下三项需建立并激活VirtualServerHTTP 192.168.0.100TCP80/80pcanywhere     192.168.0.100TCP5631/5631pcanywhere     192

    2025年11月9日
    6
  • 掌握14种UML图,清晰图示

    掌握14种UML图,清晰图示目录什么是 UML 为什么要用 UML UML 图有哪些 UML 图概览什么是类图 泛化 Generalizati 实现 Realization 关联 Association 聚合 Aggregation 组合 Composition 依赖 Dependency 什么是组件图 什么是部署图 什么是对象图 什么是包图 什么是组合结构图 什么是轮廓图 什么是用例图 什么是活动图 什么是状态机图 什么是序列图 什么是通讯图 什

    2026年3月19日
    2
  • 函数依赖关系的例子_部分函数依赖

    函数依赖关系的例子_部分函数依赖这里写自定义目录标题完全函数依赖、部分函数依赖和传递函数依赖举例1.完全依赖:2.部分函数依赖:传递函数依赖:完全函数依赖、部分函数依赖和传递函数依赖举例1.完全依赖:通过{学生学号,选修课程名}可以得到{该生本门选修课程的成绩},而通过单独的{学生学号}或者单独的{选修课程名}都无法得到该成绩,则说明{该生本门选修课程的成绩}完全依赖于{学生学号,选修课程名}2.部分函数依赖:通过{学生学号,课程号}可以得到{该生姓名},而通过单独的{学生学号}已经能够得到{该生姓名},则说明{该生姓

    2025年5月25日
    5
  • 结构体定义 typedef struct 用法详解和用法小结

    结构体定义 typedef struct 用法详解和用法小结typedef 是类型定义的意思 typedefstruc 是为了使用这个结构体方便 具体区别在于 若 structnode 这样来定义结构体的话 在定义 node 的结构体变量时 需要这样写 structnoden 若用 typedef 可以这样写 typedefstruc NODE 在申请变量时就可以这样写 NODEn 其实就相当于 NODE 是 nod

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号