04-String类,static,Arrays类

String类

  1. 字符串常量,内容不可以改变。可以共享使用
    程序中只有直接写上双引号字符串,才在字符串常量池中
    在这里插入图片描述
  2. 三种构造:
    在这里插入图片描述
    按住CTRL键,去点击类名称(String),看源码。 String底层是靠字符数组实现的。
    一种直接创建:String str4 = “hello”;
  3. 方法:
  • public boolean equals (Object anObject) // 只有参数是字符串且内容相同(区分大小写),返回true。
    如果要与双引号字符串比较,推荐把常量放到前面。
  • public boolean equalsIgnoreCase (String anotherString) // 字符串与另一字符串是否相同,不区分英文大小写
  • public int length () // 字符串长度
  • public String concat (String str) // 将参数字符串拼接到当前字符串尾,返回新字符串
    (也可以用“+”)
  • public char charAt (int index) // 返回指定索引处的字符
  • public int indexOf (String str) // 返回参数字符串第一次出现在该字符串内的索引,如果没有返回-1
    截取方法
  • public String substring (int beginIndex) // 从参数位置一直到末尾,返回新字符串(包括参数位置)
  • public String substring (int beginIndex, int endIndex) // 返回[beginIndex, endIndex)中间的子字符串
    转换方法
  • public char[] toCharArray () // 拆分为字符数组返回
  • public byte[] getBytes () // 获取当前字符串底层的字节数组
  • public String replace (CharSequence oldString, CharSequence newString) // 将所有出现的老字符串转换成新的字符串,返回新字符串 (CharSequence:可以接受字符串类型)
    ctrl+n 输入“string”-> ctrl+n 也可以打开源代码
    分割方法
  • public String[] split(String regex) // 按照参数规则,将字符串切割成若干部分。
    参数是一个正则表达式,用“.”进行区分,用“\.”
    Alt+回车,选择第一项:对一个对象进行new
    e.g
    在这里插入图片描述

static静态关键字

  1. 一旦用了static关键字,这样的内容属于类,只要是本类对象,共享同一份。
  2. 修饰成员变量时,该变量称为类变量。通过类名称进行调用:
    Student.room = “101教室”;
  3. 当 static 修饰成员方法时,该方法称为类方法 ,也称静态方法。静态方法不属于对象,也属于类的。
    如果有static,那么不需要创建对象,直接通过类名称来使用它。
  4. 推荐写:
  • 类名称.静态方法名() // 对于本来当中的静态方法,可以省略类名称
  • 类名称.静态变量
  1. 注意事项:
  • 成员方法可以访问成员变量和静态变量
  • 静态方法只能访问静态变量,不能直接访问成员变量
    (原因:在内存中【先】有静态内容,【后】有非静态内容)
  • 静态方法中不能用this
    原因:this代表当前对象,但是静态方法中不用对象。
  1. static内存图
    在这里插入图片描述
  2. 静态代码块
    public class 类名称 {
    static {
    // 静态代码块内容
    }
    }
    特点:当第一次用于本类时,静态代码块执行唯一一次。
    用处:用来一次性对静态成员变量赋值

数组工具类Arrays

  1. Java.util.Arrays,里面提供大量静态方法,用于实现数组常见操作
  2. 方法:
  • public static String toString(数组) //将参数数组变成字符串,按照默认格式:[元素1,元素2……]
  • public static void sort(数组) // 默认排序效果为升序 ,如果是自定义的类型,需要有Comparable或者Comparator接口的支持

Math类

  1. java.lang.Math,里面提供大量静态方法,完成与数学运算相关的操作
  2. 方法:
  • public static double abs(double a) // 返回 double 值的绝对值,有多种重载
  • public static double ceil(double a) // 向上取整
  • public static double floor(double a) // 向下取整
  • public static long round(double a) // 四舍五入
  • Math.PI 代表圆周率