1、
屏幕快照 2018-10-09 上午11.03.45.png
public static void main(String [] args){
//直接无餐构造
String str = new String();
System.out.println(str);
//字符数组创建字符串
char [] arrayList = {'A','B','C'};
String str2 = new String(arrayList);
System.out.println(str2);
//字节数组创建字符串
byte [] array = {97,98,99};
String str3 = new String(array);
System.out.println(str3);
//直接创建字符串
String string = "abc";
System.out.println(string);
}
2、字符串常量池
屏幕快照 2018-10-09 上午11.22.46.png
3、字符串的比较
屏幕快照 2018-10-09 上午11.39.29.png
//字符串的比较 equals
String string1 = "hello";
String string2 = "hello";
char [] StringArr = {'h','e','l','l','o'};
String string3 = new String(StringArr);
System.out.println(string1.equals(string2));//true
System.out.println(string1.equals(string3));//true
System.out.println(string2.equals(string3));//true
String string4 = "Hello";
System.out.println(string4.equals(string1));//false
String str5 = null;
System.out.println("abc".equals(str5));//推荐 返回false
System.out.println(str5.equals("abc"));//报错,空指针异常
//equalsIgnoreCase 忽略大小写进行比较
System.out.println(string4.equalsIgnoreCase(string1));//true
4、字符串的获取
/*
* lenght
* concat(String str)
* charAt(int index)
* indexOf
* */
String str = "dfghjklrtyuiortyuiwserf";
//长度
int lenght = str.length();
System.out.println("长度是:"+lenght);
//拼接
String str1 = str.concat("q123344");//新的字符串
System.out.println(str1);
//获取字符
char cha = str.charAt(9);
System.out.println(cha);
//获取下标
int indexofChar = str.indexOf('h');//查找不到返回-1
System.out.println(indexofChar);
5、字符串的截取
String str = "helloworld";
String str2 = str.substring(3);
//注意: 左闭右开区间
String str3 = str.substring(4,7);//owo
屏幕快照 2018-10-09 下午3.30.02.png
6、字符串的转换
String str = "helloworld";
char [] charArr = str.toCharArray();
System.out.println(charArr[0]);//h
System.out.println(charArr.length);//10
System.out.println("=============");//10
//转换成字符数组
byte [] byteArr = "abc".getBytes();
for (int i = 0; i < byteArr.length; i++) {
System.out.println(byteArr[i]);
}
//替换某些元素 replace
String newStr = str.replace("l","p");
System.out.println(str);//原来的字符串不变
System.out.println(newStr);//
7、字符串的分割
//split 函数 分割
String str = "adc,abc,dfg";
String [] strArr = str.split(",");
for (int i = 0; i < strArr.length; i++) {
System.out.println(strArr[i]);
}
8、练习题一
//要求 将数组[1,2,3] 按照指定的格式变成[word1#word2#word3]
public static void main(String[] args) {
int [] strArr = {1,2,3};
System.out.println(strArr);
String pinjieStr = "[";
for (int i = 0; i < strArr.length; i++) {
if (i==strArr.length-1){
pinjieStr = pinjieStr+ "word"+strArr[i]+"]";
}else {
pinjieStr = pinjieStr+ "word"+strArr[i]+"#";
}
}
System.out.println(pinjieStr);
}
练习题二
public static void main(String[] args) {
//键盘输入字符串,统计字符,数字出现的次数
Scanner sc = new Scanner(System.in);
String string = sc.next();
System.out.println("输入的字符串是:"+string);
int intNum=0;
int UpCaseNum=0;
int lowcaseCount=0;
int otherCount=0;
char [] arrlist = string.toCharArray();
for (int i = 0; i < arrlist.length; i++) {
char cha = arrlist[i];
//判断字符属于什么种类
if (cha >='A'&&cha<='Z'){
UpCaseNum++;
}else if (cha >='a'&&cha<='z'){
lowcaseCount++;
}else if (cha>='0'&&cha<='9'){
intNum++;
}else {
otherCount++;
}
}
System.out.println("数字的个数"+intNum);
System.out.println("大写字母的个数"+UpCaseNum);
System.out.println("小写字母的个数"+lowcaseCount);
System.out.println("其他的个数"+otherCount);
}
网友评论