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

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

8c3687b2d4fe82bf8d7024c17a35364f.png

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

484c4305d286672bdfe50a28e97567d8.png

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

bbfb3678f150dcb9b2ad2052e0cae026.png

日期<-->字符串

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

26e99bcad37a8677295401b1844377d4.png

Math类

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

5acd2d68e76b82c5366df9912d4c6d2f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS之Foundation之探究学习Swift实用基础整理一

2019独角兽企业重金招聘Python工程师标准>>> 1 import Foundation2 3 //加载网络数据&#xff0c;查找数据的字符串4 let dataurl "http://api.k780.com:88/?appweather.city&&appkey10003&signb59bc3ef6191eb9f747dd4e83c99f2a4&formatjson…

sql 时间 没有日期_SQL-补充:日期和时间戳互转

补充&#xff1a;日期和时间戳互转1. 日期转时间戳-- 转十位select UNIX_TIMESTAMP(2018-12-25 12:25:00);结果&#xff1a;1545711900-- 转十三位SELECT REPLACE(unix_timestamp(current_timestamp(3)),.,);结果&#xff1a;15457119000212. 时间戳转日期 FROM_UNIXTIME(unix_…

CentOS 安装 Tomcat

1、Tomcat官网获&#xff08;http://tomcat.apache.org/&#xff09;取tar.gz文件的下载地址2、下载&#xff1a;# wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz3、解压&#xff1a;# tar -zxvf apache-tomcat-8.0.24.tar.gz 4、复制…

mysql sqlite 性能优化_MySQL和Sqlite3性能测试

测试条件&#xff1a;i5-44603.2G&#xff0c;普通机械硬盘。MySql: 5.0.45-community-nt,32bit, innodb引擎,innodb_flush_log_at_trx_commit0Sqlite3: SynchronousOff,LockingMode ExclusiveTableScript:MySql:CREATE TABLE test (id int(10) unsigned NOT NULL auto_increm…

win7-64bit 下oracle11g plsql 的正确安装

本人在PC机上安装了Oracle 11g 版本号的数据库服务&#xff0c;通过PL/SQL连接数据库时总是无法连接&#xff0c;由于PLSQL没有64位版。通过32bit的PLSQL连接64位的Oracle时就会报错&#xff0c;第一种须要安装一个32位的oracle客户端工具instantclient进行转换&#xff0c;另外…

3.9 第二次作业

一、信息系统集成有哪些特点&#xff1f;信息系统集成要以满足客户需求为根本出发点。信息系统集成不只是设备选择和供应&#xff0c;更重要的&#xff0c;它是具有高技术含量的工程过程&#xff0c;要面向用户需求提供全面的解决方案&#xff0c;其核心是软件。系统集成的最终…

vue那个生命周期函数操作dom_vue生命周期实例小结

本文实例分析了vue生命周期。分享给大家供大家参考&#xff0c;具体如下&#xff1a;每个Vue实例都存在完整的生命周期&#xff0c;经历从创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、销毁等一系列过程。如下图所示vue的完整生命周期可分为三个阶段&#xff1a;初…

python 字符串函数 center_Python字符串处理

Python字符串处理Python处理字符串是一个基本操作&#xff0c;需要熟记于心&#xff0c; 这篇python字符串处理文章总结了大多数常用的字符串处理函数、策略&#xff0c;供大家以及自己参考使用。Part I 常见处理函数1. String.find(sub, start0, endlen(string))检测sub是否包…

关于apache的虚拟主机配置

增加用户账号的验证touch /data/.htpasswd[rootuser10data]# htpasswd -c /data/.htpasswd user1 #新增第一个账号[rootuser10data]# htpasswd /data/.htpasswd user2 #新增第二个账号编辑/usr/local/apache2/conf/extra/httpd-vhosts.conf<VirtualHost *:80&g…

python字符串垂直输出加循环_将漂亮的soup嵌套循环垂直输出到datafram中

