Java学习记录(九)之常用API


hello!好像有两个周没学习java了叭,最近被搭建环境搞得头大,再一次证明了我不适合搞研究,连基础环境都搭不起来,哎,难受。今天有空,把视频里的常用API1剩下的看完了,在这里做个笔记,话不多说,来了!

Scanner类

java.util.Random,用于键盘输入,固定用法:
Scanner scan = new Scanner(System.in);
常用函数:

  • 获取下一个数据值
    基本数据类型 next基本数据类型();返回键盘输入的下一个基本类型数据的数据值(基本数据类型:byte/short/int/long/float/double
    String next();返回键盘输入的下一个字符串
  • 判断是否有下一个数据值
    boolean hasNext基本数据类型();判断是否有下一个(基本数据类型:byte/short/int/long/float/double
    boolean next();判断是否有下一个字符串

Random类

  • 构造函数
    Random r = new Random();创建随机数生成器
    Random r = new Random(long seed);使用单个种子创建随机数生成器
  • 常用函数
    int nextInt();获取一个随机数,范围是int的所有范围,包括正负两种
    int nextInt(int bound);获取一个随机数,范围是[0,bound)
    double/float nextDouble/nextFloat();获取0.0-1.0之间服从均匀分布的一个随机数

ArrayList类

ArrayList<E>中的只能是引用类型,不能是基本类型
基本类型的引用类型对应关系表如下:

基本类型包装类(引用类型java.lang
intInteger
doubleDouble
floatFloat
byteByte
shortShort
longLong
charCharacter
booleanBoolean

java1.5+开始,自动进行装箱/拆箱

  • 自动装箱:基本类型->包装类
  • 自动拆箱:包装类->基本类型

String类

程序中所有的字符串字面值都是String类的实例【只要有双引号就是String类对象】
String内容永不可变,变的是对象存储的地址;可共享使用,底层是byte[]
下面是我的理解,可能有点不太准确
在这里插入图片描述

  1. 构造方法
    public String();空白字符串,不包含任何内容,长度为0
    public String(char[] cbuf);根据字符数组创建字符串
    public String(char[] cbuf, int offset, int len)根据字符数组和开始位置和长度创建字符串
    public String(byte[] bbuf);根据字节数组创建字符串
    public String(byte[] bbuf, int offset, int len);根据字节数组和开始位置和长度创建字符串

  2. 常用方法
    ==判断两字符串是否地址相同
    注意:对于基本数据类型==比较的是数据;对于引用类型==比较的是地址
    public boolean equals(Object obj);比较

    • 只有参数是字符串且内容相同,才返回true区分大小写);
    • equals()函数具有对称性,即a.equals(b)==b.equals(a)
    • 常量与变量的比较,推荐用法:常量.equals(变量),防止出现null.equals("a")抛异常
      public boolean equalsIgnoreCase(String str);忽略大小写比较

    public int length();返回字符串中字符的个数
    public String concat(String str);将当前字符串与参数字符串拼接返回新字符串,当前字符串不变
    public char CharAt(int index);返回字符串中指定索引的字符,索引从0开始
    public int indexOf(String str);返回字符串str在当前字符串中第一次出现的位置,没有则返回-1
    public int lastIndexOf(String str);返回指定字符串str在当前字符串中最后一次出现的位置,没有返回-1
    public subString(int index);截取当前字符串,从index开始到最后;
    public subString(int begin, int end);截取当前字符串,[begin, end)
    public char[] toCharArray();返回字符串的字符数组
    public byte[] getBytes();返回字符串的字节数组
    public String replace(CharSequence oldString,CharSequence newString);将所有出现的老字符串替换成新字符串没返回替换后的字符串,CharSequence是可接收的字符串类型
    public String[] split(String regex);根据参数分隔符分割字符串,注意以.字符切分字符串,应将regex表示为\\.
    public boolean contains(String s);判断当前字符串是否包含str``public boolean startWith(String str);判断当前字符串是否以str开头public boolean endsWith(String str);判断当前字符串是否以str```结尾

char类型进行数学运算时会提升为int

static修饰符

静态成员属于,非对象所有
static可修饰成员变量和成员方法;静态成员方法只能访问静态成员变量;静态方法中不能用this;静态优于非静态,所以静态代码块先于构造方法执行;
静态代码块:static{//代码块}第一次用到此类时,静态代码块执行唯一一次,常用于一次性地对静态成员变量赋值

Arrays

用于处理数组,提供大量静态函数
public static String toString(数组);将参数数组变为字符串,格式:{元素1,元素2,...}
public static void sort(数组);按升序对参数数组进行排序,注意返回值是void

  1. 参数数组是数值,按升序
  2. 参数数组是字符串,按字母顺序升序排序
  3. 参数数组是自定义类型,必须实现ComparableComparator接口

Math类

public static 基本数据类型 abs(基本数据类型 num);返回num绝对值,基本数据类型为int/long/float/double
public static double ceil(double num);向上取整(大数)
public static double floor(double num);向下取整(小数)
public static long round(double d);四舍五入,取整数
double类型可以自增

Object类

equals()默认情况下比较地址
可以根据自定义类的需求进行重写,也可以利用IDEA的快捷键ctrl+insert自动生成equals()函数
重写的函数一般考虑以下几点:

  1. 判断传递参数是否为本身
  2. 判断传递参数是否为null
  3. 判断传递参数是否非同类型

Objects

java.util.Objects
public static boolean equals(Object a, Object b)比较两对象是否相同,能够防止空指针异常

Date类

java.util.Date特定瞬间,精确到毫秒
时间原点(0毫秒):
1970-01-01 00:00:00.000(英国格林威治时间)
1970-01-01 08:00:00.000(中国时间-东八区)
System.currentTimeMillis()系统当前时间对应的毫秒数

  1. 构造方法:
    public Date();当前系统时间
    public Date(long m);将毫秒值转换为日期时间
  2. 函数
    long getTime()返回当前系统时间对应的毫秒数

DateFormat类

java.util.DateFormat extends Format日期时间格式化子类的抽象类

  1. 格式化(日期时间->文本)
    public String format(Date date);将日期时间转换为给定模式的字符串
  2. 解析(文本->日期时间)
    public Date parse(String source);将字符串按指定模式转换为日期时间;parse函数声明解析异常parseException

模式(区分大小写):

符号含义
y
M
d
H
m
s

SimpleDateFormat类

因为DateFormat类是抽象类,所以实际调用时使用其子类java.util.SimpleDateFormat

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值