java实训2024/01/26——常用类

本文介绍了Java中的核心类库如java.lang,java.util,java.io和java.net,以及对象比较、包装类(如Integer和BigDecimal)、字符串操作、日期时间处理(如Date,SimpleDateFormat,Calendar,LocalDate,LocalTime和LocalDateTime)等内容。
摘要由CSDN通过智能技术生成

常用的包

java.lang:java核心类库,虚拟机会自动导入

java.util:java语言的工具包,提供了大量工具类以及集合类

java.io:j ava语言的输入输出包,提供了大量读写文件相关的类

java.net:java语言中的网络包,提供了与网络编程有关的类

Object

/**
 * Class {@code Object} is the root of the class hierarchy.
 * Every class has {@code Object} as a superclass. All objects,
 * including arrays, implement the methods of this class.
 *
 * @author  unascribed
 * @see     java.lang.Class
 * @since   JDK1.0
 *
package com.java.object01;

public class Student {
    private String name;
    private int id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Student(String name, int id) {
        this.name = name;
        this.id = id;
    }

    public Student() {
    }

    @Override
    public boolean equals(Object o){
        //Student student = (Student)o;
        if(this.getId() == ((Student)o).getId()){
            return true;
        }else
        {
            return false;
        }

    }
    /*
    @Override
    public boolean equals(Object o){
        //若两个对象是同一地址则相等
        if(this == o){
            return true;
        }
        //对象o为空不等
        if(null == o){
            return false;
        }
        if(o instanceof Student){
            Student student = (Student)o;
            //名字相等且id相等则可以认为相等
            if(student.getName() == this.getName() && student.getId() == this.getId() ){
                return true;
            }
        }
        return false;

    }*/

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", id=" + id +
                '}';
    }
}
package com.java.object01;

public class StudentTest {
    public static void main(String[] args) {
        Student student1 = new Student("张三",1001);
        Student student2 = new Student("张三",1001);
        //equals默认比较两个对象的地址,比较内容时需要重写方法
        System.out.println(student1.equals(student2));//true(重写equals方法)
        //== 基本数据类型比较的是数值大小;引用数据类型比较的是引用地址
        System.out.println(student1 == student2);//false
        /*(未重写toString方法)
        //Object中的toString方法默认打印类名+@+此对象哈希码无符号十六进制
        System.out.println(student1);//com.java.object01.Student@1540e19d
        System.out.println(student1.toString() );//com.java.object01.Student@1540e19d
         */
        System.out.println(student1);//Student{name='张三', id=1001}

    }
}

 包装类

概念:通常情况下基本数据类型的变量不是对象,而包装类可以将基本数据类型的变量打包封装处理成对象。

常用包装类

int->java.lang.Integer

char->java.lang.Character

long->java.lang.Long//其他基本数据类型类似

Integer类:提供多个方法,能在int和String类型之间相互转换。

常用方法

package com.java.integer;

public class IntegerDemo1 {
    public static void main(String[] args) {
        Integer it1 = new Integer(96378);
        System.out.println("it1:" + it1);
        //将Integer类型的对象转变为int数值,叫做手动拆箱
        int i = it1.intValue();
        System.out.println("i:" + i);
        System.out.println("-------将int数值转变为Integer类型的对象,叫做手动装箱------");
        //将int数值转变为Integer类型的对象,叫做手动装箱
        Integer.valueOf(i);
        System.out.println(i);
        System.out.println("----------------------------------------------------");
        Integer it2 = new Integer("1838849");//String类型只能填写数值
        System.out.println("it2:" + it2);
        System.out.println("----------------自动拆箱与装箱(数字)---------------------");
        //自动拆箱与装箱(数字)
        Integer integer = 12;
        int it =integer;
        System.out.println(integer);
        System.out.println(it);
        System.out.println("-----------自动拆箱与装箱(字符串)------------------");
        //自动拆箱与装箱(字符串)
        int i2 = Integer.parseInt("983");
        System.out.println(i2);

    }
}