我如何将这个web抓取(数据)的输出放入pandas数据帧&#xff1f;下面的代码只显示一行数据&#xff0c;并且是垂直排列的。如何使数据帧看起来完全像打印(数据)-即水平&#xff1f;另外&#xff0c;我是个新手&#xff0c;这可不是Python。请建议如何使其成为函数(&#xff1f;)…

不求很多,够用就好

Hi&#xff0c;我是一名在校学生&#xff0c;目前大三&#xff0c;希望在前端方向上发展&#xff0c;最好以后是一个真全栈 曾经也会搜索一堆的工具&#xff0c;后面发现 只有正确的使用合理数量的工具&#xff0c;才能加快开发步伐 下面简单推荐几个实用工具&#xff0c;强大并…

Android控件第6类——杂项控件

1、Toast Toast用于显示提示信息。 Toast不会获得焦点&#xff0c;没法关闭&#xff0c;过段时间会自动消失。 使用方法&#xff1a;Toast.makeText获得Toast&#xff0c;并设置相关属性。调用Toast对象的show方法显示。 默认情况&#xff0c;Toast只弹出一段话&#xff0c;如果…

数据结构与算法面试题80道(32)

32. 有两个序列a,b&#xff0c;大小都为n,序列元素的值任意整数&#xff0c;无序; 要求:通过交换a,b中的元素&#xff0c;使[序列a元素的和]与[序列b元素的和]之间的差最小。 当前数组a和数组b的和之差为 A sum(a) - sum(b) a的第i个元素和b的第j个元素交换后&#xff0c;a和…

微信昵称乱码 mysql_微信登录昵称中文乱码 Emoji表情乱码问题总结

APP中使用微信登录&#xff0c;流程一般是APP通过微信SDK请求code&#xff0c;然后APP使用code请求自己的服务器&#xff0c;服务器根据code获取access token&#xff0c;然后根据token和openid获取用户信息。在最后一步获取用户信息时经常出现中文乱码问题&#xff0c;这里记录…

HTML5——section,article,aside

section section元素描绘的是一个文档或者程序里的普通的section节&#xff0c;一般来说一个section包含一个head和一个content内容 块。section可以表示成一个小节&#xff0c;或者tab页面里的一个tab下的box块。一个页面里可以拆分成多个section&#xff0c;分别代表 introdu…

Oracle Linux 6.5 RPM安装Mysql 5.7.11

安装Oracle Liunx 6.5 开发包全部选择上 不然后面安装Mysql报错 [rootlocalhost /]# cd /tool [rootlocalhost tool]# tar -xvf mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar 查看原来安装的Mysql [rootlocalhost /]# rpm -qa | grep mysql mysql-5.1.71-1.el6.x86_64 mysql-dev…

a byte of python图书购买_A Byte of Python

A Byte of Python9789577296467 定价27.98元 共149页&#xff0c;Lulu Marketplace2008年出版。A Byte of Python的内容简介&#xff1a;A Byte of Python is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for …

【python】编程学习练习题-2

1 #Python提供的sum()函数可以接受一个list并求和&#xff0c;请编写一个prod()函数&#xff0c;可以接受一个list并利用reduce()求积&#xff1a;代码&#xff1a;2 3 from functools import reduce4 li [1,2,3,4,5,7]5 print(sum(li))6 7 def prod(x,y): 8 return x * y…

mysql saveorupdate_Mybatis SaveOrUpdate插件

继承AbstractXmlElementGenerator类&#xff0c;覆盖addElements方法&#xff1a;public class SaveOrUpdate extends AbstractXmlElementGenerator {public SaveOrUpdate() {super();}Overridepublic void addElements(XmlElement parentElement) {XmlElement answer new Xml…

mysql以下运算符的优先级顺序正确的是_MySQL 运算符

原文&#xff1a;http://www.jb51.net/article/25657.htm我一贯秉承着一点&#xff1a;通过自己的双手真实的操作一遍之后的信息是最可靠的&#xff0c;所以在您参考这个小文儿的时候请不要只是“看”&#xff0c;单纯的瞧一瞧是得不到真知滴~~~座右铭&#xff1a;纸上得来终觉…