Java-知识2

这篇博客主要介绍了Java中的Integer基本类型包装类,包括自动装箱和拆箱,以及int和String的相互转换。此外,还探讨了Date类的使用,如创建日期对象、获取和设置时间,以及通过SimpleDateFormat进行日期格式化。最后,讲解了Calendar类的时间操作,如获取当前日期、添加时间间隔等。
摘要由CSDN通过智能技术生成

基本类型包装类

在这里插入图片描述

Integer类

在这里插入图片描述

package IT05.基本类型包装类.Demo01;

public class IntegerDemo2 {
    public static void main(String[] args) {
        /*以下注释部分已过时,但是仍然可以使用
        Integer i1 = new Integer(100);//已经过时,但是可以使用
        System.out.println(i1);

        Integer  i2 = new Integer("100");//此处字符串是数字组成
        System.out.println(i2);
        */
        //注意一下两种区别
        Integer i1= Integer.valueOf(100);
        Integer i4= Integer.valueOf(00100);
        System.out.println(i1);

        Integer i2= Integer.valueOf("100");
        Integer i3= Integer.valueOf("00100");
        System.out.println(i2);
        System.out.println(i3);
    }


}

int和String的相互转换

package IT05.Integer包装类;

//int和String的相互转换
public class IntegerDemo3 {
    public static void main(String[] args) {
        //int转成String
        int num = 100;
        //方式1
        String s1 = "" + num;//空串加上数字进行字符串连接变成字符串
        System.out.println(s1);
        //方式2
        String s2 = String.valueOf(num);
        System.out.println(s2);

        //String转成int
        String s = "1000";
        //方式1
        Integer i = Integer.valueOf(s);
        int x = i.intValue();
        System.out.println(x);
        //方式2
        int y = Integer.parseInt(s);
        System.out.println(y);

    }
}
练习
package IT05.Integer包装类;

import java.util.Arrays;

/*
有一个字符串“91 27 46 38 50”,实现最终输出从小到大排序
 */
public class IntegerTest {
    public static void main(String[] args) {
        String s = "91 27 46 38 50";
        String[] strArray = s.split(" ");
        int [] arr = new int[strArray.length];
        for (int i=0;i<arr.length;i++){
            arr[i]=Integer.parseInt(strArray[i]);
        }
        Arrays.sort(arr);
        StringBuilder sb =new StringBuilder();
        for (int i=0;i<arr.length;i++){
            if (i==arr.length-1){
                sb.append(arr[i]);
            }else{
                //sb.append(arr[i]+" ");
                sb.append(arr[i]).append(" ");
            }

        }
        String result = sb.toString();
        System.out.println("result"+result);
    }
}

自动装箱和拆箱

在这里插入图片描述

package IT05.自动装箱拆箱;

public class IntegerDemo {
    public static void main(String[] args) {
        //装箱:把基本数据类型转换为对应的包装类类型
        Integer.valueOf(100);
        Integer ii = 100;//自动装箱

        //拆箱:把包装类类型转换为对应的基本数据类型
        //ii = ii.intValue()+200;//ii.intvalue()这个动作叫做拆箱
        ii += 200;//自动拆箱   i+200自动拆箱i = i + 200; 是自动装箱
        System.out.println(ii);
        Integer iii = null;//null调用intvalue();会是空指针会报错
        if(iii!=null){
            iii+=300;
        }
    }
}

日期类

Data类

在这里插入图片描述

package IT06.日期类;

/*
date类的两个构造方法
public Date()
分配一个 Date对象,并初始化它,以便它代表它被分配的时间,测量到最接近的毫秒。
public Date(long date)
分配一个 Date对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日00:00:00 GMT起的指定毫秒数。
GMT一般指世界时。世界时UT即格林尼治平太阳时间,是指格林尼治所在地的标准时间
*/
import java.util.Date;

public class DateDemo01 {
    public static void main(String[] args) {
        Date d1=new Date();
        System.out.println(d1);
        long date = 1000*60*60;
        Date d2 = new Date(date);
        System.out.println(d2);
        /*
        输出结果:
        Sat Oct 16 17:14:29 CST 2021
        Thu Jan 01 09:00:00 CST 1970
        CST表示中国的标准时间
        */

    }
}

在这里插入图片描述

package IT06.日期类;

import java.util.Date;

public class DateDemo02 {
    public static void main(String[] args) {
        Date d = new Date();
        /*
        public long getTime()返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒数。
        结果
        自1970年1月1日起,以此日期为准的00:00:00 GMT的毫秒数。
        */
        System.out.println(d.getTime());
        System.out.println(d.getTime()*1.0/1000/60/60/24/365+"年");

        /*
        public void setTime(long time)设置此 Date对象以表示1970年1月1日00:00:00 GMT之后的 time毫秒的时间点。
        参数
        time - 毫秒数。
        */
        System.out.println(d);//输出当前时间
        long time=1000*60*60;
        d.setTime(time);
        System.out.println(d);
    }
}
SimpleDateFormat类

在这里插入图片描述

构造方法

在这里插入图片描述
在这里插入图片描述

package IT06.日期类;

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

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

        String format1 = sdf1.format(d);//从Date到String
        System.out.println(format1);

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

        /*
        public SimpleDateFormat()
        构造一个SimpleDateFormat使用默认模式和日期格式符号
        */

       /*
        public SimpleDateFormat(String pattern)
        构造一个SimpleDateFormat使用给定的模式和默认的日期格式符号
        */

        /*
        public final String format(Date date)
        将日期格式化成日期/时间字符串。
        */
        /*public Date parse(String source)
        从给定字符串的开始解析文本以生成日期。*/

    }
}
Calendar类(抽象类)

在这里插入图片描述

package IT06.Calendar;

import java.util.Calendar;
import java.util.Date;

public class CalendarDemo {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        //System.out.println(c);
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
        int day = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+ day+"日");
    }
}

在这里插入图片描述

package IT06.Calendar;

import java.util.Calendar;

public class CalendarDemo2 {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        //System.out.println(c);
       /* int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
        int day = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+ day+"日");
        */
        //三年前今天
        /*c.add(Calendar.YEAR,-3);
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
        int day = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+ day+"日");
*/
        //十年后的五天前
        c.add(Calendar.YEAR,10);
        c.add(Calendar.DATE,-5);
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
        int day = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+ day+"日");
        c.set(2048,11,11);
        int year1 = c.get(Calendar.YEAR);
        int month1 = c.get(Calendar.MONTH);//月份是从0开始计数所以要加一
        int day1 = c.get(Calendar.DATE);
        System.out.println(year1+"年"+month1+"月"+ day1   +"日");


    }
}

异常

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

异常处理1 (try…catch)

在这里插入图片描述

Throwable的成员方法

两种异常的区别

在这里插入图片描述

Throws处理异常

在这里插入图片描述
在这里插入图片描述

自定义异常

在这里插入图片描述

Throws和Throw的区别

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值