目录
六:基础类库
1.为类分类
-
Java的基础类库(JFC)中,按用途不同存放在不同的包中
-
java.long包:Java核心语言包,包含System,Thread,String等类
-
java.awt包:抽象窗口工具包,提供容器和组件等(可选学,因为java处理GUI不擅长)
-
java.swing包:图形界面有关(可选学,因为java处理GUI不擅长)
-
java.io包:包含输入输出类(学校没有讲,但是很推荐学习)
-
java.net包:与网络应用有关(学校也没有将,但是也很推荐学)
-
java.applet包:用于开发客户端小程序(可以了解,挺有趣的)
-
java.sql包:与数据库有关,JDBC连接技术/数据库连接池(JavaWeb中再学(寒假/下学期))
-
java.text包:提供了一组用于处理文本,日期,数据输出格式的类
-
java.nio包:提供的类为初始的io类提供缓冲和双向操作(JavaWeb中再学)
-
java.beans包:提供开发beans需要的类(JavaWeb中再学)
-
java.security包:提供设计网络安全方案的类(因为是网络工程专业,推荐学习)
2.字符串类(重点)
以后会单独成一章,详细介绍
3.正则表达式
-
暂时先了解,不会也没有关系
-
在学习web前端的时候在深入学习(表单验证等等,前端验证,减少网络传输和服务器的压力)
4.数学类与计算(Math类)
Math类基本介绍
-
Math类属于java.long包
-
Math类包含用于执行基本数字运算的方法,例如基本指数,平方根和三角函数
public class Main{ public static void main(String[] args){ Math math = new Math(); //会直接报错,构造方法私有 } }
-
Math类没有提供公开的构造方法;私有了无参构造方法
-
Math类的方法都是static的,可以直接用类名调用
(非常的多,这里只截取了一部分)
Math类基本方法介绍
-
Math.abs():取绝对值
-
Math.ceil():如果传递的是浮点数,都进1位;如果是整数,返回结果就是本身
-
Math.floor():传递的是double类型,取整数位,直接去掉小数位
-
Math.round():四舍五入
-
Math.max():取两者中的最大值
-
Math.min():取两者中的最小值
-
Math.pow():返回a的b次幂
-
Math.sqrt():开根号
-
Math.random():0.0 <= double x < 1.0;0到1(取不到1)
-
其实这里面还提供了非常多的方法,这里只是提一下用的非常多的
(最好自己再idea中试一试)
5.日期,日历和时间类
Date日期类
-
表示特点的时刻,精度为毫秒
-
构造方法:基本上已经过时(JDK不推荐使用)
-
Date():无参构造方法(推荐使用)
-
Date(Long Date):推荐使用,格林位置时间加上Long Date
-
注意:导包的时候不要引入到sql包,要引用util包
Date date1 = new Date(); System.out.println(date1); //输出当前的系统时间,CST表达的是中国时间
-
格林位置的时间与中国时间相差8小时
Date常用方法
-
public long getTime():获取1770/1/1 0:0:0到现在的毫秒数,时间戳
-
public void setTime():传递一个long类型time,加上纪元时间
格式化时期
-
SimpleDateFormat类:用于设置区域位置,格式化日期和解析日期
-
format():格式化日期,返回一个字符串,转换成易读的格式
-
format(String):有参构造方法,可以自定义格式化的日期
-
parse(String):转换为Date日期
-
y:年
-
M:月
-
d:日
-
h:上午(1—12)
-
H:一天(0—23)
-
m:分
-
s:秒
-
yyyy年MM月dd日HH小时mm分ss秒
Calendar日历类(*)
-
该类为一个抽象类,并不是一个具体的实现
-
使用Calendar类,利用多态的性质,有许多其他的类继承了Calendar类并且实现了它
-
getInstance()方法
Calendar修改日期(*)
二月份有多少天(*)
6.包装类
包装类基本介绍
-
包装了基本数据类型
-
非常好记,除了int和char不太一样;其余的全部首字母大写即可
Integer基本介绍类
-
位于java.long包中,无需导包
-
是一个封装了int类型的类,包装了基本数据类型int,底层基于int实现
-
Integer.MAX_VALUE:求int类型的最大值
-
Integer.MIN_VALUE:求int类型的最小值
int i = 100; Integer j = 100; System.out.println(i); System.out.println(j); //用法一模一样
Integer基本用法
-
两个构造方法
-
Integer(int value):已经过时,不推荐使用;但可以使用
-
Integer(String s):已经过时,不推荐使用;但可以使用;将字符串转换为int
Integer a = new Integer(30); //将value值赋成30 Integer b = new Integer("30"); //将字符串"30"转换为30
-
Integer.ValueOf(int value):作用与上面一样
-
Integer.ValueOf(String value):作用与上面一样
String基本用法
-
将int类型转换为String字符串
-
第一种方式:String a = "" + 66;
-
第二种方法:使用valueOf();可以将其他类型全部转换为String类型
boolean flag = true; boolean bool1 = String.valueOf(true); //将flag转换为String类型
-
String类转换为int类型:不是所有的String类型都可以转换为int类型
-
必须要String里面存放的是数字
String str = "123"; //Integer是int的包装类 Integer integer1 = Integer.valueOf(); int i1 = integer1.valueOf(str); //该API没有使用static关键字修饰 //也可以直接使用int类型的变量接受;因为该方法返回的是int类型 int i2 = Integer.parseInt(str); //该方法是静态的,可以直接调用
Integer包装类底层原理(*)
包装类的基本规则(*)
基本数据类型与包装类的区别
-
包装类是对象,拥有方法和成员属性,对象的调用都是通过对象的引用地址;基本数据类型不是
-
声明方式不同:包装类型是需要new出来;基本数据类型不需要
-
存储位置不同:基本数据类型保存在栈空间中;包装类存放在堆内存中,引用才是存放在栈空间中
-
初始值不同:基本数据类型(0,boolean:false,"");包装类所有类型都是null
Java中的装箱和拆箱(*)
字符串中的数据排序(*)
7.系统类(System)
System类基本介绍
-
System类属于java.long包
-
被final关键字修饰,无法被继承
-
不能构造该类,该类的构造方法是被私有化的
System类基本方法介绍
-
exit():表示退出程序,0表示正常停止jvm虚拟机;1为异常退出
-
currentTimeMillis():获取当前的系统时间(获取1970/1/1-------当前时间),返回结果是毫秒为单位
(1秒等于1000毫秒)
-
其他的方法还有很多,感兴趣的话可以自己取试一试(看看API文档,做个demo试试)
8.其他常用类
反射/枚举会在后面小专题中详细介绍
9.几个重要接口
Comparator和Comparable接口也会在后面的小专题详细介绍