黑马程序员技术交流社区
标题: [成都校区]String类概述及构造方法笔记 [打印本页]
作者: Nikola 时间: 2018-4-9 19:38
标题: [成都校区]String类概述及构造方法笔记
String类:是字符串类,由多个字符组成的一串数据。字符串其本质是一个字符数组。
给定一个字符数组,转换成字符串:char[] chs= {'h','e','l','l','o'};String s=newstring(chs);
给定一个字符数组,并截取其中的一部分元素,形成新的字符串输出打印String s=new String(chs,1,4)
判断构造方法和直接赋值产生的字符串的区别:通过构造方法产生的字符串存储在堆内存中,通过直接赋值产生的字符串对象存储在方法区的常量池中
String类的判断功能:判断两个字符串是否相等equal(需要判断大小写);判断两个字符是否相等(忽略大小写equalIgnore);判断字符串是否是以某字符开头;判断字符串是否是以某字符结尾 startwith endwith 模拟用户登录:用到equals关键字
String类的获取功能
字符串的长度s.length;获取字符串中某字符第一次出现的索引位置indexof;获取索引a处出现的字符用charAt;subString分割字符串
遍历字符串
输入一个字符串,统计字符串中的大写字符的个数,小写字符的个数,数字字符的个数
String类的转换功能:把字符串转换成字符数组、把字符串中的元素转换成大写 把字符串中的元素转换成小写
char[] toCharArray()返回值是一个字符数组,把字符串转换成字符数组
char[] chs=s.toCharArray();//字符串转换成数组
String toLowerCase()把字符串转换成大写字符串
String toUpperCase()把字符串转换成小写字符串
Strings="HelloWorld";
System.out.println(s.toUpperCase());
System.out.println(s.toLowerCase());
char[] chs=s.toCharArray();
for(int i=0;i<chs.length;i++) {
System.out.print(chs[i]);
}
输入一个字符串,将首字母大写,其余字母小写后输出该字符串:
public class testj {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s=sc.nextLine();
//思路:取字符串的首字母,截取字符串中其余字母,各自转换后进行拼接
String s1=s.substring(0,1);
String s2=s.substring(1);
String s3=s1.toUpperCase()+s2.toLowerCase();
System.out.println("s3:"+s3);
}
}
String类的其他功能:
有去除两遍空格trim split分割指定符号处的字符串等功能
String s4="a,b,c,d,fe,f";
String[] str=s4.split(",");
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
把数组中的元素按照指定格式拼接成一个字符串。如:int[] arr={1,2,3}; 输出结果:[1,2,3]
public class test12 {
public static void main(String[] args) {
int [] arr= {1,2,3};
String s=arrToString(arr);
System.out.println(s);
}
public static String arrToString(int [] arr) {
String s="";
s+="[";
for(int i=0;i<arr.length;i++) {
if(arr[i]==arr[arr.length-1]) {
s+=arr[i]+"]";
}else {
s+=arr[i]+",";
}
}
return s;
}
}
字符串反转:abc cba
packagetestA;
/*
* 字符串反转:abc cba
*/
public class testm {
public static void main(String[] args) {
String s="abc";
//第一种方式:字符串倒着遍历,得到的字符串拼接后形成新的字符串
/*for(int i=0;i<s.length();i++) {
System.out.println(s.charAt(i));
}*/
String s1=StringToString(s);
System.out.println(s1);
}
/*//先把原有的字符串倒着遍历,遍历后将字符串中的字符进行拼接组成新的字符串
public static String StringToString(Strings) {
String s1="";
for(inti=s.length()-1;i>=0;i--) {
s1+=s.charAt(i);
}
return s1;
}*/
//第二种:字符串转换成字符数组 对字符数组进行反转 翻转后转换成新的字符串
public static String StringToString(String s) {
char[] chs=s.toCharArray();//字符串转换成数组
//数组进行反转
for(int start=0,end=chs.length-1;start<=end;start++,end--) {
char temp=chs[start];
chs[start]=chs[end];
chs[end]=temp;
}
String s1=new String(chs);
return s1;
}
}
Stringhestringbuilder的区别:String的内容是固定的,而stringBuilder的内容是可变的。
添加功能、反转功能。Append reverse
作者: 一叶微冬 时间: 2018-4-9 20:10
膜拜大神,各种仰望!!!
作者: 777666 时间: 2018-4-10 01:24
six six six
作者: Nikola 时间: 2018-4-11 22:51
ctrl c,ctrl v
作者: MHD 时间: 2018-4-11 22:59
陈独秀,坐下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |