Java学习笔记之---API的应用

(一)Object类
java.lang.Object

Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法

  • 常用方法

1.equals(Object obj) 指示其他某个对象是否与此对象“相等”。

2.hashCode() 返回该对象的哈希码值

3.toString() 返回该对象的字符串表示

4.getClass() 返回此 Object 的运行时类

  • 实例
public class bbb {
public static void main(String[] args){
String b=new String("String类型的数据");//创建一个String对象
String b1=new String("String类型的数据2");//创建一个String对象
String b2=b.toString();//以字符串的形式返回对象的文本信息
int b3=b.hashCode();//以整型的形式返回对象的哈希值
Class<?> b4=b.getClass();//返回对象的类的类型
boolean b5=b.equals(b1);//比较两个对象是否相等,返回Boolean类型的数据
System.out.println(b+" ,"+b1+" ,"+b2+" ,"+b3+" ,"+b4+" ,"+b5);
}
}

运行结果:

String类型的数据 ,String类型的数据2 ,String类型的数据 ,128940929 ,class java.lang.String ,false

(二)包装类

以Byte为例

java.lang.Object

java.lang.Number

java.lang.Byte

Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。

此外,该类还为 byteString 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法

  • 实例
public class aaa {

    public static void main(String[] args) {

        byte n=1;//基本数据类型

        Byte m=new Byte(n);//装箱,将基本数据类型转换为Byte对象

        Byte y=n;//自动装箱

        byte x=new Byte(m);//拆箱,将Byte对象转换为byte数据类型

        System.out.println(x);

        System.out.println(m);

    }

}

运行结果:

1

1

(三)Number类
java.lang.Object
  java.lang.Number

抽象类 NumberBigDecimalBigIntegerByteDoubleFloatIntegerLongShort 类的超类。

Number 的子类必须提供将表示的数值转换为 bytedoublefloatintlongshort 的方法。

  • 常用方法

1. compareTo() 在数字上比较两个 Integer 对象

2. valueOf(int)  返回一个表示指定的 int 值的 Integer 实例
3. decode()  String 解码为 Integer

4. valueOf(String)  返回保存指定的 String 的值的 Integer 对象

  • 实例
public class ccc {

    public static void main(String[] args){

        Integer c=new Integer(1);//构造一个新分配的 Integer 对象,它表示指定的 int 值

        System.out.println(c);

        Integer c1=new Integer("2");//构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值

        System.out.println(c1);

        //如果c=c1,返回0;如果c>c1,返回大于0,;如果c<c1,返回小于0

        int c2=c.compareTo(c1);//在数字上比较两个 Integer 对象

        System.out.println(c2);

        Integer c3=Integer.valueOf(c);//返回一个表示指定的 int 值的 Integer 实例

        System.out.println(c3);

        Integer c4=Integer.valueOf("5");//返回保存指定的 String 的值的 Integer 对象

        System.out.println(c4);

        String cc="cc";

        Integer c5=Integer.decode("5");//将 String 解码为 Integer

        System.out.println(c5);

    }

}

运行结果:

1

2

-1

1

5

5

(四)Character类

java.lang.Object

java.lang.Character

Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

  • 常用方法
  1. valueOf()  返回一个表示指定 char 值的 Character 实例
  2. toString()  返回一个表示指定 char 值的 String 对象
  3. isDigit()  确定指定字符是否为数字
  4. isLetter()  确定指定字符是否为字母
  5. isUpperCase()  确定指定字符是否为大写字母
  6. isLowerCase()  确定指定字符是否为小写字母
  7. toUpperCase()  使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写
  8. toLowerCase()  使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写
  • 实例
public class ddd {

    public static void main(String[] args){

        Character d=new Character('d');//构造一个新分配的 Character 对象,用以表示指定的 char 值

        System.out.println(d);

        Character d1=Character.valueOf(d);//返回一个表示指定 char 值的 Character 实例

        System.out.println(d1);

        String d2=Character.toString(d);//返回一个表示指定 char 值的 String 对象

        System.out.println(d2);

        boolean d3=Character.isDigit(d);//确定指定字符是否为数字

        System.out.println(d3);

        boolean d4=Character.isLetter(d); //确定指定字符是否为字母

        System.out.println(d4); 

        boolean d5=Character.isUpperCase(d);//确定指定字符是否为大写字母

        System.out.println(d5);

        boolean d6=Character.isLowerCase(d);//确定指定字符是否为小写字母

        System.out.println(d6);

        char d7=Character.toUpperCase(d);//使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写

        System.out.println(d7);

        char d8=Character.toLowerCase(d7);//使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写

        System.out.println(d8);

    }

}

运行结果:

d

d

d

false

true

false

true

D

d

(五)String类
java.lang.Object
  java.lang.String

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享

