一、Java API

  Java API简介

    1、API (Application Programming Interface) 应用程序接口

    2、Java中的API,就是JDK提供的各种功能的Java类

    3、JDK帮助文档   JAVA_API_CN.chm   官网地址http://www.oracle.com/technetwork/java/api-141528.html

    如:

      java.lang
        Java语言包(包含String、Math、System等类),任何类中,该包中的类都会被自动导入。
      java.util
        包含一些实用的工具类( 包含 list, calendar, date等类)
      java.awt
        图形用户界面包。
      java.io
        提供多种输入/输出功能的类。

      java.net
        提供网络应用功能的类。

二、Object

  (一)Object介绍及方法

    1、Object类是所有类的超类, Object是Java语言中唯一一个没有父类的类。

     2、一个类可以不是Object类的直接子类,但一定是Object类的子类,Java中的每一个类都是从Object扩展来的。

     3、在Object类中定义的方法,在所有类中都可以使用。

  (二)Object 类常用方法

    1、public boolean equals(Object obj): 比较两个对象引用的值是否相等(比较地址)。指出调用该方法的对象是否与obj对象相等。即地址是否相等。

    2、public int hashCode():该方法返回对象的哈希码,哈希码是一个代表对象的十六进制整数,比作对象的身份证号。在程序运行期间,每次调用同一个对象的hashCode()返回的哈希码必定相同,但是多次执行同一个程序,程序的一次执行和下一次执行期间同一个对象的哈希码不一定相同。实际上默认的哈希码是将对象的内存地址通过某种转换得到的,所以不同对象会有不同的哈希码

    3、public String toString():返回 类名@hashcode ;事实上返回这样的字符串没有什么实际的意义。一般子类都会覆盖该方法,让它返回有意义的文本。

 三、equals()  与 ==的区别

  理解equals()方法和==运算符的区别是非常重要的。
    默认情况下(即没有被重写时)equals()只能比较引用类型,"=="既能比较引用类型又能比较基本类型。
    equals()方法从Object类继承,即比较对象引用的值
    一般都被子类方法覆盖,不再比较引用的值
  "=="运算符:
    比较基本数据类型:相当于算术等号
    比较引用数据类型:比较引用的值,不能被覆盖。

四、包装类

    1、Java编程语言不把基本数据类型看作对象。Java 编程语言提供包装类来将基本数据类型看作对象。

    2、在功能上包装类能够完成数据类型之间(除boolean)的相互转换,尤其是基本数据类型和String类型的转换。

    3、包装类中包含了对应基本数据类型的值,封装了String和基本数据类型之间相互转换的方法,还有一些处理这些基本数据类型时非常有用的属性和方法。

  (一)包装类简介

    基本数据类型不是对象层次结构的组成部分。有时需要像处理对象一样处理这些基本数据类型,可通过相应的“包装类”来将其“包装” 。

  (二)字符串与基本数据类型、包装类型转换图

    1、基本数据类型转换为包装类

      int pInt = 500;
      Integer wInt = new Integer(pInt);

    2、字符串转换为包装类

      字符串通过构造方法转换为包装类

        String sInt = “500”;
        Integer wInt = new Integer(sInt);

      字符串通过包装类的valueOf(String s)转换为包装类

        String sInt = “500”;
        Integer wInt = Integer.valueOf(sInt);
      注意:字符串不能通过以上两种方式转换为Character

    3、包装类转换为基本数据类型

      包装类通过xxxValue()方法转换为基本数据类型

        Integer wInt = new Integer(500);
        int pInt = wInt.intValue();

     4、包装类转换为字符串

      包装类通过toString()方法转换为字符串

        Integer wInt = new Integer(500);
        String sInt = wInt.toString();

     5、字符串转换为基本数据类型

      字符串通过parseXXX(String s)方法转换为基本数据类型

        String sInt = “500”;
        int pInt = Integer.parsetIInt(sInt);

  (三)自动的装箱和自动拆箱

    1、在进行基本数据类型和对应的包装类转换时,系统将自动进行

    2、JDK自从5.0版本后引入

    3、方便程序的编写

      int pInt = 500;
      Integer wInt = pInt;
      int n = wInt;

五、字符串类

    1、字符串表现形式可以分为两种:String和StringBuffer。

     2、不属于8种基本的数据类型,而是一种引用类型。

    3、String对象代表一组不可改变的Unicode字符序列,对它的任何修改实际上又产生一个新的字符串,String类对象的内容一旦被初始化就不能再改变。

    4、StringBuffer对象代表一组可改变的Unicode字符序列。

    5、String类是final类型的类。

  (一)String 对象的创建

    String类的构造方法
      1、初始化一个新创建的 String 对象,它表示一个空字符序列。

        String 变量名 = new String () ;
      2、初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列

        String 变量名 = new String (String value) ;
      3、分配一个新的字符串,它包含当前包含在字符串缓冲区参数中的字符序列。

        String 变量名 = new String (StringBuffer buf) ;
      4、字符串文字常量本身是一个String对象
        String 变量名 = “hello” ;

      5、初始化一个新创建的 String 对象,通过使用指定的charset 解码指定的 byte 数组

        String 变量名 = new String(byte[] bytes, String charsetName);

      6、初始化一个新创建的 String 对象,通过使用指定的 charset解码指定的 byte 子数组,构造一个新的 String

        String 变量名 = new String(byte[] bytes, int offset, int length, Charset charset);

      7、连接操作符“+”,可以将其它各种类型的数据转换成字符串,并前后连接成新的字符串

        String str1 = “hello ”;
        String str2 = “world”;
        String str = str1 + str2; //str为“hello world”;

   (二)String 类的转换

  

  (三)String 类中常用的方法

     

  (四)StringBuffer 类

    StringBuffer类用于内容可以改变的字符串

    可以使用StringBuffer来对字符串的内容进行动态操作,不会产生额外的对象

  (五)StringBuffer 对象的创建

    1、构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符

      StringBuffer 变量名 = new StringBuffer () ;

    2、构造一个不带字符,但具有指定初始容量的字符串缓冲区。

      StringBuffer 变量名 = new StringBuffer (int capacity ) ;

    3、构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。

      StringBuffer 变量名 = new StringBuffer (String value) ;

  (六)StringBuffer 类中常用的方法

  (七)==

    在比较基本数据类型时,比较的是值

    在比较引用数据类型时,比较的是地址

  (八)equals

     原生的(未被重写的)equals方法底层就是==,即比较两个对象的值,通常用来判断两个对象是否为同一个对象,返回值为true两个对象就为同一对象,当Object的子类重写以后就具有了其他功能,equals方法不能用来比较基本数据类型

  (九)hashcode

    hashcode(哈希码)哈希表记录每个对象存储的位置,因此可以将哈希码作为对象内存地址的表示,通常用hashcode去比较两个对象是否不是同一个对象,如果hashcode不同两个对象就不是同一个对象

  (十)问:为啥不用hashcode比较两个对象是否为同一个对象

      答:存在hashcode相同,equals返回结果为false的情况

   (十一)String、StringBuffer、StringBuilder

    String不可变字符序列
    StringBuffer、StringBuilder可变字符序列
    StringBuffer线程安全但是效率低,较早引入
    StringBuilder线程不安全但是效率高,较晚引入

六、Math 类

    Math类提供了大量用于数学运算的方法

    Math类是final类,因此不能从Math类继承

    Math类中的方法都是static方法,因此不必创建Math类的对象就可以直接使用该类的方法

  (一)Math 类中的常量

     public static final double PI

    public static final double PI

  (二)Math 类中的常用方法

