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

做网站需要多少带宽廊坊seo排名

做网站需要多少带宽,廊坊seo排名,惠州住房和城乡建设局网站,如何做网站对比概述 String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候…
概述

String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!

特点
  • 字符串不可变,它们的值在创建后不能被更改

  • 虽然 String 的值是不可变的,但是它们可以被共享

  • 字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )

常用的构造方法

方法名说明
public String()创建一个空白字符串对象,不含有任何内容
public String(char[] chs)根据字符数组的内容,来创建字符串对象
public String(byte[] bys)根据字节数组的内容,来创建字符串对象
String s = “abc”;直接赋值的方式创建字符串对象,内容就是abc

public class StringTest {public static void main(String[] args) {//public String():创建一个空白字符串对象,不含有任何内容String s1 = new String();System.out.println("s1:" + s1);//public String(char[] chs):根据字符数组的内容,来创建字符串对象char[] chs = {'a', 'b', 'c'};String s2 = new String(chs);System.out.println("s2:" + s2);//public String(byte[] bys):根据字节数组的内容,来创建字符串对象byte[] bys = {97, 98, 99};String s3 = new String(bys);System.out.println("s3:" + s3);//String s = “abc”;	直接赋值的方式创建字符串对象,内容就是abcString s4 = "abc";System.out.println("s4:" + s4);}
}
创建字符串对象两种方式的区别
  • 通过构造方法创建

通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同

  • 直接赋值方式创建

    以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护

==号比较的到底是什么

基本数据类型 具体数据值

int a = 10;
int b = 20;
System.out.println(a == b) //false

引用数据类型 地址值

String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2) //false
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2) //true
equals方法的作用

equals()只能作用在引用数据类型,无法作用在基本数据类型

equals()方法在不重写的情况下调用的是"=="也就是比较两个对象的地址值是否一致,但是很多类(如String, Integer等)都重写了equals方法,以便按照对象的内容而不是内存地址进行比较。例如,对于String类,"equals"方法会比较两个字符串中的字符是否完全相同。如果重写后具体对比的含义根据重写规则而定

方法介绍

public boolean equals(String s)     比较两个字符串内容是否相同、区分大小写
public class StringTest1 {public static void main(String[] args) {//构造方法的方式得到对象char[] chs = {'a', 'b', 'c'};String s1 = new String(chs);String s2 = new String(chs);//直接赋值的方式得到对象String s3 = "abc";String s4 = "abc";//比较字符串对象地址是否相同System.out.println(s1 == s2);System.out.println(s1 == s3);System.out.println(s3 == s4);System.out.println("--------");//比较字符串内容是否相同System.out.println(s1.equals(s2));System.out.println(s1.equals(s3));System.out.println(s3.equals(s4));}
}//结果
false
false
true
--------
true
true
true

遍历字符串

public class StringTest2 {public static void main(String[] args) {//输入字符串并打印Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String str = sc.next();//遍历for(int i = 0; i < str.length(); i++){//i 依次表示字符串的每一个索引char c = str.charAt(i);System.out.println(c);}}
}
subString()

截取

String subString(int beginIndex,int endIndex)

包头不包尾,包左不包右.

只有返回值才是截取的小串

截取到末尾

String subString(int beginIndex)

注意点:只有返回值才是替换之后的结果

StringBuilder

StringBuilder可以看成是一个容器,创建后里面的内容是可变的

当我们在拼接字符串和反转字符串的时候会使用到

常用方法
append()

public StringBuilder append(任意类型)

reverse()

public StringBuilder reverse()

length()

public int length()

toString()

public String toString()

public class StringBuilderTest {public static void main(String[] args) {//1.创建对象StringBuilder sb = new StringBuilder("abc");//2.添加元素sb.append(1);sb.append(2.3);sb.append(true);//反转sb.reverse();//获取长度int len = sb.length();System.out.println(len);//打印//普及://因为StringBuilder是Java已经写好的类//java在底层对他做了一些特殊处理。//打印对象不是地址值而是属性值。System.out.println(sb);}
}
StringJoiner
  • StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。

  • 作用:提高字符串的操作效率,代码编写简洁
  • JDK8出现的

基本使用:

//1.创建一个对象,并指定中间的间隔符号
StringJoiner sj = new StringJoiner("---");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
//3.打印结果
System.out.println(sj);//aaa---bbb---ccc
//1.创建对象
StringJoiner sj = new StringJoiner(", ","[","]");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
int len = sj.length();
System.out.println(len);//15
//3.打印
System.out.println(sj);//[aaa, bbb, ccc]
String str = sj.toString();
字符串拼接的底层原理

如果没有变量参与,都是字符串直接相加,编译后就是拼接之后的结果,会复用串池中的字符串

如果有变量参与,每一行拼接的代码,都是在内存中创建新的字符串,浪费内存

public class StringTest3 {public static void main(String[] args) {String s1 = "abc";//记录串池中的地址值String s2 = "a"+"b"+"c";//复用串池中的字符串System.out.println(s1 == s2);//true}
}
//在编译的时候,会将"a"+"b"+"c"拼接成"abc"
打乱字符串
public class test7 {public static void main(String[] args) {//键盘输入任意字符串,打乱里面的内容//1.键盘输入任意字符串String str = "abcdefg";//2.打乱里面的内容//修改字符串里面的内容://1.subString       //2.变成字符数组char[] arr = str.toCharArray();//['a','b','c','d','e','f','g']//3.打乱数组里面的内容//从0索引开始,跟一个随机索引进行位置的交换//当数组里面的每一个元素都跟一个随机索引进行交换完毕之后,那么内容就打乱了Random r = new Random();for (int i = 0; i < arr.length; i++) {int randomIndex = r.nextInt(arr.length);//拿着随机索引指向的元素,跟i指向的元素进行交换char temp = arr[i];arr[i] = arr[randomIndex];arr[randomIndex] = temp;}//4.把字符数组再变回字符串String result = new String(arr);System.out.println(result);}
}

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

相关文章:

  • 教育类企业网站网络营销的5种方式
  • 做网站的公司挣钱吗八种营销模式
  • 欧美网站建设网络营销推广流程
  • 济南网站建设开发与制作百度扫一扫识别图片
  • 查询网站日流量平台推广是做什么
  • 无锡网站制作那些谷歌seo综合查询
  • 哈尔滨信息工程学院地址青岛网站建设方案优化
  • 网站受众群体百度推广价格
  • 同城生活服务app百度seo系统
  • 做网站是怎么做的百度导航
  • 房山成都网站建设百度seo排名优化
  • 教育网站开发需求说明书软件开发培训机构排名
  • 网站图片多 如何优化汕头网站建设方案维护
  • 网络营销优化推广企业网站优化软件
  • 欧美在线做视频网站aso关键词优化计划
  • 游戏网站seo怎么做长沙有实力seo优化
  • 厚街外贸网站建设网站免费网站免费
  • dreamweaver网站模板app推广拉新一手渠道
  • iis7如何设置ip做网站爱站网关键字挖掘
  • 大型网购网站开发框架网站搜索优化公司
  • 网站设计工资优秀网站设计网站
  • wordpress node.js重庆seo团队
  • 广告灯箱设计制作价格佛山网站优化服务
  • 生产企业做网站有用吗重庆seo网络推广
  • wordpress安装完怎么用seo优化网络
  • 手机wap版网站制作东莞搜索排名提升
  • 济南做网站的机构有哪些seo网站内容优化
  • wordpress模板导航栏seo网站关键词
  • 做百度网站费用多少怎么做小说推广挣钱
  • 招聘网站开发的公司seminar怎么读