java--常用类--String类
2021/7/4 17:26:16
本文主要是介绍java--常用类--String类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- String类的介绍
-
package com.model.string; /** * @Description:测试类 * @Author: 张紫韩 * @Crete 2021/7/3 23:50 * 演示常用类String的使用 */ public class StringDemo01 { public static void main(String[] args) { /** * 1.String用于保存字符串 *2. “jack” 是一个字符串常量 * 3.字符串使用的时Unicode编码方式,一个字符(不区分汉字和子母)占两个字节 * 4.有多个构造器: * /常用的有 * String s1 = new String(); * String s2 = new String(String original); * String s3 = new String(char[l a); * Strings4 = new String(char[] a,int startIndex ,int,count) * String s5 = new String(byte[] b) * * 5.继承了Serializable接口可以序列化,继承了Comparable接口可以进行比较 * 6.String是一个final类,不能被继承 * 7.String 的底层时字符数组,且时final类型的,一旦进行了赋值不能进行修改(地址不能进行修改了): * 指向了a就不能修改为指向B了 * 8. 底层保存数据的字符数组 private final char value[];(在常量池中的常量一旦被创建出来就不会别修改) * value不能进行修改即:value的地址不能在指向其他的地址,但是单个字符的内容可以进行修改 * */ // String final char[] chars={'a','b','c'}; //char指向了{'a','b','c'}地址 chars[0]='B';//final类型的char数组:可以改变里面的内容 char[] chars1={'b','b','b'};//chars1指向了{'b','b','b'};地址 //chars=chars1;//chars不能指向其他地址了所以试错错误的 } }
- String类的练习题:
-
String对象的特性:
-
package com.model.string; /** * @Description:测试类 * @Author: 张紫韩 * @Crete 2021/7/4 14:16 * 演示String的使用 */ public class StringDemo02 { public static void main(String[] args) { String a="hello"; String b="abc"; String c="hello"+"abc"; //编译器会做一个优化--》c="helloabc"; String d=a+b; //d时new String()出来的, /** * 1.在底层先创建一个StringBuilder对象sb * 2.执行sb.append("hello"); * 3.执行sb.append("abc"); * 4.执行将sb转成字符串返回,sb.toString();--->底层还是一个new String("helloabc"); * public String toString() { //toString方法的底层时一个new String的过程 * // Create a copy, don't share the array * return new String(value, 0, count); * } * 5.常量相加最终指向的时池中的数据,变量相加最终指向的是堆 * */ } }
- 字符串传参:传过去的参数和原来的地址一样指向某个字符串,但是当改变这个字符串时,改变的是方法中变量的执行(在常量池中重新创建一个字符串常量,且原来的字符串常量不会改变,所以被传进来的数值不变指向也不会改变,所以不会改变原来的值),唯一变化的的就是方法中局部变量的指向变化了。(字符串常量不可变)
- 其他的传参,改变其值得时候也会会改变这个地址的值,所有就算原值中的地址没变,但是这个地中的值发生了变化,所以会改变原来的值
-
String类的常用方法:
-
-
-
package com.model.string; /** * @Description:测试类 * @Author: 张紫韩 * @Crete 2021/7/4 15:50 * String类的常用方法 */ public class StringDemo04 { public static void main(String[] args) { String str="hello,张紫韩"; System.out.println(str.substring(5));//从下标为5开始截取后面的字符串 System.out.println(str.substring(0, 5));//从0 开始截取到 5-1:(0-4) System.out.println(str.substring(2, 4));//从 2开始截取到 4-1:(2-3) System.out.println(str.toCharArray()[0]); String str1="abc"; String str2="abd"; int i = str1.compareTo(str2); System.out.println(i); /* //1.%s , %d, %.2f %c称为占位符 //2.这些占位符由后面变量来替换 //3.%s表示后面由字符串来替换 //4.%d是整数来替换 //5,%.2f 表示使用小数来替换,替换后,只会保留小数点两位 //6.%c使用char类型来替换 * */ String name="张紫韩"; int age=18; double score=100.00; char gender='男'; String formatStr="我的名字叫%s,年龄是%d,成绩是%.2f,性别%c,希望大家喜欢我"; String format = String.format(formatStr, name, age, score, gender); System.out.println(format); } }
-
这篇关于java--常用类--String类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器