/*
需求:练习String类
*/
class StringDemo{
public static void main(String[] args){
//String类对象的第一种创建方式
String demo1 = "字,符,串,队形,第一种,第一种,创建方式";//在栈内存中的常量池中创建,然后把地址值
//返回给引用demo1
//String类对象的第二种创建方式
String demo2 = "字符串对象第二红创建方式";//在堆内存中开辟一片空间,在这片空间中
//创建另一字符串个对象,由String维护.
System.out.println(demo1);
System.out.println(demo2);
System.out.println(demo1 + "haole");
System.out.println(demo2 + "haolea");
//获取字符串的哈希马值
int a = demo1.hashCode();
System.out.println(a);
//返回指定字符在此字符串中第一次出现处的索引.
int c = demo1.indexOf('串');
System.out.println(c);
//返回指定字符串在此字符串中第一次出现的索引
int c1 = demo2.indexOf("第二红");
System.out.println(c1);
//从指定的索引开始,返回指定字符串在此字符串中第一次出现的索引
int c4 = demo1.indexOf("第一种",1);
System.out.println(c4);
//返回指定字符在此字符串中最后一次出现的索引
int c2 = demo1.lastIndexOf("创");
System.out.println(c2);
//返回指定字符串在此字符串中最后一次出现的索引
int c3 = demo2.lastIndexOf("创建方式");
System.out.println(c3);
//从指定的索引开始,反向搜索字符串最后一次出现的位置
int c5 = demo2.lastIndexOf("第二种");//没有的字符串类型就返回-1
System.out.println(c5);
//从指定的索引开始,反向搜索字符串在此字符中最后一次出现的位置
int c6 = demo2.lastIndexOf("第二红");
System.out.println(c6);
//返回字符串的规范化表示形式
String demo1s = demo1.intern();
System.out.println(demo1s);
//返回此字符串长度
int l = demo1.length();
System.out.println(l);
//返回此String中从给定的index处偏移codePointOffset个代码点的索引
int c7 = demo1.offsetByCodePoints(2,5);
System.out.println(c7);
//返回一个新的字符串,它是通过newChar替换此字符串中出现的所有oldCha得到的.
String c8 = demo1.replace('第','d');
System.out.println(c8);
//replaceAlly也是替换,只不过是替换字符串
String c9 = demo1.replaceAll("d一种","第一种");
System.out.println(c9);
//替换第一次出现的字符串,不是全部替换.
String c10 = demo1.replaceFirst("第一种","di一种");
System.out.println(c10);
//拆分字符串,根据传入的字符串
// String[] arr= demo1.split(",");
// for (int x = 1;x<arr.length ;x++ ){
// System.out.print(arr[x]+" ");
// }
//测试此字符串是否以指定的前缀开始
boolean b = demo1.startsWith("字");
boolean b1 = demo1.startsWith("第一种");
System.out.println(b + " "+b1);
//从指定的索引开始的字符串是否以指定的前缀开始
boolean b2= demo1.startsWith("di一种",9);
boolean b3 = demo1.startsWith("diyizhong",10);
CharSequence ch = demo1.subSequence(1,6);//一般都是不包括最后一个的
System.out.println(ch);
String c11 = demo1.substring(2);
System.out.println(c11);
//从给定的索引开始截取到给定的结束索引,返回一个子字符串
String c12 = demo1.substring(2,6);
System.out.println(c12);//都不包括最后的索引字符
//将字符串转换成给定的字符数组
char[] ch1 = demo1.toCharArray();
System.out.println(ch1);
for (int x = 1;x<ch1.length ;x++ ){
System.out.print(ch1[x]+" ");
}
String ss = "aaerEREAaeraeVVREA";
//将字符串中所有的小写转换成大写,返回一个全部是大写字母的字符串
String c13 = ss.toLowerCase();
System.out.println(c13);
//将字符串中所有的大写字母,转换成小写字母,返回一个全部是小写字母的字符串
String c14 = c13.toUpperCase();
System.out.println(c14);
//返回char数组的字符串表达形式
String c15 = String.valueOf(ch1);
System.out.println(c15);
//返回char数组参数的特定数组的字符串表示形式
String c16 = String.valueOf(ch1,4,5);
System.out.println(c16);
//返回数据基本类型(四类八种)的字符串表示形式
int x = 5486135;
byte x1 = 56;
short x2 = 4546;
long x3 = 1961985468;
float x4 = 36848434f;
double x5 = 543353432;
char x6 = 'g';
boolean x7 = true;
boolean x8 = false;
//分别转换成字符串类型的表现形式.使用valueOf(参数类型 参数名)重载的方法
String c17 = String.valueOf(x);
String c18 = String.valueOf(x1);
String c19 = String.valueOf(x2);
String c20 = String.valueOf(x3);
String c21 = String.valueOf(x4);
String c22 = String.valueOf(x5);
String c23 = String.valueOf(x6);
String c24 = String.valueOf(x7);
String c25 = String.valueOf(x8);
System.out.println(c17+"\n"+c18+"\n"+c19+"\n"+c20+"\n"+c21+"\n"+c22+"\n"+c23+"\n"+c24+"\n"+c25);
|
|