String类
概念:之前都已经接触到了String的对象,是一个字符串。String类就代表的是字符串
特点
1.双引号引起来的"abc",这种也是String对象,这种对象不是保存到堆中而是方法区的常量池中
2.字符串对象是不可变的对象,只要你观察到字符串的内容变化了,那么肯定是一个新的String对象诞生了
3.字符串对象是不可变的,所以所有的字符串常量对象具有共享性
4.字符串的底层是字符数组
“abc”等效于 char[ ] data = {‘a’,‘b’,‘c’}
String类的使用
构造方法
1.直接赋值:也是一个对象,但是保存到的常量池,常用
String s = "abc";
2.无参构造:
public String();
String s1 = new String();//保存到堆中
3.有参构造:
public String("其他字符串")
String s = new String("abc")//保存到堆中
4.有参构造:常用
public String(char[] chs);
char[] chs = {'a','b','c'};
String s = new String(chs);
5.有参构造:常用
public String (byte[] bs);
byte[] bs = {'a','b','c'};
String s = new String(bs);
常用方法
1.判断
public boolean equals(String anoString);//比较两个字符串对象的内容是否相等,常用
public boolean equalsIgnoreCase(String anotherString);//忽略大小比较内容,常用
public boolean contains(String s);//判断是否包含某个字符串,常用
public boolean startsWith(String anoString);//判断前缀
public boolean endsWith(String anoString);//判断后缀
2.获取,都常用
public int length();//获取字符串的长度
public String concat(String str);//拼接字符串
public char charAt(int index);//获取指定下标的字符
public int indexOf(String str);//获取str第一次出现的索引
public String substring(int buginIndex);//从开始下标处截取字符串,返回新的字符串
public String substring(int beginIndex,int endIndex);//从开始到结束下标截取字符串(含头不含尾)
3.转换
public char[] toCharArray();//转换成字符数组,常用
public byte[] getBytes();//转成字节数组,常用
public String replace(String oldStr,String newStr);//将oldStr转换为newStr,常用
public String toUpperCase();//转成大写字符串
public String toLowerCase();//转成小写字符串
4.分割,就一个肯定常用
public String[] split(String 切割符);//以指定的切割符切割字符串,返回字符串组
Arrays类
概念:是一个工具类,包含用来操作数组的各种方法
特点:所有方法是静态的
常用方法
public static String toString(int[] a);//将数组转换成固定格式字符串,
//打印时不用我们遍历输出了,简化开发
public static void sort(int[] a);//排序数组(升序)
Arrays类练习
public static void main(String[] args) {
//1.输入一个
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个随机字符串:");
String str = sc.nextLine();
//2.升序排序字符串中所有字符
char[] chs = str.toCharArray();
Arrays.sort(chs);
//3.转成字符串
String newStr = new String(chs);
//4.倒叙
for(int i = newStr.length()-1;i >= 0;i--) {
char ch = newStr.charAt(i);
System.out.print(ch+" ");
}
}
Math类
概念:包含了用于执行基本数学运算的方法
基本运算方法
public static double abs(double a);//求一个数的绝对值
public static double ceil(double a);//向上取整
public static double floor(double a);//向下取整
public static long round(double a);//四舍五入
注意:如果是整数(比如6,6.0),那么ceil和floor都是其本身