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. Delphi中返回类型为string的函数的一个陷阱(不是很懂)

    如果类的一个成员函数的返回值是string类型,需要注意一个问题 其返回值可能是错误的 例如函数的实现如下 function GetString( s: string ): string;begin  ...

  2. xcode缓存清理

    移除对旧设备的支持 影响:可重新生成:再连接旧设备调试时,会重新自动生成. 路径: ~/Library/Developer/Xcode/iOS DeviceSupport 如果你不是在wb145230 ...

  3. Hadoop分布式文件系统

    在一个经典的数据架构中,Hadoop是处理复杂数据流的核心.数据从各种系统中收集而来,并汇总导入到Hadoop分布式文件系统HDFS中,然后通过MapReduce或者其它基于MapReduce封装的语 ...

  4. 关于CEdit控件的透明(重绘)

    摘自:http://www.jcwcn.com/html/VC/10_19_51_12.htm 做一个透明的Edit控件的主要问题是字符的输出,在Edit里输出的刷新有几个时机,一个是在接收到键盘或鼠 ...

  5. GetLastError()返回值列表(3259个错误列表)

    GetLastError()返回值列表: [0]-操作成功完成. [1]-功能错误. [2]-系统找不到指定的文件. [3]-系统找不到指定的路径. [4]-系统无法打开文件. [5]-拒绝访问. [ ...

  6. 15个非常棒的jQuery无限滚动插件【瀑布流效果】

    现在,最热门的网站分页趋势之一是jQuery的无限滚动(也即瀑布流).如果你碰巧观察Pinterest的网站,如Facebook,Twitter和deviantART的,你会发现无限滚动的动作,当旧的 ...

  7. Spring单例模式多线程安全问题-有状态的Bean

    Spring单例与线程安全小结 一.Spring单例模式与线程安全 Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方. 单例模式的意思 ...

  8. 搭建基于.NetFrameWork的私有nuget服务端及打包项目发布上传

    一.私有Nuget服务端搭建 1.创建一个.NetFramework web项目 2.在nuget管理中 安装 nuget.server包 3.安装完成后修改web.config里面的 apikey ...

  9. spring之@Value详解(转载)

    @Value注入 不通过配置文件的注入属性的情况 通过@Value将外部的值动态注入到Bean中,使用的情况有: 注入普通字符串 注入操作系统属性 注入表达式结果 注入其他Bean属性:注入beanI ...

  10. redis连接错误3种解决方案System Error MISCONF Redis is configured to save RDB snapshots

    redis连接错误System Error MISCONF Redis is configured to save RDB snapshots, but XX   情况1解决办法: 由于强制停止red ...