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

做网站应该选择怎样的公司石台做网站

做网站应该选择怎样的公司,石台做网站,wordpress外贸商店,网络使用x86架构的通用设备代替文章目录 1.基本介绍1.1创建对象1.2找到对应下标的字符1.3找到对应字符的下标1.4指定位置开始遍历1.5反向进行遍历1.6大小写之间的转换1.7字符串转换为数组1.8元素的替换1.9字符串的分割1.10字符串的截取 2.StringBuilder和StringBuffer2.1 StringBuilder的引入2.2面试题目 1.基…

文章目录

  • 1.基本介绍
    • 1.1创建对象
    • 1.2找到对应下标的字符
    • 1.3找到对应字符的下标
    • 1.4指定位置开始遍历
    • 1.5反向进行遍历
    • 1.6大小写之间的转换
    • 1.7字符串转换为数组
    • 1.8元素的替换
    • 1.9字符串的分割
    • 1.10字符串的截取
  • 2.StringBuilder和StringBuffer
    • 2.1 StringBuilder的引入
    • 2.2面试题目

1.基本介绍

C语言里面的字符串以\0结尾,java里面没有斜杠0结尾这个说法,C语言里面只能使用字符数组和指针;

1.1创建对象

下面展示的这个就是创建String对象的三个方式:

  • 直接把这个字符串传递过去,下面的就是“abcdef字符串直接传递过去;
  • 因为这个String也是一个类,因此我们就可以直接把这个new的对象传递过去;
  • 第三个方式就是传递我们的字符数组,也是可以帮助我们创建对象,这个其实就是把上面的第二个方式分步操作,显示定义字符数组,然后是把这个字符数组作为参数进行传递,第二个就是直接把这个数组作为参数进行传递;
  • equalsIgnoreCase这个方法是进行字符串之间的比较,但是会忽略大小写;

image-20241011215150305

1.2找到对应下标的字符

下面的这个就是charAt方法,这个方法的作用就是我们把这个下标传递过去,这个时候我们的返回值就是从左向右进行寻找对应下标的元素字符,然后打印输出;

image-20241011215449916

1.3找到对应字符的下标

我们也可以根据这个字符打印输出这个字符的下标,使用的就是我们的indexOf方法进行输出的;

image-20241011215550633

1.4指定位置开始遍历

如果我们想要把这个开始查找的位置进行修改,这个方法里面我们可以进行这个参数的添加,上面的是只给出来一个字符,这个就是从0下标开始查找,但是如果我们给出两个参数:第一个参数是我们开始查找的下标,第二个是查找的字符,这个时候就会从我们指定的下标开始查找;

image-20241011215630287

1.5反向进行遍历

上面的查找是进行的正向的遍历,我们可以使用这个lastIndexOf方法进行反向的便遍历,这个也可以给一个参数,可以给多个参数;

image-20241011215859497

1.6大小写之间的转换

下面的就是两个大小写字母混合组成的一个字符串,这个里面的toUpperCase就是把我们的这个已知的字符串转换为一个全部大写的字符串;

toLowerCase就是把这个已知的字符串转换为全部小写的字符串,但是需要注意的是,我们的这个转换是新创建一个一样的对象,在这个对象的基础上面进行修改,我们的这个修改都不会影响原来的字符串;

image-20241012112811040

1.7字符串转换为数组

为什么要把这个字符串转换为数组,因为转换为数组之后,我们可以使用下标对于这个里面的元素进行遍历和管理,我们可以随时随地的取出来这个数组里面的任意位置的元素;

下面还写了一个format方法,这个方法就是让这个内容以指定的格式打印出来,就是对于我们的这个打印格式进行设置的一个方法;

image-20241012133059195

1.8元素的替换

元素的替换是使用的这个replace关键字,我们的这个replace支持重载方法,下面展示的就是四种重载的方式,第一个表示把a全部替换为k字符,第二个表示把ab字符组合全部替换为klp字符组合,第三个就是把这个里面的第一个ab组合替换为klp,第四个就是把这个里面的所有的ab字符组合替换为klp字符组合这个其实和第二个没有什么区别,酌情进行选择即可;

image-20241012133339093

1.9字符串的分割

这个使用的是我们的split方法,我们的这个参数表示的就是从=位置开始分割,分割成为两个部分,我们分割之后的组成一个数组,我们使用数组进行接收,然后可以使用循环,打印出来分割之后的每一个部分的内容;

下面的这个是点号进行分割,我们的参数需要加上两个斜杠,这个主要是涉及到正则表达式,感兴趣同学课下了解即可;

image-20241012133401655

1.10字符串的截取

截取就是我们从这个字符串里面分割出来我们想要的部分,下面的两种重载的方式,第一个就是使用一个参数的substring,这个表示的就是我们的这个字符串从第三个位置开始截取,没有第二个参数就是默认到最后一个元素才会停止,如果有第二个参数,表示把这个区间里面的字符串进行截取;

