今日内容:
String类 创建String常见3 1方式 1.public String()空白字符串,不包含任何内容 2.public String(char[] array)根据字符数组内容,来创建对应字符串 3.public String(byte[] array)根据字节数组内容,来创建对应字符串 三种构造方法:即使内容一样,但是因为new了所以都会产生新的内存地址,在堆内存之中,
解释:此三种内存都需要,提前创造一个例如char[] array={'A','B','C'};传入第二种方式char[] 会产生一个堆中的内存,第二种方式的String也会产生一个堆中的内存放char[],所以我们查找是通过String内存找到char[]内存,从而输出。其他的同理: 一种直接创建: String str="值";直接创建,直接用双引号,系统也会认定为字符串对象
解释:这种创建方式,创建的字符串数据是直接存放在堆内存中的字符串常量池内,不同的是这个如果字符串一样,那么他们的内存地址是完全一样的,不会创建新的内存。 备注:关于==号 1.字符串之间用==判断,判断的是字符串的内存地址 2.基本数据类型用双==直接判断数值 String常用方法判断功能:2个 public boolean equals(Object o)将次字符串与指定对象进行比较,参数不能为null,进行内存地址和内容双重判断,符合其中一个就返回true.如果比较双方是一个常量和一个变量,建议把常量放在字符串的前面常量.equals(变量);不建议----》变量.equals(常量)。因为此时如果变量为null就会产生空指针异常,null在前面才会空指针 public boolean equalsIgnoreCase(String anotherString)将此字符串与指定对象比较,忽略英文字母大小写,进行内存地址和内容双重判断,符合其中一个就返回true nstanceof:类型判断,判断是否属于同一数据类型 获取功能 1.public int length;返回字符串长度 2.public String concat(String str):将指定字符串连接到该字符串末尾 3.public char charAt(int index)返回索引位置的char值 4.public int indexOf(String str):返回·指定的字符串第一次出现在该字符串的索引值 5.public String substring(int beginindex):返回一个子字符串,从beginindex开始,截取到该字符串末尾 6.public String substringf(int beginindex,int endindex);截取从beginindex到endindex中间的索引,[beginindex,endindex).endindex<=String.length;注意截取出来的字符串对象是一个新的字符串对象,重新开辟内存在堆里面,和字符串常量池里面的字符串内存地址不相等 转换功能: 1.public char[] toCharArray():将此字符串转换为新的字符数组。 2.public byte[] getBytes();使用平台默认字符集,将该字符串编码转换为新的字节数组 3.public String replace(CharSequence oldStringt,CharSequence newString):将所有出现的老的字符串替换为新的字符串,返回的是新的字符串。 备注:CharSequence是一个接口,也是应用数据类型,意思就是可以接受字符串参数数据类型 练习1:定义一个方法,把数组{1,2,3,4}按照指定格式拼接称为一个字符串 格式:[1#2#3#4]Test1 练习2:统计字符个数,键盘录入一个字符串,统计字符串中大小写字母以及数字的个数Test2 Static关键字=概述: static关键字的使用可以修饰成员变量和成员方法,被修饰之后就属于静态的,属于类的,不单单是属于某个对象的,就是说不再通过创建对象来调用类中的静态成员信息 定义和使用格式: 类变量 当成员变量被static修饰,该变量称为【类变量】,类变量,该类的每一个对象都可以【共享】同一个类变量的值,热河对象都可以更改类变量,类变量灵活度更高,
静态方法 当成员方法被static修饰,称为类方法,类方法通过类名直接调用,不用创建对象称之为【静态方法】类名.方法名()
静态方法调用注意事项 1.静态方法可以直接访问静态变量和静态方法, 2.静态方法【不能直接访问】成员变量和成员方法,反之成员方法可以直接访问静态变量和静态方法 3.静态方法不能使用this关键字 调用格式:
备注:不能直接访问的,都通过实例化对象调用 静态原理解释:静态方法在栈空间,静态变量在除了栈之外的jvm空间, Static操作注意事项:1.static修饰的内容,随着类的加载而加载,只会加载一次。 2.存储于一块固定的内存区域(静态域),所以被类直接调用 3.他优先于对象,对象未存在,static修饰的信息早就存在了,使用可以被类的所有对象共享。 静态代码块 什么是静态代码块:被static修饰的代码块 { } ,定义在成员变量位置。 1.位置:类中方法外,方法里面没有 =2.执行:随着类的加载而加载,而且之只会加载一次,优先于main方法和构造方法加载 静态代码块格式
例如:
备注:static可以修饰成员变量成员方法代码块,如果不想在不创建对象的的情况下去调用成员变量和成员方法,可以定义成静态变量和静态方法,静态代码块通常作用静态变量和静态方法 Arrays类:来源:https://www./content-4-758351.html |
|