在现实生活中,大家一定注册过用户名和密码,用户命名和密码等一系列使用的就是字符串,其实大家从学习Java开始的那一天就使用字符串了。
如何使用字符串:
1. 定义并初始化字符串 2.使用字符串,对字符串进行一些处理。
语法:
//创建一个字符串对象“Hello,World” 或者 //创建一个空字符串 //创建一个字符串
String s="Hello,world"; String s=new String (); String s=new String(“Hello,World”);
字符串的长度:
在学习了Scanner类之后,在控制台接收一个从键盘上输入的字符串已不是难事了,那么又如何计算字符串的长度呢?这里String类提供了length()方法。
语法:
调用length()方法: 字符串 .length();
示列:
public class Register{ public static void main(String [] args){ Scanner input=new Scanner(System.in); String name; String Score; System.out.println("用户名") name=input.next(); System.out.println("密码") Score=input.next(); if(Score.length()>=6){ //判断密码大于6为否? System.out.println("注册成功"); }else{ System.out.println("密码不能小于6为"); } } }
字符串的比较:
在使用equals()方法比较两个字符串时,它会逐个对照两个字符串的每个字符的相同,如都相同返回:true,不相同为:false,对于字符的大小写,也在检查的范围内。
语法:字符串.equals(字符串2);
public class Login{ public static void main(String [] args){ Scanner input=new Scanner(System.in); String name,pwd; System.out.println("用户名") name=input.next(); System.out.println("密码"); pwd=input.next(); if(name.equals("Tom")&&pwd.equals("123456")){ System.out.println("注册成功"); }else{ System.out.println(用户名和密码不匹配): } } }
字符串的链接:
这里的 “+”运算符就起到了链接字符串的作用,同样,在定义一个子符串时也可以用 “+” 来链接。
除此之外在使用 “+” 连接字符串 int 和double类型数据时 “+”将int 和double类型自动转换为String类型。
在java中 String 类也提供了另一个concat()方法,将一个字符串链接到另一个字符串的后面。
语法:字符串.concat(字符串2);
String s=new String (“您好”); string name=new String ("李四"); String names=s.concat(name); System.out.println(names);
字符串的提取和查询:
序号 | 方法 | 说明 |
1 |
public int intdexOf(int ch) public int intdexOf(String value) |
搜索第一个出现的字符ch(或字符串value) |
2 |
public int lastIndexOf(int ch) public int lastIndexOf(String value) |
搜索最后一个出现的字符ch(或字符串value) |
3 | public String substring(int index) | 提取从位置索引开始的字符串部分 |
4 | public String substring(int beginindex,int endindex) | 提取beginindex和endindex之间的字符串部分 |
5 | public String trim() | 返回一个前后不含任何空格的调用字符串的副本 |
1.indexOf()方法:
(1)该方法是在字符串内搜索某个指定的字符或字符串,它返回出现第一个匹配字符的位置
(2)如果没有找到匹配,则返回-1
(3)调用时,括号中写明要搜索的字符(或字符串)的名字
String s="青春无悔";
int index=s.indexOf('春'); 如执行返回的是:1。
2.lastIndexOf()方法:
该方法也是在字符串内搜索某个指定的字符或字符串,但是它是搜索最后一个出现的字符(或字符串)的位置
String s="青春无悔无悔青春";
int iastndexOf=s.indexOf(“青春”); 如执行返回的是:6。
3.substring(int index)方法:
该方法用于提取从位置索引开始的字符串部分,调用时括号中写的是要提取的字符串的开始位置,方法的返回值就是要提取的字符串
String s="青春无悔";
String result=s.substring(1); 取它的春无悔。
4.substring(int beginindex , int endindex)方法:
(1)该方法用于提取位置beginindex和位置endindex位置之间的字符串部分
(2)特别要注意的是:
>对于开始位置beginindex,java是基于字符串的首字符为0来进行处理的
>对于终止位置endindex,java是基于字符串的首字符为1来处理的
String s="青春无悔无悔青春";
String result=s.substring(2,6); 提取:无悔无悔。
5.trim()方法:
(1)该方法可以忽略字符串前后的空格
(2)在接收用户输入的字符串时,一般会调用trim()方法过滤字符串前后的多余空格
字符串的拆分:
语法:字符串.split(String name , int limit);
public class Lyric{ public static void main (String [] args){ String words="长亭外 古道边 芳草碧连天 晚风扶 柳笛声残 夕阳山外山"; String [] name=new String [100]; System.out.println("拆分后"); name=words.split(" ") //按照空格进行拆分。 for(int i=0; i<name.length;i++){ System.out.println(name[i]); } } }
StringBuffer类:
StringBuffer 类为于java.lang包中,是 String类的增强类。
声明StringBuffer对象并初始化:
1.//声明一个空的stringBuffer对象 2.//声明一个青春无悔
StringBuffer s=new StringBuffer(); StringBuffer s=new StringBuffer("青春无悔");
常用的StringBuffer类方法:
语法:字符串.toString();
将StringBuffer类型的字符串转换为String类型的对象并返回。 如:String s=s2.toString(); //转换为String类型
语法:
字符串1.append(字符串2);
该方法和String类的concat()方法一样所不同的是String中只能将String类型的字符串追加到一个字符串后。而StringBuffer可以将任意类型的值追加到字符串之后。
语法:
字符串.insert(位置,参数);
将参数插入字符串的指定位置(int类型)后并返回。参数可以包括String的任何类型。