Java中常用类


常用类


一、String

String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。

1、创建方式

创建String字符串有4种方式(下面代码示例)

package ClassTest;

/**
 * @author Sx-Wang
 * @data 2020-06-06 10:18
 */
public class StringTest {
    public static void main (String[] args) {// 第一种 String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。
        String string1 = new String();

        // 第二种 String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
        byte[] bytes = new byte[]{1, 2, 3, 4, 5};
        String string2 = new String(bytes);

        // 第三种 String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
        char[] chars = new char[]{'a', 'b', 'c'};
        String string3 = new String(chars);

        // 第四种 直接申明一个变量然后等于"值"
        String string4 = "abc";

    }
}

注意:字符常量池:协商双引号的字符串在常量池里,new出来的String对象不在常量池
== 对于基本类型的数据(是比较数值的)对于引用类型(是比较地址值的)

2、string中常用方法

//常用的方法
        String a = "abcdefg";
        a.length();// 获取字符串的长度
        a.startsWith("a"); //startWith(String prefix) 用于判断字符串开头是否是prefix字符串
        a.endsWith("g"); // endsWith(String prefix) 用于判断字符串结尾是否是prefix字符串
        a.charAt(1);// charAt(int index)获取索引index的元素
        a.indexOf("a");// 寻找a元素在String中的索引值
        a.concat("a");// concat(String str) 将a字符串和str字符串拼接在一起
        a.equals("a");// equals(String str)比较两个字符串是否相等
        a.equalsIgnoreCase("a");// equalsIgnoreCase(String str) 比较两个字符串时候不去风大小写
        a.toCharArray();// 将字符串拆分成字符数组作为返回值
        a.getBytes();// 获得当前字符串底层的字节数组
        a.replace('a','b');// replace(a, b)将String字符串中的所有a换成b
        a.split(",");// split(String regex) 相当于把字符串以regex进行分割 参数是一个正则表达式
        // 当要以"." 来进行分割时候,应该写为"\\."

String它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。

二、Date

1、官方解释

Date课程以Date级的Date表示特定的时间。
在JDK 1.1之前, Date有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和第二个值。 它还允许格式化和解析日期字符串。 不幸的是,这些功能的API不适合国际化。 从JDK 1.1开始, Calendar类应该用于在日期和时间字段之间进行转换,并且DateFormat类应用于格式化和解析日期字符串。 在相应的方法Date被弃用。

尽管Date类旨在反映协调的世界时间(UTC),但根据Java虚拟机的主机环境的不同,可能不会这样做。 几乎所有的现代操作系统都假设在所有情况下1天= 24×60×60 = 86400秒。 然而,在UTC的时候,大概每一两年会有一秒钟的时间,叫做“闰秒”。 闰秒总是作为一天的最后一秒,总是在12月31日或6月30日。例如,1995年的最后一分钟是61秒,由于增加了闰秒。 大多数计算机时钟不够准确,不能反映出闰秒的区别。

一些计算机标准是根据格林尼治标准时间(GMT)定义的,相当于世界时间(UT)。 GMT是标准的“民用”名称; UT是同一标准的“科学”名称。 UTC和UT之间的区别是UTC是基于原子钟,UT是基于天文观测,对于所有的实际目的来说,这是一个看不见的细毛。 因为地球的旋转不均匀(减速并以复杂的方式加速),UT并不总是均匀地流动。 根据需要,将时差引入到UTC中,以使UT在UT1的0.9秒内保持UTC,这是UT的版本,并应用了某些修正。 还有其他的时间和日期系统; 例如,基于卫星的全球定位系统(GPS)使用的时间尺度与UTC同步,但不对闰秒进行调整。 进一步信息的一个有趣的来源是美国海军天文台,特别是时间局在:

 http://tycho.usno.navy.mil

及其“时间系统”的定义如下:

 http://tycho.usno.navy.mil/systime.html

在类的所有方法Date接受或返回年,月,日,小时,分钟和秒值,以下表述中使用:

