String
字符串,可以用来创建对象封装字符串数据,并对其进行处理
创建字符串的方式
点击查看代码
//String 创建对象封装字符串数据的方式
Java程序中的所有字符串文字都为此类的对象
1.简单的方案
String name="xiaohei";
2.方式二:调用String类提供的构造器初始化字符串对象,封装数据
String s1=new String(); //" "
3.String s2 = new String("黑马");
System.out.println(s2);
//可以基于字符数组创建字符串对象
char[] chars ={a,b.c.'我','爱;'中','国'};
String s3 = new String(chars);
System.out.println(s3);
//可以基于字节数组创建字符对象
byte[] bytes={97,98,99,'a','b','c'};
String s4 = new String(bytes);
System.out.println(s4);
String使用时的注意事项?
String对象的内容不可改变,即被称为不可变字符串对象
//1.String字符串对象是不可变对象;
点击查看代码
String name = "黑马";
name += "程序员";
name += "6666";
System.out.println(name);//黑马程序员
点击查看代码
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2);//true
//以" "创建字符串时,先在堆内存的常量池中创建字符串常量,下一次创建相同的变量时,地址会指向之前常量池中字符串常量
//== 比较的是两者的地址是否相同
点击查看代码
char[] chs = {'a', 'b', 'c'};
String t1 = new String(chs);
String t2 = new String(chs);
System.out.println(t1);
System.out.println(t2);
System.out.println(t1 == t2);//false
//==比较的是地址值是否相同
//每次在进行new创建对象的时候会在堆内存中创建新的变量。所以地址值不同
点击查看代码
String n1 = "abc";
String n2 = "a" + "b" + "c";
System.out.println(n1 == n2);
//true
//Java的内存改良机制
String提供的操作字符串数据的常用方法
String name = "abab黑马66";
//1.获取字符串的长度(字符个数)
System.out.println(name.length());
//2.提取字符串中某个索引位置出的字符
char c = name.charAt(2);
System.out.println(c); //a
for (int i = 0; i < name.length(); i++) {
System.out.print(name.charAt(i));
}
//3.把字符串转换成字符数组,在进行遍历
System.out.println("-----------");
char[] charArray = name.toCharArray();
for (int i = 0; i < charArray.length; i++) {
System.out.println(charArray[i]);
}
//4.equals:判断字符串内容,内容一样就返回true(重点)
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
//5.忽略大小写比较字符串内容
String r1 = "aBcF23";
String r2 = "ABCF23";
System.out.println(r1.equals(r2)); //false
System.out.println(r1.equalsIgnoreCase(r2)); //true
//6.截取字符串内容(包前不包后)
String t1 = "黑马程序员Java入门";
String rs2 = t1.substring(5, 11);
System.out.println(rs2);
//7.从当前索引位置一直截取到字符串的末尾
String rs = t1.substring(5);//从当前索引截取到末尾
System.out.println(rs);
//8.把字符串中的某个内容替换成新内容,并返回新的字符串对象给我们
//敏感词
String info = "你个死老6,打的这么垃圾,垃圾队友,等我复活再来打死这个垃圾~~~,垃圾队友,快来救我~~";
String rs3 = info.replace("垃圾", "**").replace("死", "*");
System.out.println(rs3);
//9.判断字符串中是否包含某个关键字
String t2 = "黑马程序员Java入门课";
System.out.println("黑马");
System.out.println("黑马2");
//10.判断字符串是否某个字符串开头
//startswith 判断是否什么内容开头
//endswith 判断是否什么内容结尾
t2.startsWith("黑马程序员");
t2.startsWith("黑马程序员2");
t2.endsWith("门课");
t2.endsWith("门课2");
//11.把字符串按照某个指定内容分割成多个字符串
//放到一个字符串数组中返回给我们
String info2 = "王菲,蔡徐坤,易烊千玺";
String[] names = info2.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
面向对象高级部分
static修饰成员变量,成员方法
//1.类名.静态变量(推荐)
Student.name = "有幻化";
System.out.println(Student.name);
//2.对象.静态变量(不推荐)
Student s1 = new Student();
s1.name = "马冬鹏";
Student s2 = new Student();
s2.name = "秋雅";
System.out.println(s1.name);
System.out.println(s2.name);
System.out.println(Student.name);
//3.对象.实例变量(必须的)
s1.age = 23;
s2.age = 18;
System.out.println(s1.age);
标签:Java,String,name,基础,System,day06,字符串,println,out
From: https://www.cnblogs.com/yifan0820/p/17809742.html