位置: IT常识 - 正文

【手把手带你学JavaSE】String类(下篇)(手把手教大家)

发布时间:2024-01-17
【手把手带你学JavaSE】String类(下篇) 目录前言一、字符串查找二、字符串转换2.1 数值和字符串转化2.2 大小写转化2.3 字符串和数组的转换2.4 格式化三、字符串替换四、字符串拆分4.1 拆分处理4.2 部分拆分4.3 拆分IP地址五、字符串截取六、其他的方法6.1 String trim()6.2 boolean isEmpty()6.3 int length()6.4 判断字符串开头结尾6.5 boolean contains(String str)七、StringBuilder&&StirngBuffer7.2 String、StringBuffer、StringBuilder的区别前言

推荐整理分享【手把手带你学JavaSE】String类(下篇)(手把手教大家),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:手把手教大家,手把手教大家,手把手教,手把手教你易学入门,手把手教你学,手把手教会你,手把手教学视频,手把手教会你,内容如对您有帮助,希望把文章链接给更多的朋友!

上篇我们已经学习了String类的一些知识,接下来我们接着学习!

一、字符串查找

字符串查找也是字符串中非常常见的操作,String类提供的常用查找的方法。

二、字符串转换2.1 数值和字符串转化

static String valueof() 数值转字符串 Integer.parseInt() 字符串整形 Double.parseDouble() 字符串转浮点型

class Student{ String name; int age; public Student(String name,int age){ this.name = name; this.age = age; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; }}public class Test { public static void main(String[] args) { String s1 = String.valueOf(123); String s2 = String.valueOf(12.3); String s3 = String.valueOf(true); String s4 = String.valueOf(new Student("ahdiauhd",23)); System.out.println(s1); System.out.println(s2); System.out.println(s3); System.out.println(s4); System.out.println("==========================="); int data1 = Integer.parseInt("1234"); double data2 = Double.parseDouble("12.5"); System.out.println(data1); System.out.println(data2); }}

2.2 大小写转化

String toUpperCase() 转大写 String toLowerCase() 转小写 这两个函数只转换字母。

