第三阶段(11 - 14)11-常用API ★★☆☆☆Ø Eclipse开发工具★★☆☆☆
n 快捷键
l alt + shift + s 自动生成空参/有参构造函数、get-set()、toString()、hashCode()
l ctrl + shift + o 自动导包
l alt + shift + m 自动将选中抽取成方法
l alt + shift + r 修改类名、包名
l ctrl + n 新建文件
Ø Object类★★★☆☆
所有类(包括自定义类)的默认父类,比如,所有类如果不重写toString()方法的话,就直接调用Object类的toString()方法;
l hashCode() ——返回对象地址值的哈希值,且保证每个对象地址值唯一;
l toString()——返回类名+“@”+对象地址的哈希值
l equals()——返回true或false,比较的是对象地址的哈希值
PS:一般情况都会重写hashCode()和toString()方法;
12-常用API ★★★★☆Ø Scanner类★★☆☆☆
n 重点掌握方法
Ø String类★★★★★
n 重点掌握方法
方法名 | | | |
| | | |
| | | |
| | | |
substring(int beginIndex, int endIndex) | | | |
| | | |
| 返回一个char类型数组,数组元素是字符串中每个字符 | | |
replaceAll(String regex, String replacement) | | | |
13-常用API ★★★★☆n StringBuffer类★★★☆☆
l 可变的字符序列
l 线程安全
l 较比String累加字符串速度快
l 重点方法
n StringBuilder类★★★★☆
l 可变的字符序列
l 线程不安全
l 较比StringBuffer累加字符串速度快
l 构造函数及成员方法和StringBuffer一样
l 在不考虑安全,或是程序是单线程情况下,推荐使用StringBuilder,效率高
l StringBuilder和StringBuffer当作参数传递,当传入值发生改变,原值跟着改变
n Arrays类★★★★☆
l 针对数组操作的工具类
l 私有构造方法,所有方法通过类名调用
l 重点方法
n 包装类★★★☆☆
将基本数据类型封装成对象,而好处在于可以在对象中定义更多的功能方法操作该数据。
n 自动拆装箱
l 自动装箱:把基本类型转换为包装类类型
l 自动拆箱:把包装类类型转换为基本类型
l 何为装箱/拆箱
装箱就是把基本数据类型转换为包装类;拆箱就是把包装类转换为基本数据类型;
- //装箱
- Integer i = Integer.valueOf(100); //通过valueOf()方法把int类型数转换成Integer类型
- //拆箱
- int ii = i.intValue() ; //Integer对象i 通过intValue()方法转换成int类型数
- //自动装箱
- Integer i2 = 100 ; //系统为我们执行了:Integer i2 = Integer.valueOf(100);
- //自动拆箱
- int ii2 = i2 ; //系统为我们执行了:int ii2 = i2.intValue();
复制代码
14-常用API ★★★★☆n 正则表达式★★☆☆☆
是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
n 记住几个最基本
\d | |
| |
| |
| |
| |
| 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 |
| |
| |
- String s = “1234567”;
- String regex = “[0-9]”; //声明正则规则
- boolean b = s. matches(regex); //调用String对象的matches方法
复制代码n Random★★☆☆☆
此类用于产生随机数,如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
- Random r =new Random(1);
- Random r1 =new Random(1);
- int i =r.nextInt(200);
- int i2 =r1.nextInt(200);
- System.out.println(i);
- System.out.println(i2);
复制代码
- Random r =new Random();
- Random r1 =new Random();
- int i =r.nextInt(200);
- int i2 =r1.nextInt(200);
- System.out.println(i);
- System.out.println(i2);
复制代码
n Date、Calendar、SimpleDateFormat操作时间类★★☆☆☆
n Date类
l 常用方法:
long getTime(); //获取系统当前时间毫秒值
void setTime(long time); //传入毫秒值,设置当前时间
- Date d=new Date();
- long g=d.getTime(); //获取当前系统时间毫秒值 用long类型接收
- System.out.println(g); //1449389551167 long类型毫秒值
- Date dd=new Date(g); //构造方法,传入一个毫秒值,获取时间对象
- System.out.println(dd); // Sun Dec 06 16:12:31 CST 2015
- //传入一个long类型数,设置当前时间
- dd.setTime(1448389388049L);
- System.out.println(dd); // Wed Nov 25 02:23:08 CST 2015
复制代码n SimpleDateFormat类
l 常用方法:
publicSimpleDateFormat(String pattern); //构造方法,传入时间格式
final Stringformat(Date date); //成员方法,传入时间对象
Date parse(String source); //把时间格式字符串,转换成时间对象
- SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- //传入Date时间对象,返回指定的时间格式字符串
- String format = sdf.format(new Date().getTime());
- System.out.println(format); //2015-12-06 04:17:07
- Date parse = sdf.parse("2015-11-22 4:11:33"); //传入时间格式字符串,转换成时间对象
- System.out.println(parse);
复制代码
n Calendar类
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
l 常用方法:
static CalendargetInstance(); //获取Calendar对象
int get(int field); //获取对应年、月、天等等
- Calendar c = Calendar.getInstance(); //父类引用指向子类对象,获取Calendar对象
- //System.out.println(c);
- System.out.println(c.get(Calendar.YEAR)); //通过字段获取年
- System.out.println(c.get(Calendar.MONTH));//通过字段后期月,但是月是从0开始编号的
- System.out.println(c.get(Calendar.DAY_OF_MONTH));//月中的第几天
- System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日是第一天,周六是最后一天
- c.add(Calendar.YEAR,-1);
- int i=Calendar.YEAR;
- System.out.println(c.get(i)); //2014
- c.set(2000, 7, 8); //修改指定字段,
- c.add(Calendar.MONTH,-1); //月份减1 7-1
- int i=Calendar.MONTH;
- System.out.println(c.get(i)); // 7 – 1 = 6
复制代码