数学处理类

package com.java.object01;

import java.math.BigDecimal;

public class BigdecimalTest01 {
    public static void main(String[] args) {
        double d1 = 0.1 + 0.2;
        System.out.println(d1);
        System.out.println("---------------------------");
        BigDecimal b1 = new BigDecimal("0.1");
        BigDecimal b2 = new BigDecimal("0.2");
        System.out.println(b1.add(b2));//精确到0。3
        System.out.println(b1.subtract(b2));//-0.1
        System.out.println(b1.multiply(b2));//0.02
        System.out.println(b1.divide(b2));//0.5,除不尽会报错
        System.out.println(b1.divide(b2,BigDecimal.ROUND_HALF_UP ));//0.5,向接近的数字舍入,四舍五入

    }
}

String类

package com.java.string;

public class StringDemo1 {
    public static void main(String[] args) {
        String str1 = "abc";//常量池
        String str2 = "123";//常量池
        System.out.println(str1 == str2);//false

        String str3 = "abc";//常量池
        System.out.println(str1 == str3);//true,常量池中已有”abc“,则str3和str1指向同一地址空间

        String str4 = new String("abc");//堆中
        System.out.println(str1 == str4);//false

        String str5 = new String("abc");//堆中
        System.out.println(str4 == str5);//false


    }
}
package com.java.string;

public class StringDemo2 {
    /**
     * String的常用方法
     * @param args
     */
    public static void main(String[] args) {
        String str = new String("   Hello World ! My name is gbx    ");
        System.out.println(str.charAt(4));
        System.out.println("字符串长度:" + str.length());
        System.out.println(str.contains("my"));//false
        System.out.println(str.toUpperCase());
        System.out.println(str.toLowerCase());
        System.out.println(str.trim());
        System.out.println(str.startsWith("Hello"));//false
        System.out.println(str.endsWith("gbx"));//false


    }
}

StringBuilder 和StringBuffer类

package com.java.string;

public class StringBuilderDemo {
    /**
     * StringBuilder的常用方法
     * @param args
     */
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder("abc");
        stringBuilder.append("defabcdef");
        System.out.println(stringBuilder);//abcdefabcdef
        stringBuilder.deleteCharAt(0);
        System.out.println(stringBuilder);//bcdefabcdef
        stringBuilder.delete(0,3);
        System.out.println(stringBuilder);//efabcdef
        stringBuilder.replace(0,3,"abc");
        System.out.println(stringBuilder);
        stringBuilder.reverse();//abcbcdef
        System.out.println(stringBuilder);//fedcbcba
        System.out.println(stringBuilder.indexOf("abc"));//-1
        System.out.println(stringBuilder.indexOf("bc"));//4
        stringBuilder.insert(0,"abc");
        System.out.println(stringBuilder);//abcfedcbcba

    }

}

日期类

Date类

package com.java.date;

import java.util.Date;

public class DateDemo {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        Date date1 = new Date(10000);
        System.out.println(date1);//Thu Jan 01 08:00:10 CST 1970
        System.out.println(date1.getTime());;//10000
        date1.setTime(1000);
        System.out.println(date1);//Thu Jan 01 08:00:01 CST 1970
    }
}

 SimpleDateFormat

package com.java.date;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
    /**
     * 类SimpleDateFormat:将日期以指定格式输出
     * @param args
     */
    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//HH时24小时制,hh时12小时制
        String format = simpleDateFormat.format(new Date());
        System.out.println(format);
    }
}

Calendar类

package com.java.date;

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