Ø  常用方法
1.  length()  返回此字符串的长度
2.  charAt()  返回指定索引处的 char 值
3.  contains()  当且仅当此字符串包含指定的 char 值序列时,返回 true
4.  endsWith()  测试此字符串是否以指定的后缀结束
5.  startsWith()  测试此字符串是否以指定的前缀开始
6.  indexOf()  返回指定子字符串在此字符串中第一次出现处的索引
7.  lastIndexOf()  返回指定子字符串在此字符串中最右边出现处的索引
8.  isEmpty()  当且仅当 length() 为 0 时返回 true
9.  replace(char oldChar, char newChar返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
10. split()  根据给定正则表达式的匹配拆分此字符串
11. substring(int beginIndex, int endIndex返回一个新字符串,它是此字符串的一个子字符串
12. toUpperCase()  使用默认语言环境的规则将此 String 中的所有字符都转换为大写
13. toLowerCase()  使用默认语言环境的规则将此 String 中的所有字符都转换为小写
14. trim()  返回字符串的副本,忽略前导空白和尾部空白
15. valueOf()  返回 char 参数的字符串表示形式
16. toCharArray()  将此字符串转换为一个新的字符数组
  • 实例
public class eee {

    public static void main(String[] args){

       String e=new String("zhangaaa");

       System.out.println(e);

       int e1=e.length();//返回此字符串的长度

       System.out.println("字符串的长度:"+e1);

       char e2=e.charAt(3);//返回指定索引处的 char 值

       System.out.println("返回索引值为3的字母:"+e2);

       boolean e3=e.contains("aa");//当且仅当此字符串包含指定的 char 值序列时,返回 true

        System.out.println("此字符串中是否有aa:"+e3);

        boolean e4=e.endsWith("a");//测试此字符串是否以指定的后缀结束

        System.out.println("此字符串是否以a结尾:"+e4);

        boolean e5=e.startsWith("h");//测试此字符串是否以指定的前缀开始

        System.out.println("此字符串是否以h开始:"+e5);

        int e6=e.indexOf("ha");//返回指定子字符串在此字符串中第一次出现处的索引

        System.out.println("ha在字符串中第一次出现的索引值:"+e6);

        int e7=e.lastIndexOf("a");//返回指定子字符串在此字符串中最右边出现处的索引

        System.out.println("ha在字符串中最后一次出现的索引值:"+e7);

        boolean e8=e.isEmpty();//当且仅当 length() 为 0 时返回 true

        System.out.println("此字符串是否为空:"+e8);

        String e9=e.replace("aaa","bbb");//返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的

        System.out.println("替换后的新字符串为:"+e9);

        String[] e10=e.split("g");//根据给定正则表达式的匹配拆分此字符串

        for(String e11:e10){

            System.out.println("拆分后的新字符串为:"+e11);

        }

        String e12=e.substring(0,2);//返回一个新字符串,它是此字符串的一个子字符串

        System.out.println("截取后的新字符串为:"+e12);

        String e13=e.toUpperCase();//使用默认语言环境的规则将此 String 中的所有字符都转换为大写

        System.out.println("变为大写后的新字符串为:"+e13);

        String e14=e13.toLowerCase();// 使用默认语言环境的规则将此 String 中的所有字符都转换为小写

        System.out.println("变为小写后的新字符串为:"+e14);

        String ee="   aa    ";

        String e15=ee.trim();//返回字符串的副本,忽略前导空白和尾部空白

        System.out.println("清空空白后的新字符串为:"+e15);

        String e16=String.valueOf('a');//返回 char 参数的字符串表示形式

        System.out.println("字符变为字符串后为:"+e16);

        char[] e17=e.toCharArray();//将此字符串转换为一个新的字符数组

        System.out.println("字符串变为数组后输出为:");

        for(char e18:e17){

            System.out.print(e18+"   ");

        }

    }

}

运行结果:

zhangaaa

字符串的长度:8

返回索引值为3的字母:n

此字符串中是否有aa:true

此字符串是否以a结尾:true

此字符串是否以h开始:false

ha在字符串中第一次出现的索引值:1

ha在字符串中最后一次出现的索引值:7

此字符串是否为空:false

替换后的新字符串为:zhangbbb

拆分后的新字符串为:zhan

拆分后的新字符串为:aaa

截取后的新字符串为:zh

变为大写后的新字符串为:ZHANGAAA

变为小写后的新字符串为:zhangaaa

清空空白后的新字符串为:aa

字符变为字符串后为:a

字符串变为数组后输出为:

z   h   a   n   g   a   a   a

(六)日期类

Data类

java.lang.Object
  java.util.Date

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

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。

Calendar类

java.lang.Object

java.util.Calendar

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected

与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。CalendargetInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:

     Calendar rightNow = Calendar.getInstance();

Calendar 对象能够生成为特定语言和日历风格实现日期-时间格式化所需的所有日历字段值,例如,日语-格里高里历,日语-传统日历。Calendar 定义了某些日历字段返回值的范围,以及这些值的含义。例如,对于所有日历,日历系统第一个月的值是 MONTH == JANUARY。其他值是由具体子类(例如 ERA)定义的。有关此内容的细节,请参阅每个字段的文档和子类文档

Format类

java.lang.Object
  java.util.Formatter

printf 风格的格式字符串的解释程序。此类提供了对布局对齐和排列的支持,以及对数值、字符串和日期/时间数据的常规格式和特定于语言环境的输出的支持。支持诸如 byteBigDecimalCalendar 等常见 Java 类型。任意用户类型的受限格式化定制都是通过 Formattable 接口提供的。

Formatter 对于多线程访问而言没必要是安全的。线程安全是可选的,它对此类中的方法用户负责。

Java 语言的格式化输出在很大程度上受到 C 语言 printf 的启发。虽然一些格式字符串与 C 类似,但已进行了某些定制,以适应 Java 语言,并且利用了其中一些特性。此外,Java 的格式比 C 的格式更严格;例如,如果转换与标志不兼容,则会抛出异常。在 C 中,不适用的标志会被忽略。这样,便于 C 程序员识别这些格式字符串,而又不必与 C 中的那些标志完全兼容。

DateFormat类

java.lang.Object

java.text.Format

java.text.DateFormat

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。

DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用这些风格的更多细节和示例。

DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关

Java学习笔记之---API的应用的更多相关文章

  1. Java学习笔记--反射API

    反射API 1.反射API的介绍 通过反射API可以获取Java程序在运行时刻的内部结构.比如Java类中包含的构造方法.域和方法等元素,并可以与这些元素进行交换.     按照 一般地面向对象的设计 ...

  2. Java学习笔记二--API课堂记录

    JavaSE课堂记录(二) 第一节课 方法的重载:方法名相同,参数列表不同 方法的重写:方法名,参数列表相同 两同:方法名相同,参数列表相同 两小:访问权限小与等于父类,返回值类型小于等于父类(返回值 ...

  3. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  4. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  5. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  6. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

  7. 20145330第九周《Java学习笔记》

    20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...

  8. 20145330第八周《Java学习笔记》

    20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...

  9. 20145330第七周《Java学习笔记》

    20145330第七周<Java学习笔记> 第十三章 时间与日期 认识时间与日期 时间的度量 GMT(格林威治标准时间):现在不是标准时间 世界时(UT):1972年UTC出来之前,UT等 ...

随机推荐

  1. 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...

  2. Python在windows下的服务程序

    Python程序作为Windows服务启动,需要安装pywin32包.下载路径: 我是下载路径 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...

  3. win32内存调用图

    https://msdn.microsoft.com/en-us/library/ms810603.aspxhttps://www.codeproject.com/Articles/14525/Hea ...

  4. FireUI live Preview使用方法-Berlin

    这是可以让开发者事先预览 mobile 画面的作法 1.先确定 Berlin IDE  Tools\Option\Form Designer 中 FireUI live Preview   broad ...

  5. 高效的DDoS攻击探测与分析工具 – FastNetMon

    快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中.   <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...

  6. 无辜的RAD(RAD是让你去创造和使用可复用的组件,不是让程序员“变白痴”)good

    无辜的RAD 2005-3-21 说实话,RAD很无辜.从出生的那天其就被骂,天天被指着鼻子说“不就是拖个控件嘛”,就好像当年说学电脑“不就是插个鼠标嘛”.也怪程序员大都天性犯贱,就爱一遍又一便的写基 ...

  7. [書訊]《.NET 依賴注入》 (2014-12-08 更新)

    书 名:.NET 依赖注入 页 数:235 格 式:PDF.EPUB.MOBI难易度:中阶至进阶出版日期:2014 年 12 月 8 日ISBN:9789574320684 简介 本书内容是关于 .N ...

  8. Python正则表达式进阶-零宽断言

    1. 什么是零宽断言 有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面或后面需要是特定的内容,但我们又不想要前面或后面的这个特定的内容,这时候就需要零宽断言的帮助了.所谓零 ...

  9. 大数据基础之Kafka(1)简介、安装及使用

    kafka2.0 http://kafka.apache.org 一 简介 Kafka® is used for building real-time data pipelines and strea ...

  10. Python连载7-time包的其他函数

    接连载6 一.time包 1.函数:sleep(second) (1)含义:是程序进入休眠状态多少秒 (2)格式:time.sleep(int num) 2.函数:strftime() (1)含义:将 ...