2022-07-20 第四组 王佳齐
目录
- String
- 包装器类型
String
- String是一个类
- 一个类中可以有那些结构
- 属性,方法,构造器
- String中也有这三种结构
public class Ja11 { public static void main(Ja11[] args) { String s1 = "acvb"; // s1是String类的对象 // 类如果想创建对象要有new String s2 = new String("ssss"); String s3 = new String("ssss"); String s4 = "acvb"; // new创建对象要创建构造器 // s1的字符串放在方法池里,s2new创建的会放在堆里。 // 一new就新开辟内存,有一个新的地址 System.out.println(s1==s2); // 不相等,存储位置不同 // 双等号比较的是虚地址:对象在内存中存储的位置。 // 基本数据类型可以,因为都是存在栈里的 System.out.println(s3==s2); // 不相等,虚地址不同 System.out.println(s1==s4); // 相等,都是常量,不在堆内存储 // 总结,=赋值无论怎么比较都是true,new赋值,用双等号相比,全是false }
String中的方法
* equals方法 * 1.需要传入String类型的参数 * 2.方法返回值为Boolean类型 * 3.访问权限public * 4.只比较字符串内容,不比较地址
// length // 1.不用传参 // 2.返回值类型是int // 3.访问权限:public /* * 面试题 * 字符串获取长度的方法和数组有什么区别 * 1.数组的length是属性 * 字符串的是方法*/
// 取出指定下标位置的字符 s1.charAt(2); // System.out.println(s1.charAt(100)); // 异常:字符串下标越界
String s1="fjwj"; // 判断指定字符是否存在,返回值为字符串在w的下标(int类型) System.out.println(s1.indexOf("w")); // 如果不存在返回-1 System.out.println(s1.indexOf("j")); // 如有重复会返回从左到右的第一个下标 System.out.println(s1.indexOf("j",2)); // 第一个位置传入字符,第二个位置传入从第几个下标开始找[包括此下标]{last那个是从后往前找} // 只要说到下标,无论数组字符串,下标永远不变
str.substring(1); // 生成新的字符串不会改变原始字符串 System.out.println(str.substring(1)); // 如果传一个参数,从指定位置开始截取到字符串的末尾,包括指定位置 str.substring(1,2); System.out.println(str.substring(1,2)); // 传两个参数,包含起始位置,不包含终止位置
String str = "dc sv"; String str1="SD"; str.toLowerCase(); // 转小写 // 下面所有方法都创建新的字符串 // 转大写 str.toUpperCase(); // 判断是不是一什么开头 str.startsWith("a"); // 偏移几位在判断 str.startsWith("a",2); // 判断结尾 str.endsWith("a"); // 忽略大小写进行比较内容 str.equalsIgnoreCase(str1); // 去掉空格,网页端常用 str.trim(); // 根据指定字符分割,分割之后分割条件消失 String str2 = "123,456,789"; str2.split(","); String [] strings = str2.split(","); //字符串替换 String str3="hello"; // 打l全换 str3.replace('h','g'); System.out.println(str3.replace('h','g')); // 替换全部 str3.replaceAll("hello","hi"); // 字符串和各种数据类型的转换 int i = 10; String s = String.valueOf(i); // 任何数据类型和字符串类型结果都是字符串 // String s=i+""; 转换成字符串 // 字符串有两种空,一种是空串,一种是null // 数组转字符串 int [] arr=new int[]{1,2,3,2,3,2}; // 把数组元素变成字符串,遍历拼接 // 字符串转数组 // 转成字符型数组 char[] Array=str3.toCharArray(); // 转成字节型数组 byte[] bytes=str3.getBytes(); // 一般情况下字节型数组实在操作文件是使用
包装器类型
/* * 原理 * 装箱:把基本数据类型转换成对应包装器类型 * 拆箱:把包装器类型转换成对应基本数据类型 * 把int类型包装成了对应的Inter类型,称为装箱*/ // 异常 /* * 1.数组下标越界 * 2.内存溢出 * 3.空指针 * 4.数字格式化 * 5.字符串下标越界*/
学习心得
今天学习了很零散的知识,很多String的方法,下午学习了昨天的作业,老师讲解的很细致,但是没听懂,可能是因为没有基础,心累的一天!

浙公网安备 33010602011771号