黑马程序员技术交流社区

标题: 自己总结java基础常用API 方法 [打印本页]

作者: 仙风道骨    时间: 2015-12-6 20:53
标题: 自己总结java基础常用API 方法
Object类:
                所有的类都直接或间接继承自Object类,Object类是所有类的父类(基类,超类)。
                子类所有的构造方法的第一行,默认都有一句super()去访问父类的无参构造,为什么?
                        因为Object类中只有一个无参构造。

方法使用有构造方法的 创建对象用对象点的形式调用,无构造(静态方法)直接类名点的方式调用
public int hashCode()        返回该对象的哈希码值  
记忆:
                                不同对象的哈希值(hashCode())一般不同,
                                但是同一对象的哈希值肯定相同。
public final Class getClass()  返回此对象的运行时类
Class clazz = s1.getClass();        根据对象 获取其字节码文件对象  class 包名.类名

Class类中的方法:
        public String getName();         //:根据对象获取 其所在类 的包名.类名
        public String toString();        返回该对象的字符串表示形式(大白话,也就是该对象的地址值)
                                地址值的组成: 类名 + @ + 该对象的哈希码的 无符号十六进制数据
                                //object类中的toString 返回的是对象的地址值没有意义
                                输出语句直接 输出对象,默认调用了该对象的 toString()方法。

public boolean equals(Object obj        )指示其他某个对象是否与此对象“相等”。
        Object类中的equals()方法默认比较的是对象的地址值,不同的对象地址值不相同,这样比较没有意义,
        实际开发中子类一般重写该方法用来比较对象各属性值是否相等。

Scanner 类
        构造方法:
        public Scanner(InputStream source);
        public static final InputStream in   //标准输入流 对应键盘录入

        Scanner sc = new Scanner(System.in);  //创建键盘录入对象

        hasNextXxx():判断是否还有下个输入项Xxx可以是 int double 等
        nextXxx():获取下一个输入项。默认情况下,Scanner使用空格,回车等作为分隔符

两个常用的方法:
public int nextInt():获取一个int类型的值
public String nextLine():获取一个String类型的值
        注意:
                先用nextInt()来接受整数,再用nextLine()来接收字符串,会发生一个小问题(nextLine()没办法用来接收,而是直接结束)
                原因:nextInt()方法只能用来接受数字,后边的\r\n被nextLine()方法获取到,该方法会直接调用完毕。
                解决方案:
                        方案1: 重新new一个Scanner类的对象。
                        方案2:都用字符串来接收,然后把其中一个 整数字符串("123") 转成 对应的整数。

String 类
         public String():空构造
         public String(byte[] bytes):把字节数组转成字符串
         public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串
         public String(char[] value):把字符数组转成字符串
         public String(char[] value,int index,int count):把字符数组的一部分转成字符串
         public String(String original):把字符串常量值转成字符串
         

String 类的判断功能
         boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
         boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
         boolean contains(String str):判断大字符串中是否包含小字符串   s.contains(s1);  判断s里面是否包含s1
         boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
         boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
         boolean isEmpty():判断字符串是否为空。

String类的获取功能
         int length():获取字符串的长度。
         char charAt(int index):获取指定索引位置的字符
         int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
         int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。
         int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
         int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
         lastIndexOf(int ch)  返回指定字符在此字符串中最后一次出现处的索引
         String substring(int start):从指定位置开始截取字符串,默认到末尾。
         String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。包左不包右

String的转换功能:
         byte[] getBytes():把字符串转换为字节数组。
         char[] toCharArray():把字符串转换为字符数组。
         static String valueOf(char[] chs):把字符数组转成字符串。
         static String valueOf(int i):把int类型的数据转成字符串。
         注意:String类的valueOf方法可以把任意类型的数据转成字符串。

         String toLowerCase():把字符串转成小写。(了解)
         String toUpperCase():把字符串转成大写。
         String concat(String str):把字符串拼接。 直接用 用+和字符串拼接就行

String的替换功能
         String replace(char old,char new)
         String replace(String old,String new)
String的去除字符串两空格
         String trim()
