一、创建String对象的两种方式
①直接赋值:String name = "林更新";
②new
构造方法 说明 public String( ) 创建空白字符串,不含任何内容 public String(String original) 根据传入的字符串,创建字符串对象 public String(char[ ] chs) 根据字符数组,创建字符串对象 public String(byte[ ] chs) 根据字节数组,创建字符串对象
串池
StringTable(串池)-----字符串常量值
只有是直接赋值的方式才有
public class StringDemo{ public static void main(String[ ] args){ String s1 = "abc"; String s2 ="abc"; } } 当使用双引号直接赋值时,系统会检查该字符在串池中是否存在。 不存在:创建新的 存在:复用 |
二、Java的常用方法(比较)
1、==比的到底是什么?
基本数据类型 int a = 10; int b = 20; System.out.printIn(a==b);//false 基本数据类型比较的是数据值 | 引用数据类型 String s1 = new String("abc"); String s2 = new String("abc"); System.out.printIn(s1==s2);//false 引用数据类型比较的是地址值 |
2、字符串比较
- boolean equals方法(要比较的字符串) 完全一样结果才是true,否则为false
- boolean equalslgnoreCase(要比较的字符串) 忽略大小写的比较
练习
练习一:用户登录
需求:已知正确的用户名和密码,请用程序实现模拟用户登录,总共给三次机会,登录之后,给出相应的提示
练习二:⭐遍历字符串
需求:键盘录入一人字符串,使用程序实现在控制台遍历该字符串
- public char charAt(int index):根据索引返回字符
- public int length( ):返回此字符串的长度
- 数组的长度:数组名.length
字符串的长度:字符串对象.length( ) "哈哈123小婷"
str.length().fori——快速进行遍历 长度:8
练习三——统计字符次数
需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)
练习四——拼接字符串
需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如: 数组为 int[ ] arr ={1,2,3}
执行方法后的输出结果为:[1,2,3]
练习五——字符串反转
需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果
例如,键盘录入abc,输出结果cba
练习六——金额转换(较难)
例如:把2135转换成大写贰壹叁伍
练习六——⭐①手机号屏蔽
- String substring(int beginIndex,int endIndex) 截取
注意点:包头不包尾,包左不包右
只有返回值才是截取的小串,即需要一个变量去接收
- String substring(int beginIndex) 截取到末尾
例如:号码1312349468 变为131****9468
②身份证信息查看
例如:1、2位:省份,3、4位,5、6位:区县,7-14位:出生年、月、日,15-16位:所在地派出所,17位:性别(奇数男性,偶数女性),18位:个人信息码(随机产生).根据7-14位:出生年、月、日,17位:性别(奇数男性,偶数女性),打印出下面的效果
人物信息为: 出生年月日:XXXX年X月X日 性别为:男/女 |
③敏感词替换
- String replace(旧值,新值) 替换
注意点:只有返回值才是替换之后的结果
例如:把一些SB 替换后为**