java核心内库(一)

一.Object类的定义以及常用的方法

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

Object类的常用方法:

              1).public final class getclass() ;    返回此 Object 的运行时类class,如果直接输出类对象,则会打印出 class  包名.类名

              2)public int hashCode();返回该对象的哈希码值

Object类中方法的运用如下图所示:


  注释:上图中p.getClass().getName()语句,其实分两步
                 * 1. p.getClass();是p调用object类里面的方法
                 *    调用该方法返回的是一个object运行时的类的实体名称,该类是class类
                 * 则有 class p1=p.getClass();

                 * 2.p1.getName();getName是class类里面的方法   

         

        3)  protected Object clone()      返回值为任意对象    Object 类的 clone 方法执行特定的复制操作。

 注意: 1. 如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException.

          2.所有的数组都被视为实现接口 Cloneable.并且在实现类中clone方法必须重写

       4)  public boolean equals(Object obj);指示其他某个对象是否与此对象“相等”

 

二. Scanner类的使用及方法

 Scanner类:简单文本扫描器

键盘录入的步骤:

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

       2)导入包:import  java.util.Scanner

       3)接受数据: xxx  变量名=sc.nextxxx();

Scanner构造方法:

       public  Scanner(InputStream source): 以输入流的形式录入数据

       InputStream:字节输入流

       InputStream  in=System.in //底层执行返回的是一个字节输入流(标准输入流)

Scanner类的常用方法  (xxx代表除Char类型的基本数据类型)

       1):  public xxx nextxxx()   录入一个xxx基本类型的数据

       2):  public String nextline()  录入一个字符串

使用如图:


注意:先输入数字的话则就不会录入字符串,因为有空格存在,系统默认字符串为空字符串

   

       3):  public  boolean hasNextxxx()   判断录入的数据是否为xxx数据类型 ,如果是xxx数据类型的话,则返回true,否则返回 false

       4):  public  boolean hasNexline()    判断录入的数据是否为String类型,如果是String类型的话,则返回true,否则返回 false

使用如图:


 

三.String类的特点和功能

 String字符串最大的特点:

                      不可变的字符序列, 字符串一旦被赋值,字符串当参数传递时其值则不会改变,如图所示:


String类的常用转换功能
       1): public byte[] getBytes();将字符串转换为字节数组
       2): public char[] tocharArray();将字符串转换为字符数组
       3): public static String valueof(int i);将int类型的数据转换为字符串         //这个方法可以将任意类型转换为字符串类型
       4): public String toLowerCase();转成小写

       5): public String toUpperCase();转成大写

       6): public String concat(String str):字符串的特有功能:该方法和"+"拼接符是一个功能

String类的常用获取功能:
       1): public int length();获取字符串的长度
       2): public char charAt(int index);返回指定索引处的字符
       3): public int indexof(int ch);返回指定字符在字符串中第一次出现的索引
       4): public int indexof(int ch,int fromindex);返回此字符中第一次出现在字符串处的索引,并从此开始搜索
       5): public int indexof(String str);返回子字符串在此字符串中第一次出现的索引
       6): public int indexof(String str,int fromindex);回到此字符串中第一次出现指定字符串的索引,并从此搜索
 
String类的常用截取功能
       1): public String substring(int begineindex);从指定位置开始截取,默认截取到末尾,返回新的字符串
       2): public String substring(int begineinex,int endindex);从指定位置截取开始到指定位置结束 ,取左不取右(左闭右开)

String类的常用判断功能
      1): boolean equals(Object obj) 
      2): boolean equalsIgnore(String str):将此String与另一个String比较,不考虑大小写
      3): boolean contains(String str):判断当前字符串中是否包含该字符串
      4): boolean startWith(String str):以当前str字符串开始
      5): boolean isEmpty():判断字符串是否为空

四.StringBuffer类的引用和功能

StringBuffer提供一个字符串缓冲区,里面存储着可变序列的字符串

StringBuffer的构造方法
     1): StringBuffer():无参构造的形式,初始容量16
     2): StringBuffer(int capacity):指定容量构造一个字符缓冲区

     3): StringBuffer(String str):构造一个字符串缓冲区,并将内容初始化为指定的字符串内容

StringBuffer的获取功能
    1) public int length()返回长度

    2) public int capacity()返回当前容量(如果超过容量,系统自动分配)

StringBuffer的反转功能

    public StringBuffer reverse():将缓冲区里面的字符序列反转取代,返回它(字符串)本身