七、日期类

   (一)Date  类

     java.util.Date。

    Date 类表示指定的时间信息,可以精确到毫秒。

    不支持国际化。

    该类的许多方法已过时

    获取当前系统时间:      

      new Date();

  (二) Calendar  类

    1、java.util.Calendar。
      java.util.GregorianCalendar
    2、常用的日期处理的对象。可以设置自己的时区和国际化格式。
    3、是一个抽象类。
    4、Calendar 抽象类定义了足够的方法,让我们能够表述日历的规则 。
    5、获取Calendar对象的实例

      Calendar c = Calendar.getInstance();

    6、设置Calendar实例所表示的时间:

      c.set(2011,6,16);

    7、获取指定的时间属性

      c.get(Calendar.YEAR);

  (三)Calendar 类常用属性

  

Java 高级应用编程 第一章 工具类的更多相关文章

  1. Java 高级应用编程 第二章 集合

    一.Java 中的集合类 1.集合概述 Java中集合类是用来存放对象的 集合相当于一个容器,里面包容着一组对象 —— 容器类 其中的每个对象作为集合的一个元素出现 Java API提供的集合类位于j ...

  2. 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试

    20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...

  3. Windows核心编程第一章.错误处理

    Windows核心编程第一章,错误处理. 一丶错误处理 1.核心编程学习总结 不管是做逆向,开始做开发.在Windows下.你都需要看一下核心编程这本书.这本书确实写得很好.所以自己在学习这本书的同时 ...

  4. Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  5. java里poi操作excel的工具类(兼容各版本)

    转: java里poi操作excel的工具类(兼容各版本) 下面是文件内具体内容,文件下载: import java.io.FileNotFoundException; import java.io. ...

  6. Java判断不为空的工具类总结

    1.Java判断是否为空的工具类,可以直接使用.包含,String字符串,数组,集合等等. package com.bie.util; import java.util.Collection; imp ...

  7. Java字符串转16 进制工具类Hex.java

    Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...

  8. “全栈2019”Java第七十九章:类中可以嵌套接口吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第三十六章:类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. SAPGUI系统登录页面配置的SAProuter有什么用

    大家在安装完SAPGUI后,准备添加系统列表进行登录时,注意过这个SAProuter字段么? 从SAP的帮助文档上可以找到SAProuter的定义: https://help.sap.com/saph ...

  2. CodeIgniter框架学习要点

    以下内容从兄弟连的CI教学视频中摘抄: http://codeigniter.org.cn/tutorials/ ------------------------------------------- ...

  3. [转] Java 命名规范

    定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性. 包的命名  (全部小写,由域名定义) Java包的名字都是由小写单词组成.但是由于Java面向对象编程的特性,每一名Java程序员都 ...

  4. android 智能提示

    <AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:completionThreshol ...

  5. C/C++心得-从内存开始

    因工作与自身各方面需要,开始重新学C,其实说重新也不太准,原来只是大学里面接触过,且还未得多少精髓就转其他开发,不过也正是因此才有了重新学习的必要,基础部分的心得将通过博文记录下来,对于初学者应该有些 ...

  6. mysql学习之join用法

    转载  一张图看懂 SQL 的各种 join 用法 一.JOIN 使用介绍 下面例子使用的数据表如下: -- ---------------------------- -- Table structu ...

  7. 使用jmeter进行简单的压测

    安装下载 前往官网下载,[地址] 环境 需要java环境,此处略 最好对jmeter配置下环境变量,方便打开,此处略 运行 启动jmeter 进入到bin目录,输入   ./jmeter    启动 ...

  8. TCP Congestion Control

    TCP Congestion Control Congestion occurs when total arrival rate from all packet flows exceeds R ove ...

  9. Advanced Plugin Concepts

    Provide Public Access to Default Plugin Settings An improvement we can, and should, make to the code ...

  10. Sharepoint COMException 0x81020037

    研究了很久,ListItem在保存的时候一直在出Sharepoint COMException 0x81020037 根据错误提示,是保存的时候发生冲突导致,苦思冥想,终于解决了,原因如下: List ...