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

有用dojo做的网站吗互联网营销师证书含金量

有用dojo做的网站吗,互联网营销师证书含金量,文创产品设计方案ppt,axure如何做网站目录: 一. 认识 String 类 二. String 类的基本用法 三. String对象的比较 四.字符串的不可变性 五. 认识 StringBuffer 和 StringBuilder 一. 认识 String 类: 在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者…

目录:

一. 认识 String 类
二. String 类的基本用法
三. String对象的比较
四.字符串的不可变性
五. 认识 StringBuffer 和 StringBuilder
一. 认识 String 类:
在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类
二. String 类的基本用法:
1.字符串构造: 我们构造字符串可以使用常量串构造, 直接newString对象: 使用字符数组进行构造
public static void main(String[] args) {// 使用常量串构造String s1 = "haha";// 直接newString对象String s2 = new String("hehe");// 使用字符数组进行构造char[] array = {'h', 'o'};String s3 = new String(array);}

注意:String是引用类型,内部并不存储字符串本身

他的存储是通过value来维护:如图:

三. String对象的比较:

1. 对于基本类型变量,==比较两个变量中存储的值是否相同

// 对于基本类型变量,==比较两个变量中存储的值是否相同
System.out.println(a == b); // false
System.out.println(a == c); // true

2.对于内置类型==比较的是变量中的值;对于引用类型==比较的是引用中的地址。

// 对于引用类型变量,==比较两个引用变量引用的是否为同一个对象
String s1 = new String("hello");
String s2 = new String("hello");
String s3 = new String("world");
String s4 = s1;
System.out.println(s1 == s2); // false
System.out.println(s2 == s3); // false
System.out.println(s1 == s4);

3.String类重写了父类Objectequals方法,Objectequals默认按照==比较,String重写equals方法后,(简单来说,equals比较的是,对象里的内容)

public static void main(String[] args) {String s1 = new String("bte");String s2 = new String("btE");String s3 = s1;System.out.println(s2 == s1);//falseSystem.out.println(s3 == s1);//ture,这里是引用比较System.out.println(s1.equals(s3));//true
}

四.字符串的不可变性 :

1.String是一种不可变对象. 字符串中的内容是不可改变。字符串不可被修改

其原因. 是String类在设计时就是不可改变的,String类实现描述中已经说明了

2.以下是jdk8中的String类的实现 :

3.  纠正 网上有些人说:字符串不可变是因为其内部保存字符的数组被final修饰了,因此不能改变。这种说法是 错误 的,不是因为String类自身,或者其内部value被final修饰而不能被修改。

4.final 修饰类表明该类不想被继承, final 修饰引用类型表明该引用变量不能引用其他对象,但是其引用对象中的 内容 可以修改
如图:

 5.但是由于维护数组的value(就是引用,也可以理解为地址),被private修饰:所以,数组的引用不能被修改:

总结:

1. String类被final修饰,表明该类不能被继承
2. value被修饰被final修饰,表明value自身的值不能改变,即不能引用其它字符数组,但是其引用空间中的内容可以修改。
五. 认识 StringBuffer 和 StringBuilder(略讲):
(一)者运行速度: 这段代码可以看出,字符串拼接还是 StringBuffer 和 StringBuilder 比较快,虽然他们,运行时会调用很多方法,但是他们,不会开辟新的字符串对象,所以速度很快。
  public static void main(String[] args) {long start = System.currentTimeMillis();String s = "";for(int i = 0; i < 10000; ++i){s += i;}long end = System.currentTimeMillis();System.out.println(end - start);start = System.currentTimeMillis();StringBuffer sbf = new StringBuffer("");for(int i = 0; i < 10000; ++i){sbf.append(i);}end = System.currentTimeMillis();System.out.println(end - start);start = System.currentTimeMillis();StringBuilder sbd = new StringBuilder();for(int i = 0; i < 10000; ++i){sbd.append(i);}end = System.currentTimeMillis();System.out.println(end - start);}

如图:

方法 说明:
StringBuff append(String str)
在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、
double、float、int、long、Object、String、StringBuff的变量
char charAt(int index)
获取index位置的字符
int length()
获取字符串的长度
int capacity()
获取底层保存字符串空间总的大小
void ensureCapacity(int
mininmumCapacity)
扩容
void setCharAt(int index,
char ch)
将index位置的字符设置为ch
int indexOf(String str)
返回str第一次出现的位置
int indexOf(String str, int fromIndex)
从fromIndex位置开始查找str第一次出现的位置
int lastIndexOf(String str)
返回最后一次出现str的位置
int lastIndexOf(String str, int fromIndex)
从fromIndex位置开始找str最后一次出现的位置
StringBuff insert(int offset, String str)
在offset位置插入:八种基类类型 & String类型 & Object类型数据
StringBuffer deleteCharAt(int index)
删除index位置字符
StringBuffer delete(int start, int end)
删除[start, end)区间内的字符
StringBuffer replace(int start, int end, String str)
将[start, end)位置的字符替换为str
String substring(int start)
从start开始一直到末尾的字符以String的方式返回
String substring(int start,int end)
将[start, end)范围内的字符以String的方式返回
StringBuffer reverse()
反转字符串
String toString()
将所有字符按照String的方式返回
(二).StringBuilder(二者方法都很多,这里示范一个) 
1. 由于 String 的不可更改特性,为了方便字符串的修改, Java 中又提供 StringBuilderStringBuffer 类。这两个类大部分功能是相同的,这里介绍 StringBuilder 常用的一些方法,其它需要用到了大家可参阅 StringBuilder在线文档: Java Platform SE 8
2. StringBuilder 的 append方法:
在尾部追加,相当于 String += ,可以追加: boolean char char[]
double float int long Object String StringBuff 的变量:
public static void main(String[] args) {String s1 = "这样";s1 += "拼接";//1.即尾插-->字符、字符串、整形数字,相当于上面的拼接StringBuilder stringBuilder = new StringBuilder("haha");System.out.println(stringBuilder.append(1));//要接受,就用toString转化为String类型String ret = stringBuilder.toString();System.out.println(ret);}

注意:String变为StringBuilder: 利用StringBuilder的构造方法或append()方法,StringBuilder变为String用toString方法。

(二).StringBuffer 和 StringBuilder区别 :

 1.StringBuffer 和 StringBuilder append方法源码如下:StringBuffer被synchronized修饰,所以,在多线程情况下,可以保证线程安全(相当于他有一个锁,在做事时候不会被别人打扰),StringBuilder 则在单线程情况下,可以保证线程安全

 

http://www.dt0577.cn/news/52259.html

相关文章:

  • 张店网站优化推广百度搜索历史记录
  • 外贸网站建设公司咨询百度关键词推广公司哪家好
  • 优化网站的方法有哪些杭州百度代理公司
  • 政府网站集约化建设范围会计培训机构
  • 咸阳网站建设哪家好永久免费crm客户管理系统
  • 电商 企业网站 福州360网站推广费用
  • 亚马逊网站推广怎么做发布平台有哪些
  • 苏州网站建设 苏州网络推广专家怎么制作网站平台
  • 蚂蚁中国网站建设今日国际新闻最新消息大事
  • wordpress问答站模板广告牌
  • 企业品牌策划书免费广州seo
  • 律师网站模版中国新闻网
  • 社交信息共享网站开发外包新乡seo网络推广费用
  • 做棋牌网站赚钱吗电脑网页制作
  • 做网站维护难吗代发关键词包收录
  • 创建自己的网站需要准备什么5g网络优化工程师
  • 查公司的口碑和评价的网站百度竞价托管哪家好
  • 网站开发工程师php岗位职责高端网站设计公司
  • 我想做个旅游网站怎么做软文写手
  • 网站空间在线解压什么是sem
  • 单位网站建设运维情况什么是交换链接
  • html5wap网站模板黄山搜索引擎优化
  • 医院各科室可以独立做网站吗2021百度seo
  • 工程业绩在建设厅网站都能查到长沙seo网络推广
  • 南京网站制作公司南京乐识专心合肥seo代理商
  • 建设一个购物网站流程天津百度推广网络科技公司
  • 小程序开发网上商城优化排名 生客seo
  • 一键优化清理手机海外网站推广优化专员
  • 织梦网站在css中怎样做导航栏疫情最新数据消息
  • 三合一网站选什么系统视频剪辑培训