第五章 常用类

1.API

API:java中实际提供的类和接口。

API文当:对java中提供类和接口中的功能进行说说明。

2.object类

object类是Java中所有类的基类,所有类直接继承object

方法1:String toString:将返回对象的字符串表象形式。

在输出一个对象时,默认的调用object类中的toString() 若没有定义则找父类中的同String方法。

*native修饰的方法为本地方法

方法2:equals:表示字符串中每个字母是否相等。

3.Arrays类

Arrays中包含数组操作额静态方法。

方法1:Arrays.equals(a,b)比较两个树组内容是否相等。

方法2:sort:对树组排序底层使用快速排序,当对某个区域排序时,从开始位置到结束位置-1。、

对引用类型排序:compareTo为我们提供了一个自定义的排序规则,方法会在Arrays的sort()方法

底层调用

方法3:binarySearch:二分查找(折半)前提必须有序的。

方法4:copy:树组复制,传入原数组,输入新数组长度。

4.String类

java中,有多个字符组成的一串数据,值一但创建不可改变,一但值改变必须创建新对象。

1.String创建对象的方式:

①.String a="asd"

String b="asd"

先在字符串常量池中找如果没有则创建一个新对象。所以a与b相等的.

②.String a=new String("asd")

String b=new String("asd")

会创建一个String的对象通过对象调用方法创建字符串。所以a与b是不相等的

2.判断功能方法:

① equals:比较字符串内容是否相当。

equalsIgnoreCase忽略字母大小写。

② contains:判断是否包含指定字串。

③ isEmpty:判断是否为空。

④ startswith(): 判断是否以指定字符开头。

endsswtch(): 判断是否以指定字符结尾。

⑤ compareTo():比较两字符串的大小并返回差值 

 

    public static void main(String[] args) {
​
​
        String a = "asdf";
        String b = "zxcv";
        String a1 = new String("asdf");
        System.out.println(a.equals(b));//equals比较两字符串内容是否星等
        System.out.println(a.equals(a1));
​
        System.out.println(a.contains("c"));//判断此字符串是否包含该字符
​
        System.out.println(a.isEmpty());//判断字符串时否为空
​
        System.out.println(a.startsWith(a));//判断字符串是否以指定字符开头
        System.out.println(a.endsWith(a));//判断字符串是否以指定字符结尾
​
        System.out.println(a.compareTo(b));
        System.out.println(a.compareTo(a1));//比较两字符穿的大小并返回差值
​
    }

3.获取功能:

① length(): 获取字符串长度,数组length为数组的属性。

② charAt(字符串索引):返回索引对应的字符。

indexof(字符) 反回字符对应的索引,若字符中友两个相同的字符默认返回第一个(从前向后找只找首次出现的)

indexof("d",2):指定位置

lastindexof: 从后向前找只找首次出现的

③ substring:截取从指定位置开始,到结尾返回一个新的字符串。

substring(2,6):截取指定区间的字符串,包含开始不包含结尾。

   public static void main(String[] args) {
        String a="asdasd";
​
​
        System.out.println(a.length());//返回字符串长度该length为方法   在树组中length为数组的属性
​
        System.out.println(a.charAt(3));//给定索引返回字符
​
        System.out.println(a.indexOf("s"));//给定字符返回索引 只返回首次出现的
        int c=a.indexOf("s");
        System.out.println(a.indexOf("s",c+1));
        System.out.println(a.lastIndexOf("s"));//给定字符返回索引 只返回首次出现的 从后向前找
​
​
        System.out.println(a.substring(4));//截取莫一段字符串
​
        System.out.println(a.substring(2,4));//截取某一区间字符串包括开始不包括结尾
    }

4.转换功能:

① getBytes: 编码 转码

getBytes(b, "UTF-8")

② tocharArray():字符串转化为char数组。

string(char[] )char数组转换为字符串。

③toupper():转大写

tocowercaes():转小写

④concat():字符串链接,只能链接字符串,但”+”可以链接其他类型。

⑤spilt():分割 将字符串拆分成数组,按指定正则表达式分割。

    public static void main(String[] args) {
        String a="你好";
​
​
        byte[] b=a.getBytes();//将字符串用UTF-8重新变成byte的数组类型
        System.out.println(Arrays.toString(b));
        String c=new String(b);
        System.out.println(c);
        String d=new String(b,0,3);
        System.out.println(d);
​
​
​
        String q="asdf";
        char[] w=q.toCharArray();//将字符串转换为char类型树组
        System.out.println(Arrays.toString(w));
        String e=new String(w);
        System.out.println(e);
​
​
        System.out.println(q.concat("xxxxxxxxx"));//两个字符串链接
​
​
        String v="ass:de:assa";
        String[] n=v.split(":");
        System.out.println(Arrays.toString(n));//将字符串用指定字符分割
​
​
​
    }

5.正则表达式

①\d:表示数字0到9;

②?: 表示一次或者一次没有。

③ *:多次或一次没有

④+ : 一次或者多次

⑤n:表示恰好n次 (n,)表示至少n次 [n,m]表示至少n次最多m次

⑥^: 表示不是某类,

⑦\w: 表示字母A——z \D:表示非数子 \W:表示非字母 \s:表示空格 \S:表示非空格 | :表示或。

 public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        //boolean b=s.matches("\\d");//判断是否为一个数字
        //boolean b=s.matches("\\d?");//?表示出现一次或一次也没有
        //boolean b=s.matches("\\d*");//*表示多次或一次也没有
        //boolean b=s.matches("\\d+");//+表示一次或多次
        //boolean b=s.matches("\\d{5}");//{n}表示恰好n次
        //boolean b=s.matches("\\d{5,}");//{n,}表示至少n次
        //boolean b=s.matches("\\d{2,5}");//{n,m}表示至少n次最多m次
        //System.out.println(b);
​
        //boolean b=s.matches("\\w{6,10}@\\w{2,6}\\.(com|com\\.cn)");
        boolean b=s.matches("1[3589]\\d{9}");
        System.out.println(b);
​
​
​
    }

6.替换功能

① replace:替换连续或单个字符。

replaceAll:通过规则替换。

replacefirst: 只替换第一个。

② trim(): 去除字符串两端空格。

 public static void main(String[] args) {
        String a="abcdefg";
        System.out.println(a.replace("c","D"));//替换单个或者连续的字符串或字符
​
        String b="a1b2c3";
        System.out.println(b.replaceAll("\\d",""));//通过规则替换
​
​
        String c=" adada ";
        System.out.println(c.trim());//去除两端空格
    }

5.StringBuffer

指线程安全可变的字符串,只允许一个线程操作

当向StringBuffer添加内容时是将内容加到底层数组中,因为数组没有被final修饰,当数组装满时会创建新的数组,将新数组的地址给底层数组,StringBuffer对象不会改变。

基本方法:

① append:向末尾添加内容。

② insert: 向指定位置插入字符。

③deletcharAt :删除指定的字符。

delet:删除指定区间的字符,包含开始不包含结尾。

④replace:替换指定区间字符。

⑤ reverse: 逆序该字符串。

⑥ substring:截取 会返回一个String类型的字符串。

StringBuilder: 可变字符串 多线程不安全的。

String StringBuffer StringBuilder三者的区别?

String:底层位final char数组不能改变,改变后会创造信对象。

StringBuffer:线程安全,字符串可变,对底层数组进行操作。

StringBuilder:线程不安全,可变字符串。

 public static void main(String[] args) {
        StringBuffer a=new StringBuffer("abcde");//默认char树组长度为输入字符串长度加16
        //a.append("ccc");
       // a.append("adadadadadadadad");//若长度超过规定长度则会建立一个信念的char树组但StringBuffer不会改变
        System.out.println(a);
​
​
        a.insert(2,"v");//插入
        System.out.println(a);
​
​
        a.deleteCharAt(0);//删除指定字符
        System.out.println(a);
        a.delete(1,3);//删除指定区间字符
        System.out.println(a);
​
​
​
        a.replace(0,2,"111");//替换指定区间字符串
        System.out.println(a);
​
        a.reverse();//逆序
        System.out.println(a);
​
        String b=a.substring(0,3);//截取指定区间字符串但推返回一个String类型的字符串***
        System.out.println(b);
​
    }

6.基本数据类型包装类

基本数据类型包装类:Java中使用关键字直接声明。

以为基本类型没有面向对象的方式,所以Java为每一种基本类型定义一个类,用来表示基本数据这个类。

1.Integer:

构造方法 Integer (int a)或 (String a)

① equals: 比较内容。

2.转换方法:

① toBinaryString:转换为二进制

toHexString:转换为十六进制

toOctalstring: 转换为八进制

②intvalue:把对象的基本类型取出。

③ static parseint:将string类型转换为基本类类型。

④tostring: 将int转换为String类型。

⑤valusof:将基本数据类型转换为引用类型。

valusof(string a):将string类型转换为引用类型。

  public static void main(String[] args) {
        Integer i=new Integer(10);
        Integer i1=new Integer("10");
        System.out.println(i.equals(i1));
        System.out.println();
​
​
​
        int a=i.intValue();//将对象中的基本类型取出
​
        int b=Integer.parseInt("10");//将String类型转换为int类型
​
        String c=i.toString();//将int类型转换为String类型。
​
​
        Integer a1=Integer.valueOf(10);//将基本类型转化为引用类型
​
​
​
        Integer n=10;//自动装箱 底层会默认调用valueof将10装换为引用类型
​
        int m=n;//自动拆箱   底层会默认调用intvalue将Integer类型的10转换为int类型。
​
​
        System.out.println(m);
        System.out.println(n);
​
    }

3.装箱与封箱

当在[127 ,-128]之间对象地址相同,以外会创建。

自动装箱: 自动的将基本类型转换为引用类型, 会创建新对象。

eg: Ingeter a=10; 底层默认调用valueof

自动拆箱:

eg:Int a=Ingeter 底层默认调用intvalue

7.Math类包含数学方法

①random():返回0-1的随机数。

②floor:向下取整, ceil:向上取整 round :四舍五入

8.Random

随机生成数

① nextint(100):[0,100)之间生成随机数。

nextBytes(a[]): 随机取出length个随机数。

9.systm

① currentTimeMillis():返回当前时间,long类型,从1970,1,1,0:0:0 到程序进行的时间。

② exit: 退出虚拟机

③ arraycopy:复制数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值