常用的API

1、Math类:

        1、求一个数的绝对值       //abs(int  a)

int a = -10;
System.out.println(Math.abs(a));   //输出10

        2、求大于等于一个数的最小double值整数    //ceil(double  a)

double a = 1.5;
System.out.println(Math.ceil(a));     //输出2.0

        3、求小于等于一个数的最大double值整数     //floor(double  a)

double a = 1.5;
System.out.println(Math.floor(a));   //输出1.0

        4、求一个数四舍五入后最接近本身的整数      //round(float  a)

float a = 1.2f;
System.out.println(Math.round(a));    //输出1
float b = 1.5f;
System.out.println(Math.round(b));    //输出2

        5、求两个数中的最大最小值       //max(int  a,int  b)    min(int  a,int  b)

int a = 1; int b = 2;
System.out.println(Math.max(a,b));    //输出2
System.out.println(Math.min(a,b));    //输出1

        6、求一个数的n次幂        //pow(double  a,double  b)

double a = 2.0;
double b = 3.0;
System.out.println(Math.pow(a,b));    //输出8.0

        7、求一个在【0.0,1.0)直接的double类型的随机数       //random( )

System.out.println(Math.random());   //结果随机产生  例如:0.26427109106015356

        如果想取【0.0,100.0)之间

System.out.println(Math.random()*100);   //结果随机产生  例如:26.427109106015356

        如果想取【0.0,100.0)之间的整数

System.out.println((int)Math.random()*100);   //结果随机产生  例如:26

        如果想取【1.0,101.0)之间的整数

System.out.println((int)Math.random()*100+1);   //结果随机产生  例如:26.427109106015356

2、System类:

        1、退出java虚拟机          //exit( int  status )  status如果为0,则是正常终止

        结束不会输出

System.out.println("开始");     //输出开始
System.exit(0);                 //java虚拟机退出
System.out.println("结束");     

        2、返回当时时间              //currentTimeMillis( )    返回当前时间与1970年1月1日差的毫秒值

System.out.println(System.currentTimeMillis());    //输出1626248051132
System.out.println(System.currentTimeMillis()*1.0 /1000 /60 /60 /24 /365 + "年");
//输出51.56798741539828年

        另一种用法     //求出运行时间(单位是毫秒)

