java中常用类的总结

StringBuffer类

package com.zlj.a_string;

public class Demo1 {
    public static void main(String[] args) {
        //内存地址不一样 是new了一个新的字符串 所以地址不一样
        //字符串内容不可变 效率较低
        String s = "白小纯";
        s += "很狗";
        System.out.println(s);
        //内存地址一样 线程安全 效率相对于 String高,相对于StringBuilder来说低
        StringBuffer sb = new StringBuffer("白小纯");
        sb.append("很狗");
        System.out.println(sb);
        //线程不安全  效率最高
        StringBuilder sb1 = new StringBuilder("白小纯");
        sb1.append("一念永恒");
        System.out.println(sb1);
    }
}

String  StringBuffer StringBuilder的区别

String StringBuffer StringBuilder的区别

String

通过直接赋值字符串或者new一个对象赋值不可变字符串线程安全效率低操作少量数据速度慢操作少量数据速度低 
StringBuffer通过构造方法来new一个新对象赋值可变字符串线程安全效率较高多线程下操作字符缓冲区下面的大量数据速度较快   
StringBuilder通过构造方法来new一个新对象赋值可变字符串线程不安全效率最高单线程下操作字符串缓冲区下面的大量数据速度最快   

2.枚举类

2.1定义枚举类的语法格式:

public enum 枚举类名{

        //下面写常量,常量之间使用逗号隔开,常量要记得大写

}

案例

package com.zlj.a_class;
//枚举类 enum
//表示常量
class A{
    public  static  final double PI = 3.14;//PI就是常量 多个内容是下划线A_B;
}
//将class换成了enum
enum Color1{
    //常量之间用,隔开
    RED,GREEN,BLUE;
}
public class Demo2 {
    public static void main(String[] args) {
        Color1 red = Color1.RED;
        System.out.println(red);//打印RED

    }
}

2.2枚举在switch - case中的使用

package com.zlj.a_enum;

enum Color1 {
    RED,GREEN,BLUE
}
public class Demo2 {
    public static void main(String[] args) {
        Color1 green = Color1.GREEN;
        switch (green) {
            case RED:
                System.out.println("红色");
                break;
            case GREEN:
                System.out.println("绿色");
                break;
            case BLUE:
                System.out.println("蓝色");
                break;
        }
    }
}

2.3枚举中的一些方法

案例

package com.zlj.a_class;
enum Color3{
    RED,GREEN, BLUE;
}

public class Demo4 {
    public static void main(String[] args) {

        Color3[] c3 = Color3.values();//返回值是数组
        //可以找到每个枚举类中常量的索引
        for (Color3 value : c3) {
            System.out.println(value + "所对应的下标为:" + value.ordinal());
        }
        //返回值是指定字符串的枚举常量
        Color3 red =  Color3.valueOf("RED");
        System.out.println(red);//RED

    }
}

3.包装类

1.***Value();将包装类转为基本数据类型

2.toString()将基本数据类型转换字符串

3.parse**();将字符串类型的数据转为基本数据类型的

4.valueOf();将基本数据类型转换为包装类类似于手动装箱的过程

拓展

自动装箱是指:将基本数据类型转为包装类

自动拆箱:将包装类转为基本数据类型

package com.zlj.b_package;

public class Demo2 {
    public static void main(String[] args) {
        //***value(); 将包装类型的数据转为基本数据类型的数据
        Short s1 = 20 ;
        short s = s1.shortValue();//自动拆箱 将包装类型的数据转为基本数据类型
        System.out.println(s);

        Integer  i = 21;
        int a = i.intValue();
        System.out.println(a);
        //toString();将基本数据类型的数据转为字符串类型的数据
         int i2 = 938902;
        String s2 = Integer.toString(i2);
        System.out.println(s2);
        //parse****();将字符串转为基本数据类型
        int d = Integer.parseInt("89829");
        System.out.println(d);
        //valueof() 将基本数据类型转为包装类型的数据 手动装箱
        byte b3 = 90;
        byte b2 =Byte.valueOf(b3);
        System.out.println(b2);

        /**
         * double  转 Double
         * Double 转double
         * double 转字符串
         * Double 转字符串
         * 字符串转Double
         * 字符串转double
         */
        //double 转 Double
        double  a1 = 10.2;
        Double aDouble = Double.valueOf(a1);
        System.out.println(aDouble);
        //Double 转 double
        Double b1 = 40.1;
        double v = b1.doubleValue();
        System.out.println(v);
        //double 转字符串
        double a2 = 10.2;
        String s3 = Double.toString(a2);
        //Double 转字符串
        Double  c = 10.3;
        Double aDouble1 = Double.valueOf(c);
        System.out.println(aDouble1);
        //字符串转Double
        String s5 = "10.5";
        Double aDouble2 = Double.valueOf(s5);
        System.out.println(aDouble2);

        //字符串转double
        String s4 = "12.3";
        double v1 = Double.parseDouble(s4);
        System.out.println(v1);

    }
}

4.Math类

Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。

专门处理数学运算的一个类

 

package com.zlj.c_math;
//随机数的类
public class Demo2 {
    public static void main(String[] args) {
        System.out.println(Math.PI);//圆周率
        System.out.println(Math.E);//自然底数
        System.out.println(Math.abs(-10));//绝对值
        System.out.println(Math.round(10.2));//四舍五入
        System.out.println(Math.ceil(-11.8));//向上取整
        System.out.println(Math.floor(11.8));//向下取整
        //随机出来0~100的整数 包含0 不包含100
        System.out.println((int)(Math.random() * 100));
    }
}

5.Random类

package com.zlj.random;

import java.util.Random;

public class Demo1 {
    public static void main(String[] args) {
        //随机数
        Random rd = new Random();
        int i   = rd.nextInt(10);
        System.out.println(i);
        int i1 = rd.nextInt(56);
        boolean b = rd.nextBoolean();
        System.out.println(b);

        double v = rd.nextDouble( );//0 ~ 1.0
        System.out.println(v);


    }
}

6.日期格式化 和Calendar方法

package com.zlj.calendar;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Demo1 {
    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();
        //获取当前的年份
        int i = calendar.get(Calendar.YEAR);
        System.out.println(i);
        //获取月份
        System.out.println(calendar.get(Calendar.MONTH));
        //获取每月的星期几
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
        //获取这周的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
        //时间格式化
        //时间
        Date time = calendar.getTime();
        //设置日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = sdf.format(time);
        System.out.println(format);
    }
}

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值