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

房产网站建设网站推广徐州经济技术开发区

房产网站建设网站推广,徐州经济技术开发区,网上做任务佣金高的网站,太原市建设工程招标投标网站概述 String 类代表字符串#xff0c;Java 程序中的所有字符串文字#xff08;例如“abc”#xff09;都被实现为此类的实例。也就是说#xff0c;Java 程序中所有的双引号字符串#xff0c;都是 String 类的对象。String 类在 java.lang 包下#xff0c;所以使用的时候…概述 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 abc;//复用串池中的字符串System.out.println(s1 s2);//true} } //在编译的时候,会将abc拼接成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.dnsts.com.cn/news/243691.html

相关文章:

  • 青海和城乡建设厅网站视频剪辑培训机构哪个好
  • 杭州cms建站模板下载网站kv如何做
  • 高明网站设计公司到底建手机网站还是电脑网站
  • 广东微信网站建设哪家专业淘宝运营培训内容
  • 江苏城乡建设学校网站成都创新网站建设
  • 石家庄网站建设找哪家好哪一个景区网站做的最成熟
  • 网站建设实训的心得的体会桂林象鼻山需要门票吗
  • 巩义做网站优化wordpress 禁用响应式
  • 开发一个网站的步骤流程网站建设合同怎么交印花税
  • 怎么做网站海外运营推广程序员最低学历要求
  • 怎么在网站做gif深圳网站优化哪家好
  • 富锦网站制作phpcms 网站打不开
  • 网站设计制作的服务商免费房屋装修设计
  • 做试卷的网站八桂云网站建设
  • 从零开始网站开发网站设计网页设计公司
  • 电子产品展示网站南山区网站建设
  • 58同城泉州网站建设ps网站设计怎么做
  • 东莞大岭山建网站公司网站建设灬金手指下拉十五
  • 信誉好的品牌网站建设空间商指定的网站目录
  • 大剧院网站建设秦皇岛网站排名
  • 广州站电话怎么自己开公司
  • 北京制作网站公司排名承接婚庆公司网站建设
  • 南宁太阳能网站建设天津滨海新区落户政策
  • 网站开发质量控制计划书邢台市路桥建设总公司网站
  • 凯里网站建设哪家好网站服务商查询
  • 自己做下载类网站wordpress 评论 表情
  • 宁波海曙网站开发公司电话陕西省住房建设厅官方网站
  • 网站开发实用技术相关论文商城网站建设策划书
  • 婚纱摄影网站策划书上海餐饮网站建设
  • 公司内部网站建设方案设计方案步骤