第五章(2)、常用类-基本类型包装类和StringBuffer、Math、System、Date和DateFormat

java是一门纯粹的面向对象的语言,而它却提供了八个基本数据类型,这是为了提高代码的性能,因为基本数据类型是放在栈内存中,对象放在堆内存,但是java也提供了基本数据类型相对应的包装类。

基本类型 -- 包装类:

1)byte -- Byte

2)short -- Short;

3)int -- Integer

4)long -- Long;

5)float -- Float;

6)double -- Double;

7)char -- Character;

8)boolean -- Boolean。

        它们的用法都差不多,就举两个来进行讲述。

一、Integer

        int的包装类。

1、构造方法:

1)public Integer(int value)

2)public Integer(String s)    注意:s这个字符串必须是由数字字符组成,例如:"123".

结果:

2、成员方法

1)String.valueOf(number):int类型转String类型

2)Integer.parseInt(s):String类型转int类型,注意s也字符串必须有数字字符组成

结果:

3)public static String toBinaryString(int i):int类型是十进制数,十进制转二进制

4)public static String toOctalString(int i):十进制转八进制

5)public static String toHexString(int i):十进制转十六进制

结果:

        从JDK5起,java提供了自动装箱和自动拆箱的功能。自动装箱:把基本数据类型数据转成包装数据类型;自动拆箱:把包装类类型转换成基本类型

结果:

二、Character

        char的包装类。

1、构造方法:

1)Character(char value)

2、成员方法:

1)public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符

2)public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符

3)public static boolean isDigit(char ch):判断给定的字符是否是数字字符

4)public static char toUpperCase(char ch):把给定的字符转换为大写字符

5)public static char toLowerCase(char ch):把给定的字符转换为小写字符

结果:

三、StringBuffer

        StringBuffer是字符串缓冲区对象,我们之前说过,String一旦赋值就不能改变,而且做字符串拼接的时候,会在常量池产生新的数据,之前的数据还存在,浪费内存,所以java提供了StringBuffer来解决这一现象。StringBuffer是线程同步的安全的(多线程的时候在讲述),StringBuilder和StringBuffer差不多,不过它是不同步线程不安全的。

1、构造方法:

1)public StringBuffer():无参构造方法;

2)public StringBuffer(int capacity):定容量的字符串缓冲区对象;

3)public StringBuffer(String str):指定字符串内容的字符串缓冲区对象。

结果:

2、成员方法

1)public int capacity():返回当前容量;

2)public int length():返回长度(字符数)。

        默认的容量是16,可以在创建对象时指定容量大小,有内容时,原始容量大小会加上长度。

3)public StringBuffer append(String str):append()有很多重载方法,可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身,这就值列出了形参为字符串的方法

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

结果:

5)public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身;

6)public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身;

7)public StringBuffer replace(int start,int end,String str):从start位置开始到end位置用str替换

结果:

8)public StringBuffer reverse():反转,返回其本身

结果:

9)public String substring(int start):从start位置开始截取,直到结束,返回字符串。

10)public String substring(int start,int end):从start位置到end位置截取,返回字符串。

结果:

四、Math

        Math是用于数学运算的类,它是一个final修饰的类,不能被继承,Math类中的成员方法都是静态(static修饰的)方法。

1)成员变量:

         public static final double PI:自然对数的基数。

         public static final double E:圆周长与其直径的比率。

结果:

2) 成员方法

         public static int abs(int a):获取a的绝对值,这个方法还有许多重载方法。以下的方法基本上都有重载方法,就不一一举例了

         public static double ceil(double a):向上取整

         public static double floor(double a):向下取整

结果:

         public static int max(int a,int b):获取a和b两个数中的最大值

         public static int min(int a,int b):获取a和b两个数中的最小值

         public static double pow(double a,double b):a的b次幂

         public static double random():随机数 [0.0,1.0),0.0到1.0之间,包含0.0不包含1.0

         public static int round(float a): 四舍五入

         public static double sqrt(double a):正平方根

结果:

五、System

        System类包含几个有用的类字段和方法。它不能被实例化(new)。

1)成员方法:

        public static void gc():运行垃圾回收器。

结果:

        public static long currentTimeMillis():返回以毫秒为单位的当前时间

        public static void exit(int status):终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。

        public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

结果:

六、Date和DateFormat

        Date表示特定的瞬间,精确到毫秒。

1)构造方法:

         Date():根据当前的默认毫秒值创建日期对象

         Date(long date):根据给定的毫秒值创建日期对象

2)成员方法:

         public long getTime():获取时间,以毫秒为单位

         public void setTime(long time):设置时间

结果:

        DateForamt可以进行日期和字符串的格式化和解析,但是由于是抽象类,所以使用具体子类SimpleDateFormat类。

1)构造方法:

        SimpleDateFormat():默认模式;

        SimpleDateFormat(String pattern):给定的模式。

                格式设置:y表示年、M表示月、d表示日、H表示时、m表示分钟、s表示秒

2)成员方法:

        public final String format(Date date):日期格式化成字符串;

        public Date parse(String source):字符串解析成日期。

结果:

公众号二维码

猜你喜欢

转载自blog.csdn.net/itmzz/article/details/86670205
今日推荐