常用API
1. 在java中如何表示一个时间对象呢?
需要使用到Date类,在java.util包下面;
使用步骤:
1> 导入包: import java.util.Date;
2> 创建对象,使用构造方法
public Date();// 创建一个默认的当前时间点的日期对象.
public Date(long time);// 根据指定的毫秒值创建日期对象
3> 使用成员方法:
public void setTime(long time);// 为当前日期设置毫秒值
public long getTime();// 获取日期对象的毫秒值
注意点:
1> Date类对象进行输出的时候,显示的不是地址值,说明已经覆盖了toString方法
2> 中国属于世界的东八区,默认的时间是: 1970年1月1日8:00
3> 世界的默认时间是格林尼治时间(英国南郊): 1970年1月1日0:00
2. 如何直接使用Date日期来表示时间,默认的时间,可读性不好,可是使用DateFormat来进行格式化.
DateFormat: 表示时间格式化的类, 在java.text包下面;
由于DateFormat是一个抽象类,不能直接创建对象, 所以需要使用到子类: SimpleDateFormat;
使用步骤:
1> 导入包: import java.text.SimpleDateFormat; /DateFormat
2> 创建对象,使用构造方法:
public SimpleDateFormat(String pattern);
pattern: 可以传入指定的格式: "yyyy年MM月dd日 HH时mm分ss秒";
3> 使用成员方法
public String format(Date date);// 将日期对象转成字符串
public Date parse(String strTime);// 将字符串转成日期对象
3. 如果使用Date没有办法很好的表示,今天是今年的多少天,本周是今年的多少周...等等信息
如果需要表示的更加丰富,可以使用Calendar, 在java.util包下面;
Calendar类: 表示日历对象的一个类,是一个抽象类没有办法创建对象,需要用到子类,在java.util.Calendar;
使用步骤:
1> 导入包: import java.util.Calendar;
2> 创建对象,使用构造方法
由于Calendar是抽象类,可以使用子类: GregorianCalendar
3> 使用成员方法;
public static Calendar getInstance();// 静态方法,也可以获取一个日历对象(推荐使用)
public Date getTime();// 获取日期对象
public int get(int field);// field指的是字段信息(在Calendar中的字段(静态成员变量)里面)
public void set(int field, int value);// 设置某一个字段为具体的值
public void set(int year, int month, int day);// 设置具体的年月日
public void add(int field, int amout);// 将某个字段对应的日期移动(增加或者减少)
注意:
获取月份表示范围是[0,11]表示[1,12]月份
4. System: 表示和系统相关的属性类,比如: 获取JDK的路径, 获取系统用户名,获取JDK的供应商等等...;
使用步骤:
1.由于System在java.lang包下面所以使用不需要导入包
2.创建对象,由于System的构造方法都被私有化了,所以不能创建对象
3.使用成员变量(字段),或者成员方法都是静态的内容;
常用的静态字段:
System.in 标准的输入(标注的字节输入流);
System.out 标准的输出
System.err 用来输出错误或者异常信息,以红色字体展示, 快捷键: syse alt + / 回车
静态成员方法:
public static void exit(int status);// 退出JVM虚拟机,0表示正常退出,非0异常退出
public static long currentTimeMillis();// 获取当前运行在这一行的毫秒值
public static void gc();// 建议JVM去做垃圾回收,不一定会回收.
public static String getProperty(String key);// 获取指定的相关系统属性.
key: 查API中System,先找到getProperties,通过这个方法可以找到所有的key
5. Math: 可以用来表示复杂的数学运算相关的类,在java.lang包下面
Math的使用步骤:
1. 导入包, 因为在lang包下所以不需要导入包
2. 创建对象, Math的构造方法都是私有的,所以不能创建对象
3. 使用静态成员变量,静态成员方法
静态的成员变量:
Math.PI 表示一个π
静态的成员方法:
1> public static double abs(double a);// 返回double类型的绝对值
2> public static double ceil(double a);// 向上取整,以double类型返回
3> public static double floor(double a);// 向下取整,以double类型返回
4> Public static double min(double a, double b);// 获取两个数的较小值
5> public static double max(double a, double b);// 获取两个数的较大值
6> public static double pow(double a, double b);// 返回a的b次方
7> public static double random();// 返回带正好的double值,该值大于等于0.0且小于1.0
8> public static long round(double a);// 返回a的四舍五入的值
6. 如果直接操作基本数据类型,方式有限,只能进行基本的数学运算, 如果变成包装类之后,可以使用类中的方法,进行更加复杂的操作
比如: 可以将对应的数据存储到集合, 比如可以进行进制的转换;
如何将一个基本数据类型变成包装类,对应的类型有哪些?
基本数据类型 包装类类型(都在java.lang包下,全部都能直接使用)
byte Byte
short Short
int Integer(特殊)
long Long
float Float
double Double
char Character(特殊)
boolean Boolean
* 自动装箱: 将基本数据类型自动封装引用数据类型
* 自动拆箱: 将引用数据类型拆箱成基本数据类型
一个数字字符串如何和一个基本数据类型之间进行相互转换?
字符串转成基本数据类型:
方式:
int num = Integer.parseInt(String str);
基本类型 变量名 = 包装类型.parseXxx(String str);// 和上面同理
基本数据类型转成字符串:
方式一: 基本数据类型 + "" ;// 推荐使用
扩展方式:
方式二: Integer的方法, Integer.toString(int num);
方式三(补充): String的方法, String.valueOf(int num);
注意:
只有数字类型对应的字符串,才能够转成对应基本数据类型
7. 什么是正则表达式呢? 就是一个特殊的字符串, 用来匹配给定的字符串是否满足这个特殊的规则;
和正则表达式相关的方法(String类的方法):
1. public String[] split(String regex);
2. public boolean matches(String regex);
在正则表达式中英文句点(.), 有特殊含义,如果匹配需要使用 \.
杠()在正则表达式中也有特殊含义表示,转移字符,用需要打印出 \, 需要写上: \
加号(+), 字符+, 表示这个字符出现了一次或者多次
* String的方法;
* public boolean matches(String regex);// 使用regex规则来检查调用的字符串是否满足这个规则.
* 匹配邮箱:
* 特点:
* xxx@xx.xx.xxx
* hello@qq.com.cn
* 1. @符号前面必须要有内容
* 2. @后面也有内容
* 3. 必须要有一个点. 可以有两个点
* 匹配手机号:
* 特点:
* 1. 纯数字
* 2. 第一位必须是1
* 3. 第二位可以是: 3, 5, 7, 8
* 4. 共有11位
* 匹配一个qq号:
* 特点:
* 1. 是一个纯数字
* 2. 开头不能是0
* 3. qq号的位数是 5到12位
正则表达式: http://114.xixik.com/regex/
HTML转义字符: http://114.xixik.com/character/