y年代表整数y - 1900 。
一个月由0到11的整数表示; 0是1月,1是2月,等等; 11月12日。
日期(月的一天)以通常的方式从1到31的整数表示。
一小时由0到23之间的整数表示。因此,从午夜到凌晨1点的时间是小时0,从中午到下午1点的小时是12小时。
一般以0〜59的整数表示。
第二个由0到61的整数表示; 值60和61仅发生在闰秒上,甚至仅在实际上正确跟踪闰秒的Java实现中发生。 由于目前引入闰秒的方式,在同一分钟内不会发生两个闰秒,但是本规范遵循ISO C的日期和时间约定。
在所有情况下,为这些目的而提供的方法的论证不必在指定范围内; 例如,可以将日期指定为1月32日,并将其解释为2月1日。
注:0毫秒指的是:1970年1月1日 00:00:00 由于中国输入东八区,有8个时差 所以在中国就是1970.1.1 08:00:00

2、常用方法

public class DateTest {
    public static void main (String[] args) {
        //构造方法   Date()  分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
        //当不传入参数的时候表示当前的时间  写入时候则会寻找毫秒值所对应的日期
        Date date = new Date();

        //compareTo(Date anotherDate)  比较两个日期的顺序。
        int i = date.compareTo(new Date(15454L));

        //long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
        long time = date.getTime();

        //setTime(long time)  设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。
        date.setTime(130045L);
    }
}

三、Math

1、介绍

在java中关于数学一类,将它们封装成了Math类。(Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数)包含了大量的关于数学的静态方法。

2、常用方法

package ClassTest;

public class MathTest {
    public static void main (String[] args) {
        System.out.println(Math.random());// 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
        System.out.println(Math.abs(1));// 返回 double 值的绝对值。与他相关的还有很多重载方法
        System.out.println(Math.ceil(1.5));// ceil(double num) 向上取整
        System.out.println(Math.floor(1.5));// floor(double num) 向下取整数
        System.out.println(Math.round(1.5));// round(double num) 四舍五入
        // 其中还有一些常量
        System.out.println(Math.E);// 比任何其他值都更接近 e(即自然对数的底数)的 double 值。
        System.out.println(Math.PI);// 比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。

    }
}

四、System

1、简单介绍

System类是java.lang包下的一个类,所以使用时候不用导入这个类,可以直接使用。

其中包含一些有用的类字段和方法。它不能被实例化。

在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。

其中我们经常使用的打印语句就是使用System类完成的。

2、常用方法

public class SystemClassTest {
    public static void main (String[] args) throws IOException {
        // static PrintStream err “标准”错误输出流。
        System.err.print("我是标准错误流");

        // static InputStream in  “标准”输入流。
        System.in.read();

        // static PrintStream out “标准”输出流。
        System.out.println("我是标准的输出流,在控制台输出要使用我");

        /*
           除了这些流以外还有很多静态方法
         */

        //exit(int status) 终止当前正在运行的 Java 虚拟机。 暂时status不管什么值都能停止虚拟机的运行
        System.exit(0);

        /*static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
          从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
         参数对应  src源数组  srcPos源数组中起始位置 dest目标数组  destPos目标
          数组中的起始位置  length要复制的数组元素数量

        */
        System.arraycopy(new int[]{1, 2, 3, 4}, 1, new int[]{5, 6, 7},0,4);

        //static long currentTimeMillis()  返回以毫秒为单位的当前时间。
        //常常用于程序代码执行前后执行后然后进行相减,获取时间观察程序的效率
        // 获取程序执行前的时间
        long l = System.currentTimeMillis();
        for (int i = 0; i < 100; i++) {
            System.out.println(i);
        }
        // 获取执行后的时间
        long l1 = System.currentTimeMillis();
        // 进行相减的到差值来计算出程序运行时候程序所要使用的时间
        long c = l1 - l;

        //static Properties getProperties() 确定当前的系统属性。
        Properties propertiesSystem = System.getProperties();
    }
}

总结

以上就是我经常使用的类,其中还有一些没有写到,大家见谅,这些常用类可以帮助我们快速实现某些功能,大大减少开发时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值