栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常用API

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常用API

MathSystemObjectArrays基本类型包装类日期类


Math
Math类概述:
Math包含执行基本数字运算的方法

没有构造方法,如何使用类中的成员呢?
看类的成员是否都是静态,如果是,通过类名就可以直接调用

Math类的常用方法
方法名 说明
public static int abs(int a) 返回参数的绝对值
public static double ceil(double a) 返回大于或者等于参数的最小double值,等于一个整数
public static double floor(double a) 返回小于或者等于参数的最大double值,等于一个整数
public static int round(float a) 按照四舍五入返回最接近参数的int
public static int max(int a,int b) 返回两个int值中的较大值
public static int min(int a,int b) 返回两个int值中的较小值
public static double pow(double a,double b) 返回a的b次幂的值
public static double random() 返回值为double的正值,[0.0,1.0)
eg:

package Java.item;

public class MatnDemo {
    public static void main(String[] args){
        System.out.println(Math.abs(88));
        System.out.println(Math.abs(-88));
        System.out.println("------");

        System.out.println(Math.ceil(12.34));
        System.out.println(Math.ceil(12.56));
        System.out.println("------");

        System.out.println(Math.floor(12.34));
        System.out.println(Math.floor(12.56));
        System.out.println("------");

        System.out.println(Math.round(12.34F));
        System.out.println(Math.round(12.56F));
        System.out.println("------");

        System.out.println(Math.max(66,88));
        System.out.println("------");

        System.out.println(Math.pow(2.0,3.0));
        System.out.println("------");

        System.out.println(Math.random());
        System.out.println(Math.random()*100);
        System.out.println((int)(Math.random()*100));
        System.out.println("------");
    }
}

终端:
88
88
------
13.0
13.0
------
12.0
12.0
------
12
13
------
88
------
8.0
------
0.3213016469549468
11.476555642829966
45
------


System
System类概述
System包含几个有用的类字段和方法,它不能被实例化

System类的常用方法
方法名 说明
public static void exit(int status) 终止当前运行的Java虚拟机,非零表示异常终止
public static long currrentTimeMillis() 返回当前时间(以毫秒为单位)
eg:

package Java.item;

public class SystemDemo {
    public static void main(String[] args){
        System.out.println("开始");
        //public static void exit(int status):终止当前运行的java虚拟机,非零表示异常终止
        System.exit(0);
        System.out.println("结束");
    }
}

终端:
开始

eg:

package Java.item;

public class SystemDemo {
    public static void main(String[] args){
       
        //public static long currentTimeMillis():返回当前时间(以毫秒为单位)
        System.out.println(System.currentTimeMillis());
        System.out.println(System.currentTimeMillis()/1000);
        System.out.println(System.currentTimeMillis()/1000.0);
        System.out.println(System.currentTimeMillis()*1.0/1000/60/60/24/365+"年");
    }
}

终端:
1629511364076
1629511364
1.629511364076E9
51.671466390569506年

eg:

package Java.item;

public class SystemDemo {
    public static void main(String[] args){
       
        long start=System.currentTimeMillis();
        for(int i=0;i<1000;i++){
            System.out.println(i);
        }
        long end=System.currentTimeMillis();
        System.out.println("共耗时"+(end-start)+"毫秒");
    }
}

终端:
0
1
2
…(此处省略不写)
998
999
共耗时334毫秒


Object
Object类的概述
Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或者间接的继承自该类

构造方法:public Object()

回想面向对象中,为什么说子类的构造方法默认是父类的无参构造方法?
因为它们的顶级父类只有无参构造方法

eg:

package Java.item;


public class ObjectDemo {
    public static void main(String[] args){
        Student s=new Student();
        s.setName("Mars");
        s.setAge(24);
        System.out.println(s);
        System.out.println(s.toString());
    }
}

终端:
Java.item.Student@71dac704
Java.item.Student@71dac704

Object类的常用方法
方法名 说明
public String toString() 返回对象的字符串表示形式。建议所有子类重写该方法,自动生成
public boolean equals(Object obj) 比较对象是否相等。默认比较地址,重写可以比较内容,自动生成


Arrays
Arrays类包含用于操作数组的各种方法
方法名 说明
public static String toString(int[] a) 返回指定数组的内容的字符串表示形式
public static void sort(int[] a) 按照数字顺序排列指定的数组
工具类的设计思想:

构造方法用private修饰成员用public static修饰


基本类型包装类
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
常用的操作之一:用于基本数据类型与字符串之间的转换。

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charChar
booleanBoolean

Integer类的概述和使用
Integer:包装一个对象中的原始类型int的值

方法名说明
public Integer(int value)根据int创建Integer对象(过时)
public Integer(String s)根据String值创建Integer对象(过时)
public static Integer valueOf(int i)返回表示指定的int值的Integer实例
public static Integer value(String s)返回一个保存指定值的Integer对象String

eg :

package Java.item;