String的按字典顺序比较两个字符串及案例演示
         int compareTo(String str)(暂时不用掌握)
         int compareToIgnoreCase(String str)(了解)

StringBuffer类概述

StringBuffer和String的区别
         String是一个不可变的字符序列
         StringBuffer是一个可变的字符序列
StringBuffer的构造方法:
         public StringBuffer():无参构造方法
         public StringBuffer(int capacity):指定容量的字符串缓冲区对象
         public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
StringBuffer的方法:
         public int capacity():返回当前容量。        理论值(不掌握)
         public int length():返回长度(字符数

StringBuffer的添加功能
         public StringBuffer append(String str):
                 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
         public StringBuffer insert(int offset,String str):
                 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身

StringBuffer的删除功能
         public StringBuffer deleteCharAt(int index):
                 删除指定位置的字符,并返回本身
         public StringBuffer delete(int start,int end):
                 删除从指定位置开始指定位置结束的内容,并返回本身       

StringBuffer的替换功能
         public StringBuffer replace(int start,int end,String str):
                 从start开始到end用str替换
StringBuffer的反转功能
         public StringBuffer reverse():
            字符串反转                 

StringBuffer的截取功能
         public String substring(int start):
                 从指定位置截取到末尾
         public String substring(int start,int end):
                 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
注意事项
         注意:返回值类型不再是StringBuffer本身

String -- StringBuffer
         a:通过构造方法
         b:通过append()方法
StringBuffer -- String
         a:通过构造方法
         b:通过toString()方法
         c:通过subString(0,length);

StringBuilder       
面试题
         String,StringBuffer,StringBuilder的区别
         StringBuffer和StringBuilder的区别
         StringBuffer是jdk1.0版本的,是线程安全的,效率低
         StringBuilder是jdk1.5版本的,是线程不安全的,效率高

         String和StringBuffer,StringBuilder的区别
         String是一个不可变的字符序列
         StringBuffer,StringBuilder是可变的字符序列

形式参数问题
         String作为参数传递
                和基本数据类型一样传值

         StringBuffer作为参数传递
                和引用类型一样传地址值


Arrays类概述
         针对数组进行操作的工具类。
         提供了排序,查找等功能。
成员方法
         public static String toString(int[] a)
         public static void sort(int[] a)  // 排序升序
         public static int binarySearch(int[] a,int key) // 根据索引查找元素

基本类型包装类
                将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
常用操作
         常用的操作之一:用于基本数据类型与字符串之间的转换。
基本类型和包装类的对应

                byte                         Byte
                short                        Short
                int                                Integer
                long                        Long
                float                        Float
                double                        Double
                char                        Character
                boolean                        Boolean

Integer
         Integer 类在对象中包装了一个基本类型 int 的值,
         该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
         还提供了处理 int 类型时非常有用的其他一些常量和方法
构造方法
         public Integer(int value)
         public Integer(String s)

(String和int类型的相互转换
int -- String
         a:和""进行拼接
         b:public static String valueOf(int i)
         c:int -- Integer -- String(Integer类的toString方法())
         d:public static String toString(int i)(Integer类的静态方法)
String -- int
         a:String -- Integer -- int
         public static int parseInt(String s)

由于字数要求发得不完整 后续补上
作者: Mr.Cai    时间: 2015-12-6 21:02
666,赞一个
作者: 队长别开枪是我    时间: 2015-12-6 22:21
收藏了过几天看~
作者: 雨来    时间: 2015-12-6 22:41
为什么?
                        因为Object类中只有一个无参构造。   这样的解释有点牵强

作者: 吕振廷    时间: 2015-12-6 23:25
非常有用
作者: 仙风道骨    时间: 2015-12-7 00:34
雨来 发表于 2015-12-6 22:41
为什么?
                        因为Object类中只有一个无参构造。   这样的解释有点牵强
...

新手 我也不知道为什么里面就 一个无参构造  
作者: 仙风道骨    时间: 2015-12-7 00:36
队长别开枪是我 发表于 2015-12-6 22:21
收藏了过几天看~

{:2_30:} 嘎嘎
作者: 仙风道骨    时间: 2015-12-7 00:38
吕振廷 发表于 2015-12-6 23:25
非常有用

收噶·····




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2