image-20241012133435586

2.StringBuilder和StringBuffer

2.1 StringBuilder的引入

因为String的不可变性,为了我们更好的对于这个字符串进行修改,因此这个地方我们提供了StringBuilder和StringBuffer类;

我们下面展示的就是日常我们创建一个字符串,然后使用+进行字符串的拼接,因此这个时候两个部分就拼接到了一起,但是实际上这个是创建了一个对象,把我们的hello追加到这个里面,然后使用append再把这个world再次追加到这个字符串的后面;

因为两次追加之后我们的这个结果仍然是一个StringBuilder,因此这个时候我们使用这个toString方法,把这个对象转换为string类型的,然后打印输出,这个才是+真正发生的过程,而不是像我们的直接拼接那么简单;

image-20241012180023412

在下面的这个append的底层源码里面,我们可以看到这个添加之后就是返回的this,因此可以说明这个就是在原来的这个字符串的基础上进行修改的,然后返回的就是我们修改之后的字符串,这个进一步验证我们的stringBuilder就是可以修改的这个特性;

image-20241012180934578

2.2面试题目

String,StringBuilder,StringBuffer的区别:

  1. String的内容不可以进行修改,StringBuilder,StringBuffer的内容可以进行修改;
  2. StringBuilder,StringBuffer的大部分的功能都是相似的;
  3. StringBuilder采用同步处理,属于线程安全操作,StringBuffer没有采用同步处理,属于不安全操作;
  4. StringBuilder多在单线程的情况下使用,StringBuffer多在多线程的情况下使用

下面的这个同样是一个面试的题目,考察我们对于这个引用的理解,这个里面主要就是画出堆栈图,但是这个题目很容易错误,如果对于这个引用理解的不透彻的话;

public class Example{String str = new String("good");char[ ] ch = { 'a' , 'b' , 'c' };public static void main(String args[]){Example ex = new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str + " and ");System.out.print(ex.ch);}public void change(String str,char ch[ ]){str = "test ok";ch[0] = 'g';}
}

画图分析:从这个图里面我们可以看到原来的指向,以及这个传参之后的指向,我们的str1形参只是引用,这个时候change里面就是让这个形参执行了新的空间罢了,并没有低于这个内容进行修改,这个ch数组才是正经的对于这个引用里面的内容进行了修改,但是我们打印这个ex.str的时候指向的还是我们的原来的good这个内容;

image-20241012190943563

接下来我们还是在这个IDEA里面演示一下两个情形:下面的这个就是为了说明问题,我们的func1方法对于这个传递过来的参数,也是指向了新的空间,并没有修改,而这个func2里面才是修改这个引用指向的内容;

image-20241012191017177

通过这个题目,希望大家可以理解,同样是引用,但是我们的用法不同,结果也是不同的,我们可以让这个引用指向新的空间内容,也可以让这个引用指向的内容进行修改,需要注意甄别~~

[外链图片转存中…(img-JBBf27JB-1728731569799)]

通过这个题目,希望大家可以理解,同样是引用,但是我们的用法不同,结果也是不同的,我们可以让这个引用指向新的空间内容,也可以让这个引用指向的内容进行修改,需要注意甄别~~

http://www.laogonggong.com/news/54043.html

相关文章:

  • 网站特色栏目重要性合肥网站建设久飞
  • 比尤果网做的好的网站手机端网页开发
  • 网站制作好了怎么上传网页设计和网站开发
  • 网站建设熊掌号里属于什么领域wordpress蛋糕主题
  • 用服务器ip可以做网站吗wordpress免费主题破解
  • 网站投票功能域名除了做网站还能做什么
  • 网站建设海淀网站宣传方案
  • 网站开发制作公司网站建设新技术
  • 网站做抽奖活动网站开发用的那些语言
  • 无锡品牌网站建设介绍双语网站怎么做的
  • 线上企业订单管理系统网站能打开所有网站的浏览器
  • 精通网站建设 100泰安网站建设个人工作室
  • 网站开发php程序员做简历做得好的网站
  • 大兴建站推广长春火车站咨询电话
  • 宁波网站关键词优化公司百度商家入驻
  • 来广营做网站上海网页设计师培训班
  • 手机网站建设推广软文谷歌浏览器手机版
  • 成都网站公司google网站质量
  • pc网站做app京东公司有没有必要设计网页
  • 国外移动网站设计1688网站首页
  • wordpress攻击跳转深圳seo优化排名优化
  • 重庆网站APPhtml简易计算器代码
  • 建立网站免费移动应用开发技术有哪些
  • 手机网站推荐几个网站代运营性价比高
  • 怎么破解网站后台密码公众号运营
  • 陕西的建设厅官方网站杭州网站建设公司代理加盟
  • 网站建设 技术方案模板东莞做门户网站
  • 网站需要兼容哪些浏览器专业团队电影
  • 苏州外贸网站设计网站建设远洋国际
  • ps软件手机版下载太原百度快照优化排名