常用的包
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);
}
}