StringBuffer的截取功能;
   1): public String substring(int start);从指定位置开始截取,默认截取到末尾,返回新的字符串

   2): public String substring(int start,int end);从指定位置截取开始到指定位置结束, 返回的不在是缓冲区本身(左闭右开)

StringBuffer的删除功能
  1): public StringBuffer deleteCharAt(int index):移除指定位置的字符
  2): public StringBuffer deleteCharAt(int start,int end):移除指定位置的字符串到end-1处

 注意: 在java或java相关的语言中,如果方法中的参数是两个索引的话,都是左闭右开

StringBuffer的替换功能

  public StringBuffer replace(int start,int end,String str)  从指定位置开始到指定位置结束,用新的字符串str替换

StringBuffer的添加功能
 1): public StringBuffer append(String/int.....):在字符缓冲区的末尾追加数据,并且返回字符串缓冲区本身

 2): public StringBuffer insert(int offset,String str):将当前str字符串添加到指定位置,并返回字符串缓冲区本身

思考题:

 1. String ,StringBuffer,StringBuilder的区别?

      StringBuffer和StringBuilder都是一个可变的字符序列,提供一个缓冲区,(两者都看作容器)
      StringBuffer:线程安全,同步的,执行效率低
      StringBuilder:线程不安全,不同步的,执行效率高,并且单线程中优先采用StringBulider

      StringBuffer 执行效率虽然低,但是由于它可以转换为String类型,并且提供他可变的字符序列,提供了缓冲区

 2. StringBuffer和数组的区别?        

             数组:它是可以存储多个数据的容器,并且多个数据的类型必须一致
                     数组长度功能:length属性
       
           StringBuffer:它是容器,他的缓冲区始终存储的只能是字符串的数据
                   获得缓冲区的长度:length()

五.Integer的引入及其构造方法的介绍

   Integer是int的包装类,     包装类的目的是为了保证基本数据类型可以和String类型相互转换

   Integer类常用的最值

         1): public static final int MAX_VALUE      //最大值   231-1

         2): public static final int MIN_VALUE      //最小值    -231

   Integer提供的常用方法:
        1): public static String toBinaryString(int i)     将int类型的数转换为二进制
        2): public static String toOctalString(int i)       将int类型的数转换为八进制

        3): public static String toHexString(int i)         将int类型的数转换为十六进制

        4): public stastic Integer  valueof(int i)            返回一个表示指定的 int 值的 Integer 实例

        5): public int intValue()                                    以 int 类型返回该Integer的值


   Integer的构造方法
        1): public  Integer(int value)

        2): public  Integer(String str)       注意: str必须为数字字符串

   包装类的装箱操作和拆箱操作

        1)装箱操作: 把一个基本数据类型转换为其包装类的对象      //装箱分为两种,自动装箱和手动装箱(见下图)

        2)拆箱操作: 把包装类的对象转换为基本数据类型 

   int类型和String类型之间的转换

          1): int类型转换为String类型有三种方式

                        1. 直接拼接

                        2. 利用Valueof(int i)       int----->Integer---->String

                        3. 利用静态toString方法 

         2): String类型转换为int类型有两种方式

                        1. 利用public  int  intValue()方法     String----->Integer---->int

                        2. 利用public static int parseInt(String str) 

六.数组的排序方法和查找方法

      1).冒泡排序

        思想:两两比较,大的往后放,第一次完毕之后,最大值就出现在最大索引处,然后依次这样比较,就可以得到一个排好序的数组,

用两个循环的嵌套可以实现,外层循环控制循环的次数,内层循环来比较相邻元素的值,假设该数组有m个元素,则比较m-1次,共执行

m-1次循环


     2).选择排序

       思想:从0索引对应的元素依次和后面索引对应的元素进行比较,小的往前放,第一次比较完毕之后,最小值就出现在最小索引处,然后依次这样比较,就可以得到一个排好序的数组


     3)折半查找(二分查找)

       前提:该数组必须有序

       分析:

               1.定义个最大索引和最小索引

               2.计算中间索引

               3.中间索引的元素和查找元素数值进行比较,三种情况:

                      查找元素数值=中间索引元素数值:左边找:  直接返回中间索引

                      查找元素数值>中间索引元素数值:左边找,  max=mid-1;

                      查找元素数值<中间索引元素数值:右边找,  min=mid+1

               4.重新计算中间索引,回到第二步继续运算,直到找出查找元素,结束循环


                       

             

    

              


    

          





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值