常用类库概述

常用类库

1、包装类

1.1 Integer 类

Integer 类的常用方法

public static void main(String[] args) {
        int num = Integer.valueOf("456");//valueOf():返回保存指定的String值的Integer对象
        Integer iNum = Integer.parseInt("456");//parseInt():返回包含在由str 指定的字符串中的数字的等价整数值
        System.out.println("int 数据与 Integer 对象的比较:"+iNum.equals(num));//equals():比较此对象与指定的对象是否相等
        String str2 = Integer.toBinaryString(num);
        String str3 = Integer.toHexString(num);
        String str4 = Integer.toOctalString(num);
        String str5 = Integer.toString(num,15);
        System.out.println("456的二进制为:"+str2);
        System.out.println("456的十六进制为:"+str3);
        System.out.println("456的八进制为:"+str4);
        System.out.println("456的十五进制为:"+str5);
    }

Integer 类的常量

System.out.println("============================================");
        int maxint = Integer.MAX_VALUE;
        int minint = Integer.MIN_VALUE;
        int intsize = Integer.SIZE;
		//TYPE:表示基本类型int的Class实例;
        System.out.println("int 类型可取的最大值是:"+ maxint);
        System.out.println("int 类型可取的最小值是:"+ minint);
        System.out.println("int 类型的二进制位数是:"+ intsize);

1.2 Double 类

public static void main(String[] args) {
        Double dNum = Double.valueOf("3.14");
        System.out.println("3.14是否为非数字值:"+Double.isNaN(dNum.doubleValue()));
        System.out.println("3.14转换为int值为:"+dNum.intValue());
        System.out.println("值为3.14的Double对象与3.14的比较结果:"+dNum.equals(3.14));
        System.out.println("3.14的十六进制表示为:"+Double.toHexString(dNum));
    }

1.3 Boolean 类

        Boolean b1 = Boolean.valueOf("true");
        Boolean b2 = Boolean.valueOf("ok");
        System.out.println("b1"+b1.booleanValue());
        System.out.println("b2"+b2.booleanValue());

1.4 Character 类

        Character c1 = Character.valueOf('A');
        Character c2 = Character.valueOf('a');
        if(Character.isUpperCase(c1)){
            System.out.println(c1+"是大写");
            System.out.println("转换成小写为:"+Character.toLowerCase(c1));
        }
        if(Character.isLowerCase(c2)){
            System.out.println(c2+"是小写");
            System.out.println("转换成大写为:"+Character.toUpperCase(c2));
        }

1.5 Number类

是 Byte , Integer , Short , Long , Float , Double 类的父类


2、数字处理

2.1数字格式化

在 JAVA 中,没有格式化的数据遵循以下原则:

如果数据绝对值0.001~10000000中,使用常规小数形式表示。

如果数据绝对值0.001~10000000外,使用科学技术法表示。

格式化两种方法

  1. 实例化 DecimalFormat 对象时设置数字格式化模板
  2. 实例化 DecimalFormat对象后调用applyPattern()方法设置数字格式化模板

示例:

static public void SimgleFormat(String patten,double value){
        DecimalFormat myFormat = new DecimalFormat(patten);
        String output = myFormat.format(value);
        System.out.println(value+" "+patten+" "+output);
    }

    static public void UseApplyPatternMethodFormat(String patten,double value){
        DecimalFormat myFormat = new DecimalFormat();
        myFormat.applyPattern(patten);
        System.out.println(value+" "+patten+" "+myFormat.format(value));
    }

    public static void main(String[] args) {
        SimgleFormat("###,###,###",123456.789);
        SimgleFormat("00000000.###kg",123456.789);
        SimgleFormat("000000.000",123.78);

        UseApplyPatternMethodFormat("#.###%",0.789);
        UseApplyPatternMethodFormat("###.##",123456.789);
        UseApplyPatternMethodFormat("0.00\u2030",0.789);
    }

对数字进行格式化设置的特殊方法

setGroupingSize();//设置数字分为几组

setGroupingUsed();//设置数字是否允许进行分组

2.2 Math 类

1. 三角函数方法

 public static void main(String[] args) {
        System.out.println("90 度的正弦值:"+ Math.sin(Math.PI/2));
        System.out.println("0 度的余弦值:"+ Math.cos(0));
        System.out.println("60 度的正切值:"+ Math.tan(Math.PI/3));
        System.out.println("2 的平方根与2 商的反正弦值:"+ Math.asin(Math.sqrt(2)/2));
        System.out.println("2 的平方根与2 商的反余弦值:"+ Math.acos(Math.sqrt(2)/2));
        System.out.println("1 的反正切值:"+ Math.atan(1));
        System.out.println("120 度的弧度值:"+ Math.toRadians(120.0));
        System.out.println("Π/2 的角度值:"+ Math.toDegrees(Math.PI/2));

    }

2. 指数函数方法

        System.out.println("e 的平方值:"+ Math.exp(2));
        System.out.println("以e为底2的对数值:"+ Math.log(2));
        System.out.println("以10为底2的对数值:"+ Math.log10(2));
        System.out.println("4的平方根值:"+ Math.sqrt(4));
        System.out.println("8的平方根:"+ Math.cbrt(8));
        System.out.println("2的2次方值:"+ Math.pow(2,2));

