Java常用类 -- API的使用
包装类
概念
Java为每种基本数据类型,提供对应的类,来描述对应基本数据类型的这一类事物
Java中的包装类
基本数据类型 其对应的包装类(可以在API文档中查询到)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
int 和 Integer 的区别
1、Integer是int的包装类,int则是java的一种基本数据类型
2、Integer变量必须实例化后才能使用,而int变量不需要
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
4、Integer的默认值是null,int的默认值是0
自动装箱拆箱
装箱 : 把一个基本数据类型的数据赋值给一个其对应的包装类的过程
拆箱 : 把一个包装类对象赋值给一个其对应的基本数据类型的变量的过程
例如:
Integer it = 123;//包装类Java提供特性,基本数据类型装入到包装类对象
it = it + 2;//为了使it能进行加运算,所以要对it进行拆箱
Java Math 类
1.Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
2.Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
例如:
public class Test {
public static void main (String []args) {
System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));
System.out.println("0度的余弦值:" + Math.cos(0));
}
输出结果:
90 度的正弦值:1.0
0度的余弦值:1.0
Java String 类
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串
特点:
String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类
String/StringBuffer /StringBuilder区别:
String : 它的对象一旦被创建那么值和长度就固定不变了
StringBuffer : 它的对象内容是可以被改变的;
是线程安全的
版本是1.0
StringBuilder : 它的对象内容是可以被改变的;
是线程不安全的
版本是 1.5
相当于StringBuffer效率更高一点
常用方法::
StringBuilder append(....)
StringBuilder delete(int start, int end)
StringBuilder insert(插入点,插入的数据)
StringBuilder replace(int start, int end, String str)
StringBuilder reverse() //翻转
String substring(int start) //返回一个副本,本身的对象没有被改变
String substring(int start, int end) //返回一个副本,本身的对象没有被改变
Java Scanner 类
可以通过 Scanner 类来获取用户的输入
基本语法:
Scanner s = new Scanner(System.in);
next() 与 nextLine() 区别
next:
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next不能得到带有空格的字符串。
nextLine:
1、以Enter为结束符,也就是说 nextLine方法返回的是输入回车之前的所有字符。
2、可以获得空白。
随机数
使用场景
** 验证码 买马 抢红包 贪吃蛇的食物 随机英雄 音乐随机播放…
获取方式
1.Math类中有一个方法:random
类型:double--------------范围:[0.0,1.0)
2.Random类(有很多方法)
类型:boolean double int … -------------范围:[0,n)
3.从1.7开始Random的子类:ThreadLocalRandom
范围:[n,m)
4.UUID 经常用来做唯一标识ID
日期(时间)相关类
1.java.util.Date
1)本类表示时间(日期)
2)直接打印Date对象 :Sat Apr 01 15:28:03 GMT+08:00 2017
2.DateFormat SimpleDateFormat
1)作用一: 把一个Date对象可以转成我们希望的一个结果样式(字符串)
2)作用二: 也可以把一个字符串解析为一个Date对象
3.Calendar 日历
Calendar 类中有一些字段表示年 月 日 这些东西的标识
int get(int field)//通过制定的字段获得对应的值 ----> 获得当前的年月日...
set(int field,int value)//给指定的字段设置值,注意把新值覆盖之前的这个字段值,会自动的进位`
add(int field,int amount)//这个方法和set差不多,但是把amount的值累加到当前设置的字段原有的值之上
setTime(Date d)//可以直接把一个Date设置进去
Date getTime()//可以获得日历对象中的当前日期对象
Calendar对象的获得:
Calendar cal2 = Calendar.getInstance();