public static void main(String[] args) { String s1 = "Hello"; String s2 = "HADSDKJA"; //小写转大写 System.out.println(s1.toUpperCase()); //大写转小写 System.out.println(s2.toLowerCase()); }

2.3 字符串和数组的转换

char[ ] toCharArray() 字符串转数组 new String(数组引用) 数组转字符串

public static void main(String[] args) { String s = "Hello"; //字符串转数组 char[] ch = s.toCharArray(); for (int i = 0; i < ch.length; i++) { System.out.println(ch[i]); } System.out.println("==================="); //数组转字符串 String s2 = new String(ch); System.out.println(s2); }

2.4 格式化

static String format( );

public static void main(String[] args) { String s = String.format("%d-%d-%d",2022,9,17); System.out.println(s); }

三、字符串替换

使用一个指定的新的字符串替换掉已有的字符串数据,可用的方法如下:

public static void main(String[] args) { String s = "Hello World!"; System.out.println(s.replace("l","a")); System.out.println(s.replaceFirst("l","k")); }

注意事项: 由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串。

四、字符串拆分

可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。

4.1 拆分处理public static void main(String[] args) { String s1 = "Hello World! Hahaha asjkd"; String[] arr = s1.split(" ");//按空格拆分 for (String s:arr) { System.out.println(s); } }

4.2 部分拆分public static void main(String[] args) { String s1 = "Hello World! Hahaha asjkd"; String[] arr = s1.split(" ",2); for (String s:arr) { System.out.println(s); } }

4.3 拆分IP地址public static void main(String[] args) { String str = "188.166.1.1" ; String[] arr = str.split("\\.") ; for(String s: arr) { System.out.println(s); } }

五、字符串截取【手把手带你学JavaSE】String类(下篇)(手把手教大家)

public static void main(String[] args) { String s = "Hello World!"; System.out.println(s.substring(0)); System.out.println(s.substring(0,5)); }

1. 索引从0开始。 2. 注意前闭后开区间的写法, substring(0, 5) 表示包含 0 号下标的字符, 不包含 5 号下标 。

六、其他的方法6.1 String trim()

方法:String trim()

功能:去掉字符串中的左右空格,保留中间空格。

public static void main(String[] args) { String s = " Hello World "; System.out.println("[" +s+"]"); System.out.println("[" +s.trim()+"]"); }

6.2 boolean isEmpty()

isEmpty() 方法用于判断字符串是否为空

public static void main(String[] args) { String s = " "; System.out.println(s.isEmpty()); }

6.3 int length()

用于求字符串的长度

public static void main(String[] args) { String s = "MoyuWangPangdudu"; System.out.println(s.length()); }

6.4 判断字符串开头结尾

boolean startsWith(String prefix) 判断字符串是否以某个字符串开头的 boolean endWith(String sufix) 判断字符串是否以某个字符串结尾的

public static void main(String[] args) { String s = "MoyuWangPangdudu"; System.out.println(s.startsWith("Mo")); System.out.println(s.endsWith("dudu")); }

6.5 boolean contains(String str)

判断字符串中是否包含某个字符串

public static void main(String[] args) { String s = "MoyuWangPangdudu"; System.out.println(s.contains("Wang")); }

七、StringBuilder&&StirngBuffer

由于String的不可更改特性,为了方便字符串的修改,Java中又提供StringBuilder和StringBuffer类。

这两个类大部分功能是相同的,这里介绍 StringBuilder常用的一些方法.

public static void main(String[] args) { StringBuilder sb1 = new StringBuilder("Hello"); StringBuilder sb2 = sb1; //追加:即尾插->字符、字符串、整型数字 sb1.append(" ");//Hello sb1.append("World!");//Hello World! sb1.append(123);//Hello World!123 System.out.println(sb1); System.out.println(sb1 == sb2);//true System.out.println(sb1.charAt(0)); // 获取0号位上的字符 H System.out.println(sb1.length());// 获取字符串的有效长度17 System.out.println(sb1.capacity());// 获取底层数组的总大小 sb1.setCharAt(0, 'h'); // 设置任意位置的字符 hello World!123 sb1.insert(0,"Hello World!!");// Hello world!!Hello World!123 System.out.println(sb1); System.out.println(sb1.indexOf("Hello")); // 获取Hello第一次出现的位置 System.out.println(sb1.lastIndexOf("hello"));// 获取hello最后一次出现的位置 sb1.deleteCharAt(0); // 删除首字符 System.out.println(sb1); sb1.delete(0,5);// 删除[0, 5)范围内的字符 System.out.println(sb1); String str1 = sb1.substring(0,5);// 截取[0, 5)区间中的字符以String的方式返回 System.out.println(str1); sb1.reverse();//字符串逆转 str1 = sb1.toString(); // 将StringBuffer以String的方式返回 System.out.println(str1); }

String和StringBuilder最大的区别在于String的内容无法修改,而StringBuilder的内容可以修改。频繁修改字符串的情况考虑使用StringBuilder 。

注意:

String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:

String变为StringBuilder: 利用StringBuilder的构造方法(StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容)或append()方法

StringBuilder变为String: 调用StringBuilder重写的toString()方法

7.2 String、StringBuffer、StringBuilder的区别String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.StringBuffer与StringBuilder大部分功能是相似的StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操作
本文链接地址:https://www.jiuchutong.com/zhishi/300115.html 转载请保留说明!

上一篇:使用nodejs写接口(nodejs写后端接口)

下一篇:AcWing - 蓝桥杯集训每日一题(DAY 1——DAY 5)(蓝桥杯咋样)

  • 新浪微博增加高质量粉丝的技巧(新浪微博怎么提高权重)

    新浪微博增加高质量粉丝的技巧(新浪微博怎么提高权重)

  • 华为mate30pro必要贴膜吗(华为mate 30 pro需要配手机壳吗)

    华为mate30pro必要贴膜吗(华为mate 30 pro需要配手机壳吗)

  • 钉钉视频会议有回放功能吗(钉钉视频会议有观看时长吗)

    钉钉视频会议有回放功能吗(钉钉视频会议有观看时长吗)

  • 华为手机曝光照片怎么拍(华为手机曝光模式怎么办)

    华为手机曝光照片怎么拍(华为手机曝光模式怎么办)

  • 小米8显示充电但是电量不涨(小米显示充电功率)

    小米8显示充电但是电量不涨(小米显示充电功率)

  • 橙v和黄v有什么区别(橙v和黄v有什么关系)

    橙v和黄v有什么区别(橙v和黄v有什么关系)

  • 开发版稳定版哪个流畅(开发版比稳定版好在哪里)

    开发版稳定版哪个流畅(开发版比稳定版好在哪里)

  • nfc开锁是什么意思(nfc开门功能是什么意思)

    nfc开锁是什么意思(nfc开门功能是什么意思)

  • 微信只能发不能收是怎么回事(微信只能发不能收信息)

    微信只能发不能收是怎么回事(微信只能发不能收信息)

  • 荣耀play微信视频能美颜吗(荣耀play4微信视频时如何关掉美颜)

    荣耀play微信视频能美颜吗(荣耀play4微信视频时如何关掉美颜)

  • 荣耀v30没有耳机孔怎么听歌(荣耀v30插耳机没反应)

    荣耀v30没有耳机孔怎么听歌(荣耀v30插耳机没反应)

  • ps怎么添加横线(ps怎么添加横线和竖线)

    ps怎么添加横线(ps怎么添加横线和竖线)

  • vivox27怎么开启微信美颜(vivoX27怎么开启老年模式)

    vivox27怎么开启微信美颜(vivoX27怎么开启老年模式)

  • 三星note10无线充电多少w(三星note10无线充电已暂停)

    三星note10无线充电多少w(三星note10无线充电已暂停)

  • kiw-al10是什么型号(kiw-al10多少钱)

    kiw-al10是什么型号(kiw-al10多少钱)

  • vivox9s如何还原出厂(vivo x9还原所有设置)

    vivox9s如何还原出厂(vivo x9还原所有设置)

  • 苹果7怎么避免烧基带(苹果怎么避免半夜微信电话挂断)

    苹果7怎么避免烧基带(苹果怎么避免半夜微信电话挂断)

  • win10为什么装不回win7(Win10为什么装不了Au2022)

    win10为什么装不回win7(Win10为什么装不了Au2022)

  • 如何降低网站改版风险(调整网站)

    如何降低网站改版风险(调整网站)

  • VUE前端实现“模糊搜索“(纯前端)(vue前端页面设计)

    VUE前端实现“模糊搜索“(纯前端)(vue前端页面设计)

  • 基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)(基于Selenium的自动化测试平台设计与实现)

    基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)(基于Selenium的自动化测试平台设计与实现)

  • 不是吧,阿sir,还有人不会制作影院订票系统前端页面吗?(拿来就用)(不是吧阿sir表情包)

    不是吧,阿sir,还有人不会制作影院订票系统前端页面吗?(拿来就用)(不是吧阿sir表情包)

  • CSS设置背景图片不显示的解决方法(css设置背景图片填充)

    CSS设置背景图片不显示的解决方法(css设置背景图片填充)

  • 有形动产租赁属于营改增吗
  • 定额发票收入怎么报税
  • 个税申报 两种方式
  • 增值税发票的抵扣联丢了怎么办
  • 递延收益负债类科目
  • 航运(集团)招聘
  • 工程成本控制方法
  • 不能抵扣的普通发票
  • 一般纳税人租赁费的税率是多少
  • 收到赔偿怎么做账
  • 劳务派遣能不能预支工资
  • 抵缴以前年度多缴所得税如何做会计分录?
  • 个人借款无法收回确认坏账账务处理
  • 查账征收企业所得税申报表怎么填
  • 个人所得税生产经营所得税率表2023
  • 外地职工医保怎么报销
  • 对方公司已注销,我公司应付款怎样支付
  • 企业年金企业所得税扣除标准
  • 差额纳税和全额纳税
  • 受让股东对出让股东抽逃出资
  • 无偿捐赠增值税计算公式
  • Win10中macos big sur虚拟机无法连接网络怎么办?
  • 调解仲裁法什么时候实施
  • 国际电汇是什么意思
  • 重置组策略命令
  • window102020年最新版本
  • 代扣代缴个人工会经费 企业所得税
  • 微软surface售后电话人工
  • 弥补以前年度亏损怎么填申报表
  • 腾讯云php
  • 转销盘盈会计分录
  • excel js宏
  • 微信怎么开小
  • 如何一次性删除微信账单记录
  • 采矿权如何进行融资
  • c语言fread函数的用法示例
  • python删除列表的方法
  • 农产品普通发票进项税抵扣
  • 年终奖的个税税率表
  • 视同小规模纳税人是有?
  • 公司租用个人房子凭收据可以入账吗
  • 支付境外培训费要交关税么
  • 固定资产的认定标准2022
  • 留抵进项税额怎么做分录
  • 简易征收预缴税率怎么算
  • 纳税实务的涉税业务分几类
  • 公交车经营权转让案例
  • 非货币性资产交换换入资产的入账价值
  • 收到采购材料发票款未付会计分录
  • 委外研发费用如何入账
  • 以前年度损益调整是什么意思
  • 去年多计提的费用
  • 计划成本下
  • 核定征收也需要报税务报表吗?
  • 现金日记账需要日清月结吗
  • 发生额大额标准怎么确定
  • MySQL 5.5.x my.cnf参数配置优化详解
  • win10上如何安装hd4850驱动
  • 删除了c盘文件
  • 科普知识手抄报简单又漂亮
  • winxp系统如何安装
  • winXP系统下qq不能视频聊天该怎么办?
  • msmpeng.exe是什么进程
  • win10字体边缘模糊
  • desl.exe是什么
  • 批处理删除注册表指定项
  • 11月编程语言排行榜出炉
  • cocos2dx运行原理
  • jquery 选中
  • 批处理的应用
  • 每次开机windows桌面更新
  • nodejs model
  • linux的sed -i
  • js tabs
  • 深入理解中国式现代化
  • Activity的四种加载模式
  • java script js
  • python ftp storbinary
  • 河北电子税务局电话
  • 眉山市两会2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号