3.取整函数方法

        System.out.println("使用 ceil()方法取整:"+Math.ceil(5.2));//返回一个大于等于参数的整数
        System.out.println("使用 floor()方法取整:"+Math.floor(2.5));//返回一个小于等于参数的整数
        System.out.println("使用 rint()方法取整:"+Math.rint(2.7));//返回与参数最接近的整数
        System.out.println("使用 rint()方法取整:"+Math.rint(2.5));//返回与参数最接近的整数
        System.out.println("使用 round()方法取整:"+Math.round(3.4f));//将参数加上0.5后返回最接近的整数,并将结果强制转换为长整型。
        System.out.println("使用 round()方法取整:"+Math.round(2.5));

4. 取最大值、最小值、绝对值函数方法

        System.out.println("4和8较大者:"+Math.max(4,8));//取两个参数的最大值
        System.out.println("4.4和4较小者:"+Math.min(4.4,4));//取两个参数的最小值
        System.out.println("-7的绝对值:"+Math.abs(-7));//取参数的绝对值

2.3 Random 类

public static void main(String[] args) {
        Random r = new Random();
        System.out.println("随机产生一个数:"+ r.nextInt());//随机产生一个大于等于0且小于10的整数
        System.out.println("随机产生一个布尔值:"+ r.nextBoolean());//随机产生一个布尔值
        System.out.println("随机产生一个双精度浮点型的值:"+r.nextDouble());//随机产生一个双精度浮点型的值
        System.out.println("随机产生一个单精度浮点型的值:"+r.nextFloat());//随机产生一个单精度浮点型的值
        System.out.println("随机产生一个概率为高斯分布的双精度浮点型的值:"+r.nextGaussian());//随机产生一个概率密度为高斯分布的双精度浮点型的值
}

2.4 Biginteger 类

        BigInteger b1 = new BigInteger("987654321987654321");
        BigInteger b2 = new BigInteger("123456789123456789");
        System.out.println("加法操作:"+ b1.add(b2));
        System.out.println("减法操作:"+ b1.subtract(b2));
        System.out.println("乘法操作:"+ b1.multiply(b2));
        System.out.println("除法操作:"+ b1.divide(b2));
        System.out.println("取商:"+ b1.divideAndRemainder(b2)[0]);
        System.out.println("取余数:"+ b1.divideAndRemainder(b2)[1]);
        System.out.println("做2次方操作:"+ b1.pow(2));
        System.out.println("取相反数操作:"+ b1.negate());

2.5 BigDcimal 类

        BigDecimal d1 = new BigDecimal("0.00987654321987654321");
        BigDecimal d2 = new BigDecimal("0.00123456789123456789");
        System.out.println("两个数相加结果:"+ d1.add(d2));
        System.out.println("两个数相减结果:"+ d1.subtract(d2));
        System.out.println("两个输相乘结果:"+ d1.multiply(d2));
        System.out.println("两个数相除,保留小数点后9位:"+ d1.divide(d2,9, RoundingMode.HALF_UP));//除法运算,商小数点后保留9位,并将结果进行四舍五入操作

3、System 类

该类是JDK中的系统类,用final修饰的,所以不能被继承。提供系统层面的操作方法,但都是静态的。

3.1 控制台输出字符

1. 不会自动换行的print()方法

System.out.print();

2.可以换行的println()方法

System.out.println();

3.2 计时

public static void main(String[] args) {
        //System.currentTimeMillis(),方法可以获取自1970年1月1日零点至今的毫秒数
        long start = System.currentTimeMillis();//记录程序开始时间
        String str = null;
        for (int i = 0; i <10000; i++) {
            str+=i;
        }
        long end = System.currentTimeMillis();//记录程序结束时间
        System.out.println("循环用时:"+ (end-start)+"毫秒");
    }

4、Scanner 类

package com.note.Demo13;

import java.util.Random;
import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Random r = new Random();
        int num = r.nextInt(100);
        int input = -1;
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.println("请输入数字:");
            input = sc.nextInt();
            if (input>num){
                System.out.println("输入大了!");
            }else if (input<num){
                System.out.println("输入小了!");
            }else if(input==num){
                break;
            }else {
                System.out.println("输入有误!");
            }
        }
        System.out.println("答对了!");
        sc.close();
    }
}

5、日期时间类

5.1 Date 类

public static void main(String[] args) {
        Date date = new Date();
        long value = date.getTime();
        System.out.println("日期:"+date);
        System.out.println("到现在所经历的毫秒数位:"+value);
    }

5.2 日期时间格式化

5.3 Calendar 类


6、 Runtime 类

6.1 执行本地命令

public static void main(String[] args) {
        Runtime r = Runtime.getRuntime();//获取本地 Runtime对象
        try {
            Process p = r.exec("help");//执行help命令,获取进程对象
            InputStream is = p.getInputStream();//获取进程的字节输入流
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String str = null;
            while ((str = br.readLine())!= null){
                System.out.println(str);
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }

6.2 查看内存

public static void main(String[] args) {
        Runtime r = Runtime.getRuntime();
        Integer ints[] = new Integer[10000];
        long before = r.freeMemory();
        System.out.println("赋值当前空闲内存字节数:"+ before);
        for (int i = 0,length = ints.length;i<length; i++) {
            ints[i]=i;
        }
        long after = r.freeMemory();
        System.out.println("赋值后空闲内存字节数:"+after);
        System.out.println("数组用掉的字节数:"+(before-after));
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值