JAVA核心类库

JAVA核心类库

1.泛型

一 创建类

public class qqq <T>{
    private T data;
}

使用的时候

qqq<String> a=new qqq<>();

这时候泛型指的是String

二 创建接口

public interface www <T>{
    T getData();
}

实现接口的时候可以选择不指定类型,例如

public class eee<T> implements www<T>{}

也可以选择指定类型:

public class eee implements www<String>{}

三 创建方法

public static <T> void ww(T a,T b){}

四 泛型限制与通配符

```perl`在这里插入代码片`
public class Demo {
    public static void main(String[] args) {
        pla<sg> pla=new pla<>();
        //限制了pla里的泛型必须是实现了sg接口的类
    }
}
interface sg{}
class app implements sg{}
class pla<T extends sg>{
    T data;
}

通配符

pla<? exents sg> pla=new pla<app>();

pla必须是sg的子类

pla<? super app> pla=new pla<sg>();

pla必须是app的父类或父类以上

2. java.util.Objects

Objects有很多静态方法
equals方法可以排除空指针异常
isNull方法可以判断对象是否为空

3. java.lang.Math

abs方法:求绝对值
min方法:求最小值
max方法:求最大值
round方法:把小数位四舍五入,如果是0.5向正无穷取值,例如-11.5是-11
floor方法:返回小于等于参数的最大整数
ceil方法:返回大于等于参数的最大整数

4.java.util.Arrays

toString方法:把数组输出成字符串;
sort方法:排序
binarySearch方法:查找指定元素的下标
copyOf方法:扩容

5. java.math.BigDecimal

double类型或者float类型进行运算可能会精度出错

package nineFive;

import java.math.BigDecimal;

public class Demo {
    public static void main(String[] args) {
        System.out.println(0.1+0.2);
        BigDecimal b1=new BigDecimal("0.1");
        BigDecimal b2=new BigDecimal("0.2");
        BigDecimal b3=b1.add(b2);
        //BigDecimal b3= b1.subtract(b2);//减
        //BigDecimal b3= b1.multiply(b2);//乘
        //BigDecimal b3= b1.divide(b2);//除
        System.out.println(b3);
    }
}
"C:\Program Files\Java\jdk1.8.0_251\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.1\lib\idea_rt.jar=53827:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_251\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_251\jre\lib\rt.jar;C:\Users\7777777\IdeaProjects\demo2\out\production\demo2" nineFive.Demo
0.30000000000000004
0.3

Process finished with exit code 0

6.java.util.Date

getTime方法:返回一个19701月1日0:00到现在的毫秒数
toString方法:打印现在的时间

7.java.text.DateFormat

public class Demo {
    public static void main(String[] args) {
        SimpleDateFormat format =new SimpleDateFormat("yyyy年MM月dd日 HH:mm ss");
        String s=format.format(new Date());
        System.out.println(s);
    }
}``

parse方法:把字符串时间转换成毫秒数

8.java.util.Calendar

Calendar calendar=Calendar.getInstance();//获得对象
int week=calendar.get(Calendar.DAY_OF_WEEK)-1; //获得星期
calendar.set(year, month,day); //赋值
add方法:添加时间,4月加11月等于3月
int min = calendar.getActualMinimum(Calendar.DAY_OF_MONTH); //获取本月起始
int max = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); //获取本月结束

日历的代码

package nineFive;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
import java.util.SimpleTimeZone;

public class Demo {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);

        System.out.println("请输入年份:");
        int year=input.nextInt();
        System.out.println("请输入月份:");
        int  month=input.nextInt();

        Calendar calendar=Calendar.getInstance();//获得对象
        calendar.set(year, month-1,01); //赋值
        int week=calendar.get(Calendar.DAY_OF_WEEK)-1; //获得星期
        if (week==0){
            week=7;
        }
        int min = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);    //获取本月起始
        int max = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);	   //获取本月结束
        max=max+(week-1);
        System.out.println(week);
        System.out.println(min);
        
        System.out.println("--------------------"+year+"年"+month+"月日历-----------------------");
        System.out.println("一\t二\t三\t四\t五\t六\t日");

        for (int i = min; i <=max; i++) {

            if(i<week) {
                System.out.print("\t");
            }else {
                System.out.printf(new DecimalFormat("00").format((i-(week-1)))+"\t");
            }
            if(i%7==0) {
                System.out.println();
            }

        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值