JAVA常用类

1.常用类

1.1包装类

八种基本数据类型的包装类

例:

int num = 8;

Integer num = 8;//对象

byte  short  int   long  float  double  char  boolean 
Byte  Short  Integer  Long  Float Double  Character  Boolean
//
   Integer i1 = 1000;
   Integer i2 = 1000;
   System.out.println(i1==i2);//false
   Integer i3 = 100;
   Integer i4 = 100;
   System.out.println(i3==i4);//true 
//编译:
public static void main(String args[])
	{
		Integer i1 = Integer.valueOf(1000);
		Integer i2 = Integer.valueOf(1000);
		System.out.println(i1 == i2);
		Integer i3 = Integer.valueOf(100);
		Integer i4 = Integer.valueOf(100);
		System.out.println(i3 == i4);
	}
valueOf():
    public static Integer valueOf(int i) {
        //low:-128   high:127
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            //内部类IntegerCache里面的一个静态数组
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }
1.2 String
方法:
    new String();//这个方法有很多重载
    int length():长度
    String toLowerCase()toUpperCase():大小写转换
    boolean equals(Object obj):比较字符串相等
    int compareTo(String str):比较的是码表
    String[] split():截断
    char[] toCharArray():把字符串转为字符数组
    String replace(old,new):替换
    int indexOf(findStr[,fromIndex]):获取第一个位置的下标
    String trim():去除两端空格
    String subString(beginIndex[,endIndex]):前含后不含
//compareTo比较:
    public int compareTo(String anotherString) {
            int len1 = value.length;
            int len2 = anotherString.value.length;
            int lim = Math.min(len1, len2);
            char v1[] = value;
            char v2[] = anotherString.value;

            int k = 0;
            while (k < lim) {
                char c1 = v1[k];
                char c2 = v2[k];
                if (c1 != c2) {
                    return c1 - c2;
                }
                k++;//比较下一位
            }
            return len1 - len2;
        }
1.3 时间API
 Date:
   Date  date = new Date();//获取当前时间
   long millTimes = date.getTime();
   Calendar:
   Calendar c = Calendar.getInstance();		
   c.add(Calendar.DAY_OF_MONTH, 1);
   System.out.println(c.get(Calendar.YEAR));//年份
   System.out.println(c.get(Calendar.MONTH)+1);//月份
   System.out.println(c.get(Calendar.DAY_OF_MONTH));	
   System.out.println(c.get(Calendar.DAY_OF_WEEK));
   System.out.println(c.get(Calendar.DATE));
   System.out.println(c.get(Calendar.DAY_OF_WEEK_IN_MONTH));        System.out.println(c.get(Calendar.DAY_OF_YEAR));
   SimpleDateFormat:
      格式化
      把字符串转为日期
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS");
   Date date = sdf.parse("1900年12月30日 12:0:0 111");
   System.out.println(sdf.format(date));  
1.4 Math
public class TestMath {	
	public static void main(String[] args) {
		System.out.println(Math.sin(Math.toRadians(30)));//三角函数
		System.out.println(Math.sqrt(-9));//开方
		System.out.println(Math.ceil(3.1));//向上取整
		System.out.println(Math.floor(3.9));//向下取整
		int num = Math.round(4.5f);
		System.out.println(num);//取整  --四舍五入
		System.out.println(Math.pow(8, 1.0/3));//多少次方
		System.out.println(Math.random());//[0,1)随机数
		System.out.println(abs(-2147483648));//取绝对值
		System.out.println(max(8, 13));
	}
}
1.5 Random
伪随机:
	Random r = new Random(种子);
	不给种子的话,那么种子跟时间有关,给了就用给定的种子
1.6 System
System.exit(int)//退出虚拟机
System.getProperties()//获取所有系统信息
System.getProperty("os.name")//获取某一个系统信息
System.out;//
System.err;
System.in;
1.7 Runrime
public static void main(String[] args) {
		Runtime rt = Runtime.getRuntime();
		int ps = rt.availableProcessors();
		int[] nums = new int[500000000];
		System.out.println(ps);
		System.out.println(rt.totalMemory());//总内存---jvm实际从操作系统要到的内存
		System.out.println(rt.maxMemory());//最大内存---jvm能到操作系统要到的最大内存
		System.out.println(rt.freeMemory());//空闲内存--jvm剩余的内存
}
1.8 BigDecimal,BigInteger

大数值类型

public static void main(String[] args) {
		long l1 = Long.MAX_VALUE;
		System.out.println(l1);
		BigInteger bi1 = new BigInteger("9223372036854775808");
		System.out.println(bi1.add(new BigInteger("1")));//运算
		System.out.println(0.01+0.09);
		//精确
		BigDecimal bd1 = new BigDecimal("0.01");
		BigDecimal bd2 = new BigDecimal("0.09");
		System.out.println(bd1.add(bd2));
	}

2.枚举

public enum 枚举名字{
    MON,TUS,WED,THR,FRI,SAT,SUN;
    //先调用父类的构造方法,给每个枚举构造了一个name和ordinal属性
    //把所有的枚举存为一个数组
    //valueOf():字符串转枚举
    //values():把缓存数组copy一份给你
}

编译后:

public final class Week extends Enum
{

	public static final Week MON;
	public static final Week TUS;
	public static final Week WED;
	public static final Week THR;
	public static final Week FRI;
	public static final Week SAT;
	public static final Week SUN;
	private static final Week ENUM$VALUES[];//存所有的枚举

	private Week(String s, int i)
	{
		super(s, i);
	}

    //这个方法是提供所有的枚举值
    //防止改
	public static Week[] values()
	{
		Week aweek[];
		int i;
		Week aweek1[];
		System.arraycopy(aweek = ENUM$VALUES, 0, aweek1 = new Week[i = aweek.length], 0, i);
		return aweek1;
	}

	public static Week valueOf(String s)
	{
		return (Week)Enum.valueOf(com/qf/day17/clazz/enumdemo/Week, s);
	}

	static 
	{
		MON = new Week("MON", 0);
		TUS = new Week("TUS", 1);
		WED = new Week("WED", 2);
		THR = new Week("THR", 3);
		FRI = new Week("FRI", 4);
		SAT = new Week("SAT", 5);
		SUN = new Week("SUN", 6);
		ENUM$VALUES = (new Week[] {
			MON, TUS, WED, THR, FRI, SAT, SUN
		});
	}
}
枚举的本质是常量集合
枚举类默认已经继承了Enum这个类,因此不能继承其他类,但是可以实现接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值