大家好,乐字节的小乐又和大家见面了。这次要给大家讲述的是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类常用方法

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类含义类似的方法

6、字符串的案例

A:模拟用户登录

B:字符串遍历

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

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

F:字符串反转

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

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

三、 算法及Arrays工具类

1、排序

A:冒泡排序

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

public static void bubbleSort(int[] arr) {for(int x=0; x<arr.length-1; x++) {for(int y=0; y<arr.length-1-x; y++) {if(arr[y] > 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<arr.length-1; x++) {for(int y=x+1; y<arr.length; y++) {if(arr[y] < arr[x]) {int temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}}
}

2、查找

A:基本查找

针对数组无序的情况

public static int getIndex(int[] arr,int value) {int index = -1;for(int x=0; x<arr.length; x++) {if(arr[x] == value) {index = x;break;}}return index;
}

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 类。

日期<-->字符串

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)包装类常见方法

Math类

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

java 类数组_Java常用类-字符串、日期类、算法及数组工具类等相关推荐

  1. java 数字翻译成英文_Java实现将数字日期翻译成英文单词的工具类实例

    本文实例讲述了Java实现将数字日期翻译成英文单词的工具类.分享给大家供大家参考,具体如下: package com.sunyard.etp.ag.util; import java.math.Big ...

  2. 自己写的将数组中的“null“字符串转成null的小工具类,报java.lang.NullPointerException

    起初的工具类代码: //转字符"null"为空public static void toNull(Object[] obj){if (obj!=null) {for (int i ...

  3. java 数字翻译成英文_Java实现数字日期翻译成英文单词的工具类案例分享

    这篇文章主要介绍了Java实现将数字日期翻译成英文单词的工具类,结合完整实例形式分析了Java日期转换与字符串操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了Java实现将数字日期翻译成英文单词 ...

  4. java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题

    文章目录 先看成品 前言 一.项目目录结构 一.海报制作PosterUtil.java工具类 1. 描述 2. 代码 二.测试生成海报 1. 描述 2. 直接上代码 四.其他测试 1. Test1_C ...

  5. JAVA高效率 (秒级) 将千万条数据导入数据库 (已封装工具类)【详解】【一看就懂】

    该gif做了加速处理,便于观看~  今天在将一个500w+条数据的文件导入至数据库时,遇到一个异常,相信做大数据应该都有遇到.500w条数据说多不多,说少也不少.既然问题出现了,那么就一定要解决. 异 ...

  6. 按照拼音对数组中的中文字符串排序的算法

    按照拼音对数组中的中文字符串排序的算法,不是很难,这里直接放上代码,Demo去最下面找: 注:里面用到一个叫George的牛人写的中文转拼音首字母的函数pinyinFirstLetter,因为内容实在 ...

  7. 测试算法(性能)的工具类

    记录几个测试算法性能的工具类,方便以后测试算法. Stopwatch类:可以得到算法的执行时间(单位:s,小数点后3位) 1: public class Stopwatch { 2: private ...

  8. java 常用类 练习_Java常用类之String类练习

    1.编程. 已知字符串:"this is a test of java". 按要求执行以下操作: (1) 统计该字符串中字母s出现的次数 (2) 取出子字符串"test& ...

  9. java api 第一个类是_java.常用API

    Scanner 使用方法 1.导包 import 包路径.类名称 import java.util.Scanner; 如果需要使用的目标类,和当前类名称位于同一个包下,则可以省略导包语句不写. 2.创 ...

最新文章

  1. 利用人工智能保护生物多样性
  2. 【云音乐】从手游APP到云音乐视频标签分类,时隔3个月再次面对多标签任务,终于摸索出了一些小经验。附自定义评估函数代码
  3. 前端 ---JS中的面向对象
  4. Java 多线程 并发编程------超全面
  5. 导数卷积 (NTT)
  6. [蓝桥杯][2019年第十届真题c/c++B组]后缀表达式(解释sum -= 2*a[i])
  7. Openresty+Nginx+Lua+Nginx_http_upstream_check_module 搭建
  8. “我爱淘”冲刺阶段Scrum站立会议3
  9. jquery mobile页面跳转后js不执行的问题
  10. webpack5+vue3搭建h5项目模板-(一)-基础配置
  11. bios 微星click_微星主板CLICK BIOS II BIOS设置软件
  12. python游戏编程实战教程_关于游戏编程的详细介绍
  13. 2019保定中考计算机时间安排,2019年保定中考考试时间安排,保定中考考试科目时间安排表...
  14. 关闭 Eureka 的自我保护机制
  15. android 连接本地设备,从USB连接的Android移动设备访问PC的本地主机
  16. git报错:fatal: 无法为 ‘https‘ 找到远程助手
  17. winform pdf转图片.jpg或.png(O2S.Components.PDFRender4NET)
  18. android点亮屏幕软件,插亮屏幕Lite
  19. python怎么读取excel数据-python怎么从excel中读取数据?
  20. Unity3d 游戏特效制作实战教程 第二部

热门文章

  1. 为什么redis取出来是null_[2020] Redis 最新面试题
  2. android studio日历小程序,android studio无法加载日历界面
  3. python 定义变量_python-003-变量
  4. JQ 全选后获取选中的值_Filecoin如何创建账户钱包并获取FIL测试币
  5. CentOS7使用firewalld打开关闭防火墙与端口(转载)
  6. 第5章 函数与函数式编程
  7. (转) Twisted :第十九部分 改变之前的想法
  8. 解决复杂多数据源报表的5种通用办法
  9. C和C++实务精选丛书
  10. 深入理解Linux内存映射机制