Java学习笔记08——字符串String,static关键字,Array、Math类

it2025-02-26  37

笔记08

1. 字符串的特点

字符串的内容永不可变字符串可以共享使用对于字符串来说,没有使用new只要用双引号也是字符串对象(JVM帮助处理了)。

2. 字符串的常见构造方法

三种构造方法 public String(); 创建一个空白字符串,不含有任何内容。public String(char[] array); 根据字符数组的内容来创建对应的字符串public String(byte[] array); 根据字节数组的内容来创建对应的字符串

3. 字符串的常量值

字符串常量池:程序中直接写上的双引号字符串就在字符串常量池中。

对于基本数据类型来说,==是进行数值的比较对于引用类型来说,==是进行地址值的比较字符串常量池(在堆中的一块空间)中保存的是byte字节数组的地址值,代表真正字符串的字节数组在堆的其他位置(字节数组不在字符串常量池中)。new出来的String对象不在字符串常量池中。

4.字符串的常用方法

4.1 比较

==是进行字符串的地址值比较public boolean equals(Object obj);参数是一个字符串并且内容相同时才会返回true,否则返回false。 任何对象都能使用Object进行接收equals方法具有对称性如果比较双方一个常量一个变量,推荐把常量字符串写在前面。(避免变量是空指针触发空指针异常) public boolean equalsIgnoreCase(String str);忽略大小写进行内容的比较 只有英文字母区分大小写

4.2 获取相关方法

public int length();获取字符串中含有的字符个数

public String concat(String str);将当前字符串和参数字符串拼接成为返回值的新字符串

public char charAt(int index);获取指定索引位置的单个字符。(从0开始)

public int indexOf(String str);查找参数字符串在本字符串中首次出现的索引位置,如果没有返回-1。

4.3 截取方法

public String substring(int index);截取从参数位置一直到字符串末尾,返回新字符串public String substring(int begin, int end);截取从begin开始,到end结束,[begin, end)。

4.4 转换相关方法

public char[] toCharArray();将当前字符串拆分成为字符数组作为返回值public byte[] getBytes();获取当前字符串的底层字节数组public String replace(CharSequence oldString, CharSequence newString);将所有出现的老字符串换成新的字符串,返回替换之后的新字符串

4.5 分割字符串

public String[] split(String regex);按照参数的规则,将字符串切分成为若干个部分 以逗号为规则切割 "aaa,bbb,ccc".split(",")split方法的参数其实是正则表达式

5. static关键字

如果一个成员变量使用static关键字,那么这个成员属于这个类,而不是属于对象自己。如果一个方法使用static关键字,方法就变成静态方法,静态方法不属于对象,属于类。 成员方法必须先创建对象才能使用静态方法可以通过对象名或者类名称进行调用(建议使用类名称调用静态方法:类名称.静态方法)对于本类当中的静态方法,可以省略前面的类名称。静态不能直接访问非静态,(内存中先有静态内容,后有非静态内容)静态方法中不能使用this关键字 静态相关内存分配 静态成员变量会被创建在方法区的静态区中 静态代码块 public class 类名称{ static{ // 静态代码块内容 } } 第一次用到本类时,静态代码块执行唯一一次,静态比非静态的先进行,所以静态代码块也会比构造方法先执行。

6. Arrays类

功能:是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组的常见操作。 导包:在java.util包中 常用方法

public static String toString(数组);将参数数组变成字符串(转换后默认格式:[元素1,元素2,元素3…])public static void sort(数组);按照升序(默认)对数组进行排序。 如果是数值,默认升序如果是字符串,按照字母升序如果是自定义的类型,需要有Comparable或者Comparator接口的支持

7. Math类

功能:数学相关的类,提供大量的静态方法,完成数学运算相关操作。 导包:java.util

public static double abs(double num);获取绝对值public static double ceil(double num);向上取整public static double floor(double num);向下取整public static long round(double num);四舍五入Math.PI圆周率
最新回复(0)