long start = System.currentTimeMillis();
for(int i=0;i<10000;i++) {
    System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println(end-start);
    

3、Arrays类:

        1、先导包     //import  java.util.Arrays;

        2、给当前数组排序     sort( int[ ]  arry ) 

int[] array = {163,171,130,81,168};
Arrays.sort(array);       //array数组:[81, 130, 163, 168, 171]

        3、输出当前数组         toString( int[ ] a )

System.out.println(Arrays.toString(array));   //输出[81, 130, 163, 168, 171]

4、基本包装类(Integer):

        1、确定int类型的范围

System.out.println(Integer.MAX_VALUE);     //输出2147483647
System.out.println(Integer.MIN_VALUE);     //输出-2147483648

        2、所有基本类型对应的包装类

         3、将int类型或者String类型转换为Integer包装类

Integer i1 = Integer.valueOf("100");    //字符串必须是数字字符串
Integer i2 = Integer.valueOf(100); 

        4、int和String类型之间的转化

         int转String

//方法一
int a = 10;
String b = "" + a;

//方法二
String x = String.valueOf(a);

        String转int

//方法一
String a = "10";
Integer i = Integer.valueOf(a);
int x = i.intValue();

//方法二
int y = Integer.parseInt(a);

        5、字符串中数据排序

String x = "10 9 12 1";

//将字符串转化为String数组
String[] arry = x.split(" ");

//将String数组转化为int数组
int[] array = new int[arry.length];
for(int i=0;i<arry.length;i++) {
    array[i] = Integer.parseInt(arry[i]);
}

//将int数组中数据排序
Arrays.sort(array);

//将int数组转化为字符串
StringBuilder sb = new StringBuilder();
for(int i=0;i<array.length;i++){
    if(i==array.length-1){
        sb.append(array[i]);
    }else {
        sb.append(array[i]).append(" ");
    }
}
String y = sb.toString();
System.out.println(y);

        6、自动装箱和自动拆箱

Integer i = Integer.valueOf(100);     //装箱

//自动装箱
Integer ii = 100;       //隐含了Inter.valueof(100)

//自动装箱和自动拆箱
ii += 200;      // 隐含了 ii = Integer.valueOf( ii.intvalue() + 200 )
//使用 ii += int 之前要做个判断
Integer iii = null;
if(ii != null){
   ii += 200 ;
}
        

5、日期类:

        1、日期类的两个构造方法

Date d = new Date();
System.out.println(d);       //Wed Jul 14 17:47:29 CST 2021

long l = 1000*60*60;
Date d1 = new Date(l);
System.out.println(d1);      //Thu Jan 01 09:00:00 CST 1970 

        2、日期类的常用方法

        getTime( )和setTime( )方法:

Date d = new Date();

//getTime()是获取从1970年1月1日 00:00:00到现在的毫秒值
System.out.println(d.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 +"年");   //51.5682499388001年

//setTime()是设置从1970年1月1日 00:00:00经过多少毫秒后的时间
long l = 1000*60*60;
d.setTime(l);
System.out.println(d);   //Thu Jan 01 09:00:00 CST 1970  为什么是9点:还要加上中国的东八区

        3、SimpleDateFormat类

          (1)、导包:import  java.text.SimpleDateFormat;

          (2)、 两个构造方法

                public  SimpleDateFormat( );        public  SimpleDateFormat( String  pattern ); 

          (3)、格式化:

                从Date到String       public  final  String  format( Date d )

Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String s = sdf.format(d);
System.out.println(s);                 //2021/7/14 下午6:49

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String ss = sdf1.format(d);
System.out.println(ss);                //2021年07月14日 18:49:22

                从String到Date       public  Date  parse( String  source )

                   

public class work11{
    public static void main(String[] args) throws ParseException {
        String s = "2021-7-14 18:52:00";    //字符串格式要和SimpleDateFormat()方法中参数格式一样
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = sdf.parse(s);
        System.out.println(d);           //Wed Jul 14 18:52:00 CST 2021
    }
}

        例子:建立一个日期工具类,实现从String到Date和从Date到String的转换

//测试类
import java.text.ParseException;
import java.util.Date;

public class work11{
    public static void main(String[] args) throws ParseException {

        Date d = new Date();
        String format1 = "yyyy年MM月dd日";
        String format2 = "HH:mm:ss";
        String format3 = "yyyy年MM月dd日 HH:mm:ss";
        String s = DateUtils.DatetoString(d,format1);
        String ss = DateUtils.DatetoString(d,format2);
        String sss = DateUtils.DatetoString(d,format3);
        System.out.println(s);           //2021年07月14日
        System.out.println(ss);          //19:05:46
        System.out.println(sss);         //2021年07月14日 19:05:46

        String x = "2021-07-14 19:05:46";          //x与format格式要一样
        String format = "yyyy-MM-dd HH:mm:ss";
        Date dd = DateUtils.StringtoDate(x,format);
        System.out.println(dd);                    //Wed Jul 14 19:05:46 CST 2021
    }
}

//日期工具类  DateUtils
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils{
    private DateUtils(){}

    public static String DatetoString(Date d, String format){
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String s = sdf.format(d);
        return s;
    }

    public static Date StringtoDate(String s,String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date d = sdf.parse(s);
        return d;
    }
}

         4、Calendar类

          (1)、获取Calendar对象: Calendar   c  =  Calendar.getInstance( );

          (2)、运用get方法获取当前日期   c.get( Calendar.YEAR );

import java.text.ParseException;
import java.util.Calendar;

public class work11{
    public static void main(String[] args) throws ParseException {

        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;   //月从0开始计数
        int date = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");   //2021年7月14日
    }
}

         (3)、Calendar类的常用方法: 

                public  int  get( int  field )    //返回给定日历字段的值    同(2)

                public  abstract  void  add( int  field ,  int  amount ) 

         //根据日历的规则,将指定的时间量添加或减去给定的日历字段

import java.text.ParseException;
import java.util.Calendar;

public class work11{
    public static void main(String[] args) throws ParseException {


        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;   //月从0开始计数
        int date = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");     //2021年7月14日

        //十年后的五天前
        c.add(Calendar.YEAR,10);
        c.add(Calendar.DATE,-5);
        int yearNow = c.get(Calendar.YEAR);
        int monthNow = c.get(Calendar.MONTH) + 1;   //月从0开始计数
        int dateNow = c.get(Calendar.DATE);
        System.out.println(yearNow+"年"+monthNow+"月"+dateNow+"日");    //2031年7月9日
    }
}

                public  final  void  set( int  year,int  month,int  date )   //设置当前日历的年月日

import java.text.ParseException;
import java.util.Calendar;

public class work11{
    public static void main(String[] args) throws ParseException {
        
        Calendar c = Calendar.getInstance();
        c.set(1999,11,1);
        int yearNow = c.get(Calendar.YEAR);
        int monthNow = c.get(Calendar.MONTH) + 1;   //月从0开始计数
        int dateNow = c.get(Calendar.DATE);
        System.out.println(yearNow+"年"+monthNow+"月"+dateNow+"日");   //1999年12月1日
        
    }
}

        5、例子:获取任意一年的二月份有多少天

import java.text.ParseException;
import java.util.Calendar;
import java.util.Scanner;

public class work11{
    public static void main(String[] args) throws ParseException {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = sc.nextInt();
        Calendar c = Calendar.getInstance();

        //设置当前年份的3月1日
        c.set(year,2,1);

        //3月1日往前减一天就是二月的最后一天
        c.add(Calendar.DATE,-1);

        //获取二月的最后一天
        int date = c.get(Calendar.DATE);
        System.out.println(year+"年的二月有"+date+"天");  
        //测试输入2049  输出:2049年的二月有28天
    
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值