public class CalendarDemo {
    /**
     * calendar代表系统当前时间的日历对象,可以单独修改、获取时间中的年月日
     * calendar是一个抽象类,不能直接创建对象
     * @param args
     */
    public static void main(String[] args) {
        //1.获取日历对象 public static Calendar getInstance()
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);
        //2.public final Date getTime()  获取日期对象
        System.out.println("---------------获取日期对象---------------");
        Date date = calendar.getTime();
        System.out.println(date);
        //3.public final setTime(Date date)  给日历设置日期对象
        System.out.println("---------------设置日期对象---------------");
        Date date1 = new Date(0L);
        calendar.setTime(date1);
        System.out.println(calendar.get(1)+", "+(calendar.get(2)+1)+", "+calendar.get(5));
        //4.public void setTimeMills(long mills)给日历设置时间毫秒值
        System.out.println("--------------设置时间毫秒值--------------");
        calendar.setTimeInMillis(0L);
        System.out.println(calendar.get(1)+", "+(calendar.get(2)+1)+", "+calendar.get(5));

        //5.public long getTimeMills()拿到时间毫秒值
        calendar = Calendar.getInstance();
        System.out.println("--------------得到时间毫秒值--------------");
        System.out.println(calendar.getTimeInMillis());

        //6.public int get(int field)取日期中的某个字段信息
        //0 纪元 1 年YEAR 2 月MONTH 5 日DAY_OF_MONTH
        System.out.println("--------------获取字段信息--------------");
        calendar = Calendar.getInstance();
        System.out.println("年份:" + calendar.get(Calendar.YEAR));// 2024
        System.out.println("月份:" + calendar.get(Calendar.MONTH)+1);// 1
        System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH ));// 26
        System.out.println("星期:" + calendar.get(Calendar.DAY_OF_WEEK ));// 6
        //7.public int set(int field,int value)修改日期中的某个字段信息
        System.out.println("--------------修改字段信息--------------");
        calendar.set(Calendar.YEAR,2000);
        System.out.println(calendar.get(1)+", "+(calendar.get(2)+1)+", "+calendar.get(5));
        //8.public int add(int field,int amount)为某个字段增加/减少指定的值
        System.out.println("--------------某个字段增减指定值--------------");
        calendar.add(Calendar.YEAR,24);
        System.out.println(calendar.get(1)+", "+(calendar.get(2)+1)+", "+calendar.get(5));
        calendar.add(Calendar.YEAR,-45);
        System.out.println(calendar.get(1)+", "+(calendar.get(2)+1)+", "+calendar.get(5));


    }
}

LocalDate类

package com.java.date;

import java.time.LocalDate;

public class LocalDateDemo {
    /**
     * LocalDate 年月日
     * @param args
     */
    public static void main(String[] args) {
        //1.获取当前时间对象
        System.out.println("---------------获取当前日期对象---------------");
        LocalDate localDate = LocalDate.now();
        System.out.println("今天的日期 :" + localDate);

        //2.获取指定日期的时间对象
        System.out.println("---------------获取指定日期对象---------------");
        LocalDate localDate1 = LocalDate.of(2024,2,26);
        System.out.println("指定的日期localDate1 :" + localDate);


        //3.get获取属性值
        System.out.println("---------------get获取属性值----------------");
        int year = localDate.getYear();
        int month = localDate.getMonthValue() ;
        int day = localDate.getDayOfYear();
        System.out.println(year + "年" + month + "月" + day + "日");

        //4.is判断前后
        System.out.println("-----------------is判断前后-----------------");
        System.out.println(localDate.isBefore(localDate1) );


        //5.with修改年月日
        System.out.println("----------------with修改年月日----------------");
        LocalDate localDate2 = localDate1.withMonth(10);
        System.out.println("在localDate1的基础上修改月份后:" + localDate2);



        //6.minus减少年月日
        System.out.println("----------------minus减少年月日----------------");
        LocalDate minlocalDate2 = localDate1.minusMonths(10) ;
        System.out.println("在localDate1的基础上减少10个月后:" + minlocalDate2);


        //7.plus增加年月日
        System.out.println("----------------plus增加年月日----------------");
        LocalDate plusminlocalDate2 = localDate1.plusMonths(5) ;
        System.out.println("在localDate1的基础上增加5个月后:" + plusminlocalDate2);



    }
}

