所谓的字符串指的是字符序列,他是组织字符的基本数据结构。
字符串是一个字符序列,可以包含字母、数字和其他符号。
字符串顾名思义就是将char串起来就成了字符串;
String类字符串
一、String类字符串的定义:
String类是用来表示字符串常量的,用它创建的每个对象都是字符串常量,一经建立便不能修改
二、String类字符串的标准格式:
Stirng 对象名 = new String("元素");
String num = new String("hello java);
三、String类字符串的缩写格式:
String 对象名 = "元素";
String num = "hello 你好";
四、String类字符串的构造方法:
public String(char[] array):参数是一个char数组,根据char数组的内容来创建一个字符串。
char[] sum = {'H' , 'e' , 'l' , 'l' , 'o'};
String sum1 = new String(sum);
public String(char[] array,int offset,int count):根据char数组的一部分内容来创建的字符串,参数offset代表你要从这个char[]数组的第几个元素开始取,count是代表你要取到这个char[]数组第几个元素
char[] sum = {'H' , 'e' , 'l' , 'l' , 'o'};
String sum2 = new String(sum ,2,3);
五、String的常用方法:
1.public char charAt(int index):返回指定索引处的char值。
String num = "hello";
num.charAt(2);//返回l,索引也是从0开始的
2.public boolean endsWith(String suffix):测试此字符串是否以指定的后缀结尾,是返回true,不是返回false
String num = "helloworldjava";
num.endsWith("java");
3.public boolean equals(String anotherString):将此字符串跟anotherString进行对比是否相同,需要考虑大小写。
String num = "Hello";
num.equals("Hello");//相同返回true,不相同返回false
4.public boolean equalsIgnoreCase(String anotherString):将此字符串跟anotherString进行对比是否相同,需要不考虑大小写。
String num = "Hello";
num.equals("Hello");//相同返回true,不相同返回false
5.public int length():返回字符串的长度
String num = "Hello";
num.length();
6.public String replace(char oldChar,char newChar): 返回一个新的字符串,它通过newChar替换此字符串中出现的所有oldChar。
String num = "Hello";
num.replace('o','n');
7. public String replaceAll(String regex,String reqlacement):使用给定的reqlacement替换此字符串里的regex,返回一个字符串
String sum3 = "你会不会玩啊!你大爷的!真的服了";
sum3.replaceAll("你大爷" , "***");
8.public String[] split(String regex):从给定的regex位置开始将字符串进行拆分,返回一个字符串数组
String num = "Hello,world,java";
num.split(",");
9. public String[] split(String regex,int limit):从给定的regex位置开始将字符串进行拆分,拆分到limit,返回一个字符串数组
String num = "Hello,world,java";
num.split("w",2);
10.public boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始
String num = "helloworldjava";
num.startsWith("jhello");
11.public String toLowerCase():将字符串转换为小写
String num = "HELLOWORLDJAVA";
num.toLowerCase();
12.public String toUpperCase():将字符串转换为大写
String num = "helloworldjava";
num.toUpperCase();
13.public String trim():忽略掉字符串前缀的空格和后缀的空格
String num = " helloworldjava ";
num.trim();
StringBuffer类字符串
一、StringBuffer类字符串的定义:
String类是用来表示字符串变量的,用它创建的每个对象都是字符串变量,建立后是可以扩充和修改的字符串变量,使用时是需要创建StringBuffer对象的
二、StringBuffer类字符串的常规格式:
StringBuffer num = new StringBuffer("元素");
String num = new String("Hello");
四、StringBuffer类字符串的方法:
1.public StringBuffer append(Stirng s):向StringBuffer里添加元素
StringBuffer num = new StringBuffer();
num.append("hello");
2.public int lenth():返回字符串的长度
StringBuffer num = new StringBuffer();
num.append("hello");
num.append("world");
num.length();
3.public synchronized char CharAt(int index):返回字符串中index位置的字符
StringBuffer num = new StringBuffer();
num.append("hello");
num.append("world");
num.charAt(2);
4.public String toString():把StringBuffer类转换为String类字符串
StringBuffer num = new StringBuffer();
num.append("hello");
num.append("world");
num.toString();
5.public synchronized StringBuffer insert(int offset,String s):在offset的位置插入字符串s
StringBuffer num = new StringBuffer();
num.append("hello");
num.insert(3,"world");
练习题
一、使用String当中的equals和equalsIgnoreCase两个方法,模拟一个简单的登入场景。
二、分析:
1.登录需要用户名和密码两个信息,也就是两个字符串。
2.用户名和密码应该使用键盘输入,获取两个字符串。(使用Scanner需要是三个步骤:1.导包 2.创建 3.使用)
3.怎么才算登录成功?肯定需要注册时候提前写好正确的用户名、正确的密码。
4.判断输入的用户名和密码,与正确的用户名、密码必须完全一样:
A.用户名必须正确
B.密码必须正确
上述两个条件是“并且”关系,缺一不可,逻辑运算符:&&
5.判断一下是否登录成功:if
6.如果登入成功,显示欢迎信息。登录失败退出登录。
String thkeusername = "ZhaoGuoWang";
String password = "zgwcmap@0316";
Scanner regidtered = new Scanner(System.in);
System.out.println("请输入用户名:");
String yh = regidtered.next();
System.out.println("请输入密码:");
String mima = regidtered.next();
if(thkeusername.equalsIgnoreCase(yh) && password.equals(mima)) {
System.out.println("欢迎登入");
}else {
System.out.println("用户名或密码错误,退出登入");
}
字符串主要是记住这记住方法,要用熟。