Java学习day-15:常用类

一、String类:

String对象代表不可变的Unicode字符序,String对象的内部成员变量的值被赋值后无法改变;

1.String类的底层结构:

String类的底层数据结构是char类型的数组;

String的相应方法的实现实际上就是对数组的一个操作;

2.String的常用方法:

2.StringBuffer和StringBuilder类:

StringBuffer和StringBuilder非常类似,均代表可变的字符序列。 这两个类都是抽象类AbstractStringBuilder的子类,方法几乎一模一样。

(1)二者的区别:

StringBuffer:线程安全,做线程同步检查,效率较低;适合多线程。

StringBuilder:线程不安全,不做线程同步检查,因此效率较高;适合单线程。

(2)常用方法:

1)append()方法:可以为该StringBuilder 对象添加字符序列,仍然返回自身对象。

2)index(String str):返回指定子字符串第一次出现的字符串内的索引。

3)charAt(int index):返回char在指定索引在这个序列值。

代码截图
结果

3.可变字符和不可变字符

(1)String:不可变字符序列;StringBuffer和StringBuilder可变字符序列;

(2)在频繁修改字符串时StringBuffer的效率更高;

代码截图
结果

二、Date时间类:

类Date表示特定的瞬间,精确到毫秒;

在 JDK 1.1 之前,类Date有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。

从 JDK 1.1 开始,应该使用Calendar类实现日期和时间字段之间转换,使用DateFormat类来格式化和解析日期字符串。Date中的相应方法已废弃。

1.Date类的常用方法:

1)getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此Date对象表示的毫秒数;

2)setTime():设置此Date对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后time毫秒的时间点。

3)after(Date when):测试此日期是否在指定日期之后;

4)before(Date when):测试此日期是否在指定日期之前。

5)equals(Object  obj):比较两个日期的相等性。

代码截图
结果

2.DateFormat类和SimpleDataFormat类:

(1)DateFormat 类:

是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期时间。

(2)常用方法:

1)format(Date date,StringBuffer toAppend,ToFilePosition fieldPosition)将一个 Date 格式化为日期/时间字符串。

2)getNumberFormat():获取此日期/时间格式器用于格式化和解析时间的数字格式器。

3)getDateInstance():获取日期格式器,该格式器具有默认语言环境的默认格式化风格。

4)parse(String source):从给定字符串的开始解析文本,以生成一个日期。

(2)SimpleDateFormatSimpleDateFormat类:

是一个以与语言环境有关的方式来格式化和解析日期的具体类。它继承了抽象类DateFormat并继承了DateFormat的方法,允许进行格式化(日期 -> 文本)、(文本 -> 日期)和规范化。

(3)二者的关系:

DateFormat是日期时间格式化子类的抽象类;SimpleDateFormat是DateFormat的子类;SimlepDateFormat是一个与语言环境有关的方式和解析日期的具体类。

代码截图
结果

三、Calendar类:

1.Calendar类:

Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。

2.GregorianCalendar类:

GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

(1)常用方法:

1)add(int field, int amount):根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。

2)set(int year, int month, int date, int hourOfDay, int minute, int second):设置字段YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE和SECOND的值。

3)get(int field)返回给定日历字段的值。

4)getAvtualMaximum(int field):给定此Calendar的时间值,返回指定日历字段可能拥有的最大值。

代码截图
结果

(2)可视化日历的编写:

代码截图
结果

四、Math类:

1.Math类常用的方法:

(1)abs:求绝对值;

(2)sqrt:平方根;

(3)pow(double a, double b):求a的b次幂;

(4)max(double a,double b):取大值;

(5)min(double a,double b):取小值;

(6)random() 返回 0.0 到 1.0 的随机数;

2.静态导入:Import static java.lang.Math.*;

代码截图
结果


五、File类:

1.File类的作用:

文件和目录路径名的抽象表示形式;代表文件和目录;在开发中,读取文件,生成文件,删除文件,修改文件的属性时经常会用到。

2.File类操作目录和文件的常用方法:

(1)通过文件对象访问文件属性:

代码截图
结果

(2)通过文件对象创建空文件或目录

代码截图
结果

3.使用递归遍历目录树:

代码截图
结果

六、枚举:

(1)枚举类型的定义包括枚举声明和枚举体。

enum枚举名 {

      枚举体(常量列表)

}

(2)枚举的实质还是类;每个被枚举的成员实质就是一个枚举类型的实例,都是public static final修饰;通过枚举类型名直接调用。

(3)当需要定义一组常量时,可以使用枚举类型;

代码截图
结果
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • SwiftDate概况 从Swift发布起,我们就没有放弃使用Swift。 当然,我们希望在项目能够轻松自如地管理...
    Mee_Leo阅读 10,079评论 1 13
  • 1、工具类 Java中提供了大量的类和接口完成特定的功能。每个类都会有自己的属性和行为(功能)。但是这些功能还是不...
    Villain丶Cc阅读 1,691评论 0 1
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 1,348评论 0 10
  • 处理日期的常见情景 NSDate -> String & String -> NSDate 日期比较 日期计算(基...
    KAKA_move阅读 813评论 0 0
  • 再见 过去的自己。 我一直觉得,自己负重前行 直到喝多了,才承认。 但也说不出来,有哪些重。 只是 眼泪会不断的流...
    楚道阅读 226评论 0 1