LocalTime类

package com.java.date;

import java.time.LocalDate;
import java.time.LocalTime;

public class LocalTimeDemo {
    /**
     * LocalTime 时分秒
     * @param args
     */
    public static void main(String[] args) {
        //1.获取当前时间对象
        System.out.println("---------------获取当前时间对象---------------");
        LocalTime localTime = LocalTime.now();
        System.out.println("当前时间:" + localTime);

        //2.获取指定的时间对象
        System.out.println("---------------获取指定时间对象---------------");
        LocalTime localTime1 = LocalTime.of(14,26,45);
        System.out.println("指定时间localTime1:" + localTime1);


        //3.get获取属性值
        System.out.println("---------------get获取属性值----------------");
        int hour = localTime.getHour();
        int minute = localTime.getMinute();
        int second = localTime.getSecond();
        System.out.println(hour + "时" + minute + "分" + second + "秒");

        //4.is判断前后
        System.out.println("-----------------is判断前后-----------------");
        System.out.println(localTime1.isBefore(localTime) );


        //5.with修改时分秒
        System.out.println("----------------with修改时分秒----------------");
        LocalTime localDate2 = localTime1.withHour(10);
        System.out.println("在localeTime1的基础上修改小时后:" + localDate2);



        //6.minus减少时分秒
        System.out.println("----------------minus减少时分秒----------------");
        LocalTime minlocalTime2 = localTime1.minusHours(10);
        System.out.println("在localeTime1的基础上减少10小时后:" + minlocalTime2);


        //7.plus增加时分秒
        System.out.println("----------------plus增加时分秒----------------");
        LocalTime pluslocalTime2 = localTime1.plusHours(2);
        System.out.println("在localeTime1的基础上增加2小时后:" + pluslocalTime2);




    }
}

LocalDateTime类

package com.java.date;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class LocalDateTimeDemo {
    /**
     * LocalDateTime 年月日时分秒
     * @param args
     */
    public static void main(String[] args) {
        //1.获取当前时间对象
        System.out.println("---------------获取当前时间对象---------------");
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("当前时间:" + localDateTime);

        //2.获取指定的时间对象
        System.out.println("---------------获取指定时间对象---------------");
        LocalDateTime localDateTime1 = LocalDateTime.of(2034,10,23,23,45,9);
        System.out.println("指定时间localDateTime1:" + localDateTime1);


        //3.get获取属性值
        System.out.println("---------------get获取属性值----------------");
        int year = localDateTime.getYear();
        int month = localDateTime.getMonthValue();
        int day = localDateTime.getDayOfMonth();
        int hour = localDateTime.getHour();
        int minute = localDateTime.getMinute();
        int second = localDateTime.getSecond();
        System.out.println(year + "年" + month + "月" + day + "日" + hour + "时" + minute + "分" + second + "秒");

        //4.is判断前后
        System.out.println("-----------------is判断前后-----------------");
        System.out.println(localDateTime1.isBefore(localDateTime) );



        //5.with修改年月日时分秒
        System.out.println("-------------with修改年月日时分秒--------------");
        LocalDateTime localDateTime2  = localDateTime1.withMonth(7);
        System.out.println("在localeDateTime1的基础上修改月份后:" + localDateTime2);



        //6.minus减少年月日时分秒
        System.out.println("-------------minus减少年月日时分秒--------------");
        LocalDateTime minlocalDateTime2 = localDateTime1.minusHours(25);
        System.out.println("在localeDateTime1的基础上减少25小时后:" + minlocalDateTime2);


        //7.plus增加年月日时分秒
        System.out.println("--------------plus增加年月日时分秒--------------");
        LocalDateTime pluslocalDateTime2 = localDateTime1.plusDays(900) ;
        System.out.println("在localeDateTime1的基础上增加900天后:" + pluslocalDateTime2);





    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值