天天看点

【Java基础】常用类

1、Scanner

键盘输入

Scanner sc=new Scanner(System.in);
Int a=sc.nextInt();   //键盘输入数字,int型用nextInt,字符串用next
System.out.println(a);
           

2、Object

常用方法有toString,Equals

Objects可容忍空指针异常

3、Date

日期转字符串——SimpleDateFormat

字符串转日期——Parse,一般需要根据提示抛异常就可以使用了

4、Calendar

操作日历

Calendar c=Calendar.getInstance();
c.get(Calendar.YEAR) // 获取年
c.set(Calendar.YEAR,2019)  //设置年
c.set(2019,11,21)   // 设置年月日
c.add(Calendar.YEAR,2)            // 2019——>2021
c.getTime()    将日历变成日期
           

5、System

currentTimeMillis() 获取毫秒

arraycopy() 复制

int[] src={1,2,3,4,5};
int[] dest={6,7,8,9,10};
System.out.println("复制前:"+Arrays.toString(dest));
//arraycopy(src,srcPos,dest,destPos,length) ,参数含义:src——原数组,srcPos——原数组中的起始位置,dest——目标数组,destPos——目标数组中的起始位置,length——长度
System.arraycopy(src,0,dest,0,3)   
System.out.println("复制后:"+Arrays.toString(dest));
           

结果:

复制前:{6,7,8,9,10}

复制前:{1,2,3,9,10}

6、StringBuilder

字符串缓冲区,可以提高字符串的操作效率(可以看成一个长度可以变化的字符串)

底层也是一个数组,但是没有被final修饰,可以改变长度

StringBuilder在内存中始终是一个数组,占用空间少,效率高

如果超出了StringBuilder的容量,会自动扩容

StringBuilder和String 可以相互转化

append() 返回的是this无需接受返回值

StringBuilder aa=new StringBuilder();
	aa.append("abc").append(1).append(8.8);//链式编程
           

7、String类

字符串是常量,他们的值在创建后不能更改

字符串的底层是一个被final修饰的数组,不能饿改变,是一个常量

进行字符串的相加,内存中就会有多个字符串,占用空间多,效率低下

equalsIgnoreCase() ——忽略大小写

Concat() ——拼接字符串

charAt()—— 获取指定索引位置的单个字符

indexOf()—— 获取字符首次出现索引位置,没有为-1

Substring()——有参数左闭右开,一个的话则到末尾

toCharArray()—— 拆分为字符数组

8、包装类

基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,

这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据

基本类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

9、匿名对象

只有右边的对象,没有左边的名字和赋值运算符

如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象

10、Random

生成随机数

Random r=new Random()
	r.nextInt(10)//取的是0到9之间的数

           

11、ArrayList

对象数组一旦创建,运行期间长度不可以改变

数组长度不会变化,ArrayList集合的长度可以变化

泛型只能是引用类型,不能是基本类型

引用类型:Byte Short Integer Long Float Character Booleaen(包装类)

基本类型:byte short int long float char boolean

对于ArrayList集合来说,直接打印的不是地址值,而是内容,内容是空则是[]

常用方法:Add() 添加

List.add()

Get() 获取

Remove() 删除

Size() 长度

12、static静态类

不再属于对象自己,属于类

只要本类的对象,共享同一份

静态方法不属于对象,属于类

可以通过对象名调用,也可以直接通过类名调用

如果有static关键字,先创建对象,通过对象使用它

如果没有static关键字,不需要创建对象,可以直接通过类名称调用

静态不能访问非静态(内存中先有静态后有非静态)

静态方法不能使用this

当第一次用到本类时,静态代码块执行唯一的的一次

静态内容总是优先于非静态,所以静态代码块比构造方法先执行

13、Math

是数学相关的工具类,有大量的静态方法

Abs——绝对值

Ceil——向上取整

floor——向下取整

Round——四舍五入

PI——圆周率