学习Java记录第八天
字符串常用方法
charAt获取字符
charAt(int index)获取指定位置的字符
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "盖伦,在进行了连续8次击杀后,获得了 超神 的称号";
char c = sentence.charAt(0);
System.out.println(c);
}
}
toCharArray()获取对应的字符数组
toCharArray()
获取对应的字符数组
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "盖伦,在进行了连续8次击杀后,获得了超神 的称号";
char[] cs = sentence.toCharArray(); //获取对应的字符数组
System.out.println(sentence.length() == cs.length);
}
}
截取子字符串
subString
截取子字符串
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "盖伦,在进行了连续8次击杀后,获得了 超神 的称号";
//截取从第3个开始的字符串 (基0)
String subString1 = sentence.substring(3);
System.out.println(subString1);
//截取从第3个开始的字符串 (基0)
//到5-1的位置的字符串
//左闭右开
String subString2 = sentence.substring(3,5);
System.out.println(subString2);
}
}
分隔
split
根据分隔符进行分隔
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "盖伦,在进行了连续8次击杀后,获得了 超神 的称号";
//根据,进行分割,得到3个子字符串
String subSentences[] = sentence.split(",");
for (String sub : subSentences) {
System.out.println(sub);
}
}
}
去掉首尾空格
trim
去掉首尾空格
package character;
public class TestString {
public static void main(String[] args) {
String sentence = " 盖伦,在进行了连续8次击杀后,获得了 超神 的称号 ";
System.out.println(sentence);
//去掉首尾空格
System.out.println(sentence.trim());
}
}
大小写
toLowerCase 全部变成小写
toUpperCase 全部变成大写
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "Garen";
//全部变成小写
System.out.println(sentence.toLowerCase());
//全部变成大写
System.out.println(sentence.toUpperCase());
}
}
定位
indexOf 判断字符或者子字符串出现的位置
contains 是否包含子字符串
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "盖伦,在进行了连续8次击杀后,获得了超神 的称号";
System.out.println(sentence.indexOf('8')); //字符第一次出现的位置
System.out.println(sentence.indexOf("超神")); //字符串第一次出现的位置
System.out.println(sentence.lastIndexOf("了")); //字符串最后出现的位置
System.out.println(sentence.indexOf(',',5)); //从位置5开始,出现的第一次,的位置
System.out.println(sentence.contains("击杀")); //是否包含字符串"击杀"
}
}
替换
replaceAll 替换所有的
replaceFirst 只替换第一个
package character;
public class TestString {
public static void main(String[] args) {
String sentence = "盖伦,在进行了连续8次击杀后,获得了超神 的称号";
String temp = sentence.replaceAll("击杀", "被击杀"); //替换所有的
temp = temp.replaceAll("超神", "超鬼");
System.out.println(temp);
temp = sentence.replaceFirst(",","");//只替换第一个
System.out.println(temp);
}
}
练习
输入一句英文句子
输出一个新的字符串,每个单词的首字母都转换为大写
import java.io.OutputStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str0=scanner.nextLine();
String str1="";
String subStr0[]=str0.split(" ");
String first="";
for (String sub:subStr0){
first=sub.substring(0,1).toUpperCase();
str1+=first+sub.substring(1,sub.length())+" ";
}
System.out.println(str1);
}
}
练习
输入一段英文
统计这段英文有多少个以p开头的单词
import java.io.OutputStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String intput=scanner.nextLine();
String str0[]=intput.split(" ");
int count=0;
for(String sub:str0){
char c=sub.charAt(0);
if(c=='p'||c=='P')
count++;
}
System.out.println(count);
}
}
练习
输入一个单词
转换为间隔大小写
import java.io.OutputStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String sentence=scanner.nextLine();
String[] subWord = new String[sentence.length()/2];
String up = "";
String low="";
String ans = "";
for (int i = 0; i < subWord.length; i++)
{
subWord[i] = sentence.substring(2*i, 2*i+2);
up = subWord[i].substring(0, 1).toUpperCase();
low=subWord[i].substring(1,2).toLowerCase();
ans+=up+low;
}
System.out.println(ans);
}
}
总结
啊啊啊啊昨天写好忘记发了!