重庆—java互联网架构软件工程师学习记录—Day12(API 2)

Java互联网架构软件工程师——第一阶段

Day12–API 2


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、StringBuilder/StringBuffer

1.1 概述

优化 字符串拼接

1.2 常用方法

append()

1.3 案例

代码如下(示例):

public class Test01 {
    public static void main(String[] args) {
        method();//用+拼接
        method2();//用工具
    }
     // 用工具拼接
    private static void method2() {
        String s  = "dasbjgdhasbbidb";
        //把字符串拼接10000次,并打印结果
        // 1.创建对象
        StringBuilder s1 =  new StringBuilder();
        long start = System.currentTimeMillis();//计时开始
        for (int i = 0; i <10000; i++) {
            // 调用拼接方法
            s1.append(s1);


        }
        long end = System.currentTimeMillis();//计时结束
        System.out.println(end-start);
    }

    //用 + 凭借
    public static  void method(){
        String s  = "dasbjgdhasbbidb";
        //把字符串拼接10000次,并打印结果
        String s2="";
      long start = System.currentTimeMillis();//计时开始
        for (int i = 0; i <10000; i++) {
            s2=s2+i;

        }
      long end = System.currentTimeMillis();//计时结束
            System.out.println(end-start);
    }


}

二、包装类

2.1 概述

专门用来给 基本类型 提供丰富的功能

 基本类型 byte  short  int long float double boolean char 
 包装类型 Byte  Short Integer Long Float Double Boolean Character

2.2 Number

是 数字类型的包装类的父类
子类有:Byte Short Integer Long Float Double
常用的功能:把包装类型 变成 基本类型

2.3 Integer

在这里插入图片描述

把 基本类型 变成包装类型
使用包装类提供的各种方法

–创建对象

Integer(int value) 

–常见方法

int intValue()  
static int parseInt(String s) 
static Integer valueOf(int i) 

2.4 案例

代码如下(示例):

// 测试 包装类
public class Test02 {
    public static void main(String[] args) {
        //创建 Integer对象 --- 自动装箱
        //把12从基本类型变成Integer类型,用Integer的各种方法
        Integer s = new Integer(12);
        Integer s2 = Integer.valueOf(5);
        // 调用方法
        //把包装类 变成 基本类型 -- 自动拆箱 -- 参与运算
        int a = s.intValue();
        System.out.println(a);
        // 把字符串的整形 解析成 int 整形
        int x =Integer.parseInt("100");
        System.out.println(x);


        Double b = new Double(12.5);
        double c = b.byteValue();
        System.out.println(c);
        
    }
}

三、日期类Date

3.1 概述

专门 对日期 操作的工具类

3.2 创建对象

new Date():封装的是系统当前时间的毫秒值

3.3 常用方法

getTime():取内部毫秒值
setTime():存取内部毫秒值
getMonth():获取当前月份
getHours():获取当前小时

3.4 案例

代码如下(示例):

//测试 Date 工具类
public class Test03 {
    public static void main(String[] args) {
        //1.创建对象
        Date s = new Date();
        //调用方法
        System.out.println(s);//输出当前时间
        System.out.println(s.getTime());//输出1970-1-1至今的毫秒值
        System.out.println(s.getMonth()+1);//获取当前月份,获取月份是要+1
        System.out.println(s.getHours());//获取当前小时
        System.out.println(s.toString());
        System.out.println(s.clone());
        
    }
}

四、日期工具SimpleDateFormat

4.1 概述

专门用来把两种类型的日期数据 互转
String -> Date
Date -> String

4.2 创建对象

new SimpleDateFormat(格式)
格式:yyyy-MM-dd HH:mm:ss

4.3 常用方法

Date parse(String text)用来String -> Date
String format(Date date)用来Date -> String

4.4 案例

代码如下(示例):

//测试日期格式化工具类
public class Test04 {
    public static void main(String[] args)
            throws ParseException {

        Method();//互转
        method2();// 计算出生到现在活了几天
    }

    private static void method2()
            throws ParseException {
        //接受  输入的出生日期
        System.out.println("请输入你的出生日期(yyyy-MM-dd):");
        String x = new Scanner(System.in).nextLine();
        //使用工具类
        SimpleDateFormat x2 = new SimpleDateFormat("yyyy-MM-dd");
        Date x3 = x2.parse(x);
        // 计算天数
        long start=x3.getTime();//出生的毫秒值
        long now = System.currentTimeMillis();//当前的毫秒值
        System.out.println("您在世界上生存了"+(now-start)/1000/60/60/24+"天");

    }


    private static void Method()
            throws ParseException {
        //创建对象 --- 指定日期的格式
        // y表示年,M表示月,的表示日
        SimpleDateFormat s =
                new SimpleDateFormat("yyyy-MM-dd");
        //调用方法  String ---> Date
        Date a = s.parse("1997-01-01");
        //好处是:使用Date的getXxx()
        System.out.println(a.getYear()+"年");
        System.out.println(a.getMonth()+1+"月");


    }
}

五、BigDecimal/BigInteger

5.1 概述

BigDecimal专门用来解决java里小数运算不精确的问题
BigInteger专门用来解决超大型的整数运算

5.2 创建对象

 BigDecimal(double val)//有坑,,,
 BigDecimal(String val)//推荐!!!!             
 BigDecimal.valueOf(2);

5.3 常用方法

加法:BigDecimal add(BigDecimal augend) 
减法:BigDecimal subtract(BigDecimal subtrahend)  
乘法:BigDecimal multiply(BigDecimal multiplicand) 
除法:BigDecimal divide(BigDecimal divisor)

5.4 案例

代码如下(示例):

//测试 BigInteger
public class Test05 {
    public static void main(String[] args) {
        //接受用户输入两个小数,做+-*/的运算
        method2();
    }

    private static void method2() {
        System.out.println("请输入两个小数:");
        double a = new Scanner(System.in).nextDouble();
        double b = new Scanner(System.in).nextDouble();
        //创建对象
        // 构造方法,double 类型不能用,更不精确
        // 用String 类型的构造方法 --- double-->String
        //方式1:String.valueOf(a)
        //方式2: a+""
        BigDecimal bd1 =new  BigDecimal(a+"");

        BigDecimal bd2 = new  BigDecimal(b+"");

        System.out.println(bd1.add(bd2));//加
        System.out.println(bd1.subtract(bd2));//减
        System.out.println(bd1.multiply(bd2));//乘

        //divide(1,2,3)1--想除谁就出谁,2--保留几位,3--舍入方式
        BigDecimal bd3 = bd1.divide(bd2,3,BigDecimal.ROUND_CEILING);//除
        System.out.println(bd3);
        
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值