public class IntegerDemo {
    public static void main(String[] args){
        //public Integer(int value):根据int创建Integer对象(过时)
        Integer i1=new Integer(100);
        System.out.println(i1);
        
        //public Integer(String s):根据String值创建Integer对象(过时)
        Integer i2=new Integer("100");
        System.out.println(i2);
    }
}

终端:
100
100

eg:

package Java.item;

public class IntegerDemo {
    public static void main(String[] args){
        
        //public static Integer valueOf(int i):返回表示指定的int值的Integer实例
        Integer i1=Integer.valueOf(100);
        System.out.println(i1);
		
        //public static Integer value(String s):返回一个保存指定值的Integer对象String
        Integer i2=Integer.valueOf("100");
        System.out.println(i2);
    }
}

终端:
100
100

int与String相互转换
基本类型包装类的常用操作就是:用于基本类型和字符串之间的相互转换

int转为String
public static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类中的方法String转为int
public static int parselnt(String s):将字符串解析为int类型。该方法是Integer类中的方法

eg:

package Java.item;

public class IntegerDemo {
    public static void main(String[] args){
        //int----String
        int number=100;
        //方式1
        String s1=""+number;
        System.out.println(s1);
         //方式2
        String s2=String.valueOf(number);
        System.out.println(s2);
        
        //String----int
        String s="100";
        //方式1
        Integer i=Integer.valueOf(s);
        int x=i.intValue();
        System.out.println(x);
        //方式2
        int y=Integer.parseInt(s);
        System.out.println(y);
    }
}

终端:
100
100
100
100

案例:字符串中数据排序
需求:有一个字符串:“9127463850”,请写出程序实现最终输出结果是:“2738465091”

package Java;

import java.util.Arrays;

public class IntergerTest {
    public static void main(String[] args){
        //定义一个字符串
        String s="91 27 46 38 50";
        int i;
        //把字符串中的数字数据存储到一个int类型的数组中
        String[] strArray=s.split(" ");	//split要明白
        //定义一个int数组,把String[]数组中的每一个元素存储到int数组中
        int[] arr=new int[strArray.length];
        for(i=0;i 

终端:result:27 38 46 50 91

自动装箱和拆箱

装箱:把基本数据类型转换为对应的包装类类型拆箱:把包装类类型转换为对应的基本数据类型
Integer i = 100;//自动装箱
i+=200;//i=i+200; i+200自动拆箱; i=i+200;是自动装箱
注意:在使用包装类类型的时候,如果做操作,最好先判断是否为null。
我们推荐的是,只要是对象,在使用前就必须进行不为null的判断。

eg:

package Java;

public class IntergerDemo {
    public static void main(String[] args){
        //装箱:把基本数据类型转换为对应的包装类类型
        Integer i=Integer.valueOf(100);
        Integer ii=100;//Integer.valueOf(100);
        //拆箱:把包装类类型转换为对应的基本数据类型
        //ii+=200;
        ii=ii.intValue()+200;
        System.out.println(ii);
    }
}

终端:300

eg:

package Java;

public class IntergerDemo {
    public static void main(String[] args){
        //装箱:把基本数据类型转换为对应的包装类类型
        Integer i=Integer.valueOf(100);
        Integer ii=100;//Integer.valueOf(100);
        //拆箱:把包装类类型转换为对应的基本数据类型
        //ii+=200;
        //ii=ii.intValue()+200;
        ii+=200;
        System.out.println(ii);
    }
}

终端:300

eg:

package Java;

public class IntergerDemo {
    public static void main(String[] args){
        //装箱:把基本数据类型转换为对应的包装类类型
        Integer i=Integer.valueOf(100);
        Integer ii=100;//Integer.valueOf(100);
        //拆箱:把包装类类型转换为对应的基本数据类型
        //ii+=200;
        //ii=ii.intValue()+200;
        ii+=200;
        System.out.println(ii);

        Integer iii=null;
        if(iii!=null){
            iii+=300;
        }
    }
}

终端:300


日期类
Date类概述和构造方法
Date代表了一个特定的时间,精确到毫秒

方法名说明
public Date()分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
public Date(long date)分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数

eg:

package Java;

import java.util.Date;

public class DateDemo {
    public static void main(String[] args){
        Date d1=new Date();
        System.out.println(d1);

        long date=1000*60*60;
        Date d2=new Date();
        System.out.println(d2);
    }
}

终端:
Tue Sep 07 18:58:05 CST 2021
Tue Sep 07 18:58:05 CST 2021

Date类的常用方法

方法名说明
public long getTime()获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值
public void setTime(long time)设置时间,给的是毫秒值

eg:

package Java;

import java.util.Date;

public class DateDemo {
    public static void main(String[] args){
        Date d=new Date();
        System.out.println(d.getTime());
        System.out.println(d.getTime()*1.0/1000/60/60/24/365+"年");
    }
}

终端:
1631012673959
51.71907675168061年

eg:

package Java;

import java.util.Date;

public class DateDemo {
    public static void main(String[] args){
        Date d=new Date();
        long time=1000*60*60;
        d.setTime(time);
        System.out.println(d);
    }
}

终端:
Thu Jan 01 09:00:00 CST 1970

eg:

package Java;

import java.util.Date;

public class DateDemo {
    public static void main(String[] args){
        Date d=new Date();
        long time=System.currentTimeMillis();
        d.setTime(time);
        System.out.println(d);
    }
}

终端:
Tue Sep 07 19:13:41 CST 2021

SimpleDateFormat类概述
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。我们重点学习日期格式化和解析

日期和时间格式由日期和时间模式字符串指定,在日期和时间模式字符串中,从’A’到’Z’以及从’a’到’z’引号的字母被解释为表示日期或时间字符串的组建的模式字母
常见的模式字母及对应关系如下:
y 年
M 月
d 日
H 时
m 分
s 秒

SimpleDateFormat的构造方法

方法名说明
public SimpleDateFormat()构造一个SimpleDateFormat,使用默认模式和时间格式
public SimpleDateFormat(String pattern)构造一个SimpleDateFormat使用给定的模式和默认的时间格式

1.格式化(从Date到String)
public final String format(Date date):将日期格式化成日期/时间字符串

2.解析(从String到Date)
public Date parse(String source):从给定字符串的开始解析文本以生成日期

eg:

package Java;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
    public static void main(String[] args){
    //格式化:从Date到String
    Date d=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat();
    String s=sdf.format(d);
    System.out.println(s);
    }
}

终端:
2021/9/7 下午7:39

eg:

package Java;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
    public static void main(String[] args){
    //格式化:从Date到String
    Date d=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
    String s=sdf.format(d);
    System.out.println(s);
    }
}

终端:
20210907194311

eg:

package Java;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException{
    //格式化:从Date到String
    Date d=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
    String s=sdf.format(d);
    System.out.println(s);
    System.out.println("------");

    String ss="2048-08-09 11:11:11";
    SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dd=sdf2.parse(ss);
    System.out.println(dd);
    }
}

终端:
2021年09月07日19:51:58
------
Sun Aug 09 11:11:11 CST 2048

案例:日期工具类
需求:定义一个日期工具类(DateUtils),包含两个方法,把日期转换为指定格式的字符串;把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法

eg:

package Java;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class DateUtils {
    private DateUtils(){}
    
    public static String dateToString(Date date,String format){
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        String s=sdf.format(date);
        return s;
    }
    
    public static Date StringToDate(String s,String format) throws ParseException{
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        Date d=sdf.parse(s);
        return d;
    }
}
package Java;

import java.util.Date;

public class DateDemo {
    public static void main(String[] args){
        Date d=new Date();
        String s1=DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
        System.out.println(s1);
        
        String s2=DateUtils.dateToString(d, "yyyy年MM月dd日");
        System.out.println(s2);
        
        String s3=DateUtils.dateToString(d, "HH:mm:ss");
        System.out.println(s3);
    }
}

终端:
2021年09月07日 20:12:00
2021年09月07日
20:12:00

Calendar类概述
Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar提供了一个类方法getlnstance 用于获取Calendar对象,其日历字段已使用当前日期和时间初始化:
Calendar rightNow=Calendar.getlnstance();

eg:

package Java;

import java.util.Calendar;

public class CalerdarDemo {
    public static void main(String[] args){
        Calendar c=Calendar.getInstance();//多态的形式
        System.out.println(c);
    }
}

终端:
java.util.GregorianCalendar[time=1631608005501,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Asia/Shanghai”,offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2021,MonTH=8,WEEK_OF_YEAR=38,WEEK_OF_MonTH=3,DAY_OF_MonTH=14,DAY_OF_YEAR=257,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MonTH=2,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=26,SECOND=45,MILLISECOND=501,ZONE_OFFSET=28800000,DST_OFFSET=0]

eg:

package Java;
import java.util.Calendar;

public class CalerdarDemo {
    public static void main(String[] args){
        //获取对象
        Calendar c=Calendar.getInstance();//多态的形式
        //public int get(int field)
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH)+1;
        int date=c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");
    }
}

终端:
2021年9月14日

Calendar的常用方法

方法名说明
public int get(int field)返回给定日历字段的值
public abstract void add(int field,int amount)根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date)设置当前日历的年月日

eg:

package Java;

import java.util.Calendar;

public class CalerdarDemo {
    public static void main(String[] args){
        //获取日历对象
        Calendar c=Calendar.getInstance();
        //三年前的今天
        c.add(Calendar.YEAR, -3);
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH)+1;
        int date=c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");
    }
}

终端:
2018年9月14日

eg:

package Java;

import java.util.Calendar;

public class CalerdarDemo {
    public static void main(String[] args){
        //获取日历对象
        Calendar c=Calendar.getInstance();
        //三年后的今天
        c.add(Calendar.YEAR, 3);
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH)+1;
        int date=c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");
    }
}

终端:
2024年9月14日

eg:

package Java;
import java.util.Calendar;

public class CalerdarDemo {
    public static void main(String[] args){
        //获取日历对象
        Calendar c=Calendar.getInstance();
        c.set(2021,9,14);
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH)+1;
        int date=c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");
    }
}

终端:
2021年10月14日

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/764046.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号