这次要给大家讲述的是Java常用类。

本文主要有以下知识点:

Ø 字符串相关类(String 、StringBuffer、StringBuilder)

Ø 算法及数组工具类(Arrays)

Ø 日期类

Ø 基本数据类型包装类

Ø Math类

Ø File类

Ø 枚举类

一、 字符串相关类(String、 StringBuffer 、 StringBuilder)

java.lang.String:不可变的字符序列

java.lang.StringBuffer:可变字符序列,并且线程安全,但是效率低

StringBuilder :可变字符序列,线程 不安全,但是效率高 (一般用他!)

“xxxx”为该类的一个对象

String类的常见构造方法:

String()

创建一个空字符的String对象

String(String original)

创建一个String对象为original的拷贝

String(char[] value)

用一个字符数组创建一个String对象

String(char[] value, int offset, int count)

用一个字符数组从offset项开始的count个字符序列创建一个String对象

String(byte[] bytes)

用一个byte数组创建一个String对象

String(byte[] bytes,int offset,int length)

用一个byte数组从offset项开始的length个字符序列创建一个String对象

二、 String类常用方法




java 系统时间毫秒数 java中毫秒如何转成日期_java 系统时间毫秒数


public static String valueOf(….)系列,可以将基本类型数据转换为字符串

例如:

public static String valueOf(double d)
public static String valueOf(int i)
….
public String[] split(String regex)

将一个字符串按照指定的分隔符进行分割,返回分割后的字符串数组。

StringBuffer类和StringBuilder类方法类似

1、字符串缓冲区类,StringBuffer

用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类,StringBuffer供我们使用。

StringBuffer和String类似,但StringBuffer可以对其字符串进行改变。

2、String和StringBuffer相互转换

String -- StringBuffer

构造方法

StringBuffer -- String

toString()方法

3、StringBuffer的构造方法

A:StringBuffer()

创建一个不包含字符序列的空的StringBuffer对象

B:StringBuffer(int size)

构造一个不带字符,但具有指定初始容量的字符串缓冲区

C:StringBuffer(String str)

创建一个StringBuffer对象,包含与String对象str相同的字符序列

4、StringBuffer的常见功能(自己补齐方法的声明和方法的解释)

A:添加功能 append()

B:删除功能 delete(int start,int end) 开始位置,结束位置(end-1)

C:替换功能

D:反转功能

E:截取功能(注意这个返回值)

F:在指定位置插入字符序列 insert(index,字符串)

5、与String类含义类似的方法


java 系统时间毫秒数 java中毫秒如何转成日期_数组_02


6、字符串的案例

A:模拟用户登录

B:字符串遍历

C:统计字符串中大写,小写及数字字符的个数

D:把字符串的首字母转成大写,其他小写

F:字符串反转

G:统计大串中小串出现的次数

H: 判断一个字符串是否对称

三、 算法及Arrays工具类

1、排序

A:冒泡排序

相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处。同理,其他的元素就可以排好。

public static void bubbleSort(int[] arr) {for(int x=0; x arr[y+1]) {int temp = arr[y];arr[y] = arr[y+1];arr[y+1] = temp; } }}}

B:选择排序

把0索引的元素,和索引1以后的元素都进行比较,第一次完毕,最小值出现在了0索引。同理,其他的元素就可以排好。

public static void selectSort(int[] arr) {for(int x=0; x

2、查找

A:基本查找

针对数组无序的情况

public static int getIndex(int[] arr,int value) {int index = -1;for(int x=0; x

B:二分查找(折半查找)

针对数组有序的情况(千万要先排序,在查找)

public static int binarySearch(int[] arr,int value) {int min = 0;int max = arr.length-1;int mid = (min+max)/2;while(arr[mid] != value) {if(arr[mid] > value) {max = mid - 1;}else if(arr[mid] < value) {min = mid + 1;}if(min > max) {return -1;}mid = (min+max)/2;}return mid;}

3、Arrays工具类

A:是针对数组进行操作的工具类。包括排序和查找等功能。

B:要掌握的方法(自己补齐方法)

把数组转成字符串:

排序:

二分查找:

4、把字符串中的字符进行排序

举例:

"edacbgf" String []

得到结果

"abcdefg"

四、 时间处理相关类

1、java.util.Date

Date() 当前时间毫秒数

Date(long date) 指定日期毫秒数

⑴与字符串转换

toString()

⑵日期比较

①equals()

②compareTo(Date anotherDate)

③after(Date when) before(Date when)

⑶与数字 Long 转换(重要)

getTime() ->获取数字

setTime() -->变成另外一个日期

2 、 DateFormat 类和 SimpleDateFormat 类

作用:把时间对象转化成 指定格式的字符串。反之,把 指定格式的字符串转化成时间对象。

DateFormat 是一个抽象类。一般使用 SimpleDateFormat 类。

java 系统时间毫秒数 java中毫秒如何转成日期_SearchHit转成java对象_03

日期字符串

DateFormat

1、format(Date date) -->日期格式化为字符串

2、parse(符合格式字符串) -->字符串 转为日期

子类

SimpleDateFormat(String pattern)

模板:区分大小写

* y:年

* M:月

* d:日

* H:24 进制 [0,23]

* k:24 进制 [1,24]

* h:12 进制 [0,11]

* K:12 进制 [1,12]

* m:分钟

* s:秒

* S:毫秒

五、 基本数据类型的包装类

(1)为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装类类型

byte Byte

short Short

int Integer

long Long

float Float

double Double

char Character

boolean Boolean

(2)Integer的构造方法

A:Integer i = new Integer(100);

B:Integer i = new Integer("100");

注意:这里的字符串必须是由数字字符组成

(3)String和int的相互转换

A:String -- int

Integer.parseInt("100");

B:int -- String

String.valueOf(100);

(4)JDK5的新特性

自动装箱 基本类型--引用类型

自动拆箱 引用类型--基本类型

把下面的这个代码理解即可:

Integer i = 100;

在赋值之前,先进行了自动装箱

Integer i =Integer.valueOf(100);

i += 200;

计算之前,先进行了自动拆箱:i.intValue(),将对象转换为int基本数据类型

(5)包装类常见方法

java 系统时间毫秒数 java中毫秒如何转成日期_java 系统时间毫秒数_04

Math类

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型

java 系统时间毫秒数 java中毫秒如何转成日期_SearchHit转成java对象_05