第五课:常用类以及类加载

1.Random: 构造方法  new Random()
     int nextInt(): 产生一个随机整数
     int nextInt(int n): 产生一个0~n的随机数
   比较Math.random() 和 Random 的使用
     1.Math.random() -> 不需要对象,直接调用
       Random -> 需要对象
     2.Math.random() -> 返回double, 范围固定0~1
       Random中的nextInt() -> 返回int, 范围可指定
 2.String - 字符串 -
    字符数组直接打印, 就是字符串 -> JVM转换的
    字符串特点:
       1.直接赋值的字符串, 都存在字符串常量池中, 优化
       2.字符串本身不可变
       3.字符串不能用 == 来比较
    1.构造方法
        String s = "hello";
        String()
        String(String)
        String(char[])
        String(char[], int offset, int count)
        String(byte[])
        String(byte[], int offset, int length)
    2.常用API
        char charAt(int index)
        char[] toCharArray()
        boolean equals(String)
        String substring(int start, int end)
        String substring(int start)
        boolean startsWith(String)
        -- 从offset位置开始, 是否以指定字符串打头
        boolean startsWith(String, int offset)
        boolean endsWith(String)
        int indexOf(char)
        int indexOf(String)
        -- 从fromIndex开始往后, 第一次出现char的位置
        int indexOf(char, int fromIndex)
        int indexOf(String, int fromIndex)
        int length()

        boolean equalsIgnoreCase(String)
        -- 去掉字符串左右两边的空白字符
        String trim()

        concat
        toUpperCase
        toLowerCase
        contains
        replace
 3.Scanner
    Scanner console = new Scanner(System.in);

有一些类的方法在使用时, 不需要创建对象
static: 静态的
 1.修饰成员变量
    属于类的, 所有对象共用
    通过类名.调用
    只有一个

 2.修饰方法

 3.修饰代码块
    静态代码块 -> 给类初始化
    在类加载时执行的
    作用: 用来执行消耗比较大的代码

xx.java -> xx.class -> 类加载 -> JVM方法区中
静态的成员变量是和类一起加载到方法区中的
结论: 当使用静态成员变量时, 对象不一定存在

类什么时候会加载?
  第一次使用类会加载, 并且只加载一次
  使用类的情况:
    创建对象
    调用类的静态成员变量
    调用类的静态方法
  类加载会执行什么代码?
    1.静态代码块
    2.静态成员变量

java.lang.Math:
    double Math.random(): 返回0.0~1.0 之间的随机数
    double Math.pow(double a, double b): 返回 a 的 b 次幂
java.util.Arrays:
    String Arrays.toString(数组): 以[元素1, 元素2]格式打印数组

数组 [1,2,3,4,5], 添加一个 6
1.数组扩容: 创建新的数组
    int[] arr = {1,2,3,4,5};
    arr = new int[6]; // [1,2,3,4,5,0]
2.将原来的元素复制到新数组中

数组赋值:
    void System.arraycopy(src, srcPos, dest, destPos, count)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值