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

爪哇(java)复习day16-2021/10/6

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

爪哇(java)复习day16-2021/10/6

Java常用类之Date

 我们一般说的Date指的是util下的Date类:

1.java.util.Date的构造器

 

当使用Date(int year,int month,int day)构造器时,有偏差而且已经过时,不建议使用

        Date date=new Date(2021,10,6);
		System.out.println(date);
		Date date1=new Date(2021-1900,10-1,6);
		System.out.println(date1);

2.java.util.Date的getTime()方法:返回1970-01-01 00:00:00至今的时间差(单位:毫秒)--也叫作:时间戳

        Date date=new Date();
		System.out.println(date.getTime());

3.java.util.Date的toString()方法:

        Date date=new Date();
		System.out.println(date.getTime());
		System.out.println(date.toString());

  

4.java.sql.Date的构造器

		java.sql.Date date=new java.sql.Date(System.currentTimeMillis());
		System.out.println(date.toString());

 

 5.java.util.Date转化成java.sql.Date

        Date date=new Date();
		java.sql.Date sqlDate=new java.sql.Date(date.getTime());
Java常用类之Calendar

 首先Calendar是个抽象类,所以没有办法实例化

①使用它的直接子类-->GregorianCalendar

②使用它的getInstance()方法返回一个GregorianCalendar的实例

具体使用:

        Calendar calendar=Calendar.getInstance(); //获取GregorianCalendar的实例
			
		System.out.println(calendar.get(Calendar.DAY_OF_WEEK)-1);//返回星期,星期是从1开始,          即周日是1
		
		System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//返回当前月份的号数
		
		System.out.println(calendar.get(Calendar.MONTH)+1);//返回月份,一月份为0
		
		System.out.println(calendar.get(Calendar.YEAR)); //返回年份
		
		System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//返回从1月1号至现在的天数
		
		System.out.println("********************************");
		
		//add()方法
		calendar.add(calendar.get(Calendar.DAY_OF_MONTH), 1); //当前号数加1
		System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
		calendar.add(calendar.get(Calendar.YEAR), -1);
		System.out.println(calendar.get(Calendar.YEAR));//当前号数减1
        Calendar cl=Calendar.getInstance();
		//getTime():获取当前的时间
		System.out.println(cl.getTime());
		//setTime():设置时间
		cl.set(2000,1-1,21 );
		System.out.println(cl.getTime());

注意细节:

①星期天是1,星期一是2,....,星期六是7

②一月份是0,二月份是1,.....,十二月份是11

Java常用类之SimpleDateFormat 
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		Date date=new Date();
		String time=format.format(date);  //format():格式化
		System.out.println(time);
		Date d=format.parse(time);  //parse():解析
		System.out.println(d);

Java常用类之Instant

Instant是java8中的新特性,类似于java.util.Date类

        //实例化
		Instant ins=Instant.now();
		System.out.println(ins);  //返回的是格林威治时间
		
		OffsetDateTime time=ins.atOffset(ZoneOffset.ofHours(8)); //返回东8区的时间也就是北京时间
		System.out.println(time);
		
		System.out.println(ins.toEpochMilli()); //返回1970-01-01 00:00:00至今的毫秒数

Java常用类之LocaDate、LocalTime、LocalDateTime

优点:①不可变性②不偏移③线程安全

        //实例化
		LocalDate date=LocalDate.now();
		System.out.println(date);
		LocalTime time=LocalTime.now();
		System.out.println(time);
		LocalDateTime dateTime=LocalDateTime.now();
		System.out.println(dateTime);
		System.out.println("************************************");
		//of:设置时间
		LocalDateTime dateTime1=dateTime.of(2022, 10, 1, 1, 21, 59); //设置时间,具有不可变性
		System.out.println(dateTime);
		System.out.println(dateTime1);
		System.out.println("************************************");
		//getXxx:获取属性
		System.out.println(dateTime.getYear());
		System.out.println(dateTime.getMonth());
		System.out.println(dateTime.getDayOfMonth());
		System.out.println("************************************");
		//plusXxx:增加
		LocalDateTime dateTime2=dateTime.plusMonths(1);
		System.out.println(dateTime.getMonth());
		System.out.println(dateTime2.getMonth());
		System.out.println(dateTime.getMonthValue());
		System.out.println(dateTime2.getMonthValue());
		System.out.println("************************************");
		//minusXxx:减
		LocalDateTime dateTime3=dateTime.minusDays(6);
		System.out.println(dateTime.getDayOfMonth());
		System.out.println(dateTime3.getDayOfMonth());

Comparable接口和Comparator类

作用:使对象具有可比较性

说明:

1.String、包装类实现了Comparable接口,实现了compareTo方法,进行自然排序(从小到大)

2.compareTo(Object obj)实现的规则:

        ①this.对象>obj.对象,返回正整数

        ②this.对象

        ③this.对象=obj.对象,返回0

3.自定义类实现Comparable接口,可在compareTo方法中自定义排序规则

import org.junit.Test;


public class DateTest {
	
	@Test
	public void test1() throws ParseException {
		Person [] arr=new Person[5];
		arr[0]=new Person("小王",18);
		arr[1]=new Person("小黄",17);
		arr[2]=new Person("小付",18);
		arr[3]=new Person("小瞿",21);
		arr[4]=new Person("小何",22);
		Arrays.sort(arr);
		for(int i=0;ip.age) {
				return 1;
			}else if(this.age 
public class DateTest {
	@Test
	public void test1() throws ParseException {
		Person [] arr=new Person[5];
		arr[0]=new Person("小王",18);
		arr[1]=new Person("小黄",17);
		arr[2]=new Person("小付",18);
		arr[3]=new Person("小瞿",21);
		arr[4]=new Person("小何",22);
		Arrays.sort(arr,new Comparator() {

			@Override
			public int compare(Object o1, Object o2) {
				if(o1 instanceof Person && o2 instanceof Person) {
					Person p1=(Person)o1;
					Person p2=(Person)o2;
					if(p1.getAge()>p2.getAge()) {
						return -1;
					}else if(p1.getAge() 
大数操作之BigInteger、BigDecimal 

Java高新技术——大数操作(BigInteger、BigDecimal)_李春春的专栏-CSDN博客_biginteger

@Test
	public void test1() throws ParseException {
		BigInteger big1=new BigInteger("865432865432");
		BigInteger big2=new BigInteger("765434765432");
		System.out.println("BigInteger加法:"+big1.add(big2));
		System.out.println("BigInteger减法:"+big1.subtract(big2));
		System.out.println("BigInteger乘法:"+big1.multiply(big2));
		System.out.println("BigInteger除法:"+big1.divide(big2));
		BigInteger[] b= big1.divideAndRemainder(big2);
		System.out.println("BigInteger取余的商:"+b[0]+"t余数:"+b[1]);
	}
public class DateTest {
	
		@Test
		public void test1() {
			System.out.println("BigDecimal的加法:"+MyMath.round(MyMath.add(10.25, 3.33), 1));
			System.out.println("BigDecimal的减法:"+MyMath.round(MyMath.sub(10.25, 3.33), 2));
			System.out.println("BigDecimal的乘法:"+MyMath.round(MyMath.mul(10.25, 3.33), 3));
			System.out.println("BigDecimal的除法:"+MyMath.div(10.25, 3.33,4));
		}
}
class MyMath{
	public static  double add(double d1,double d2) {
		BigDecimal b1=new BigDecimal(d1);
		BigDecimal b2=new BigDecimal(d2);
		return b1.add(b2).doublevalue();
	}
	public static double sub(double d1,double d2) {
		BigDecimal b1=new BigDecimal(d1);
		BigDecimal b2=new BigDecimal(d2);
		return b1.subtract(b2).doublevalue();
	}
	public static double div(double d1,double d2,int len) {
		BigDecimal b1=new BigDecimal(d1);
		BigDecimal b2=new BigDecimal(d2);
		return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doublevalue();
	}
	public static double mul(double d1,double d2) {
		BigDecimal b1=new BigDecimal(d1);
		BigDecimal b2=new BigDecimal(d2);
		return  b1.multiply(b2).doublevalue();
	}
	public static double round(double d,int len) { //四舍五入
		BigDecimal b=new BigDecimal(d);
		BigDecimal b1=new BigDecimal(1);
		return b.divide(b1, len, BigDecimal.ROUND_HALF_UP).doublevalue();
	}
}
public class DateTest {
	public static void main(String[] args) {
		//多组输入
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String len;
		try {
			while((len=br.readLine())!=null) {  // 7*16+10*1 112+10
				String str=len.substring(2);
				Integer i=Integer.parseInt(str, 16);
				System.out.println(i);
			}
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
}
//多组输入
		BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
		BigDecimal base=new BigDecimal("16");
		String len;
		try {
			while((len=buf.readLine())!=null){
				String str=len.substring(2);
				BigDecimal big=new BigDecimal("0");
				for(int i=0;i=ch) {
						BigDecimal b1=base.pow(i).multiply(new BigDecimal(Integer.toString(ch-'A'+10)));
						big=big.add(b1);
					}else {
						BigDecimal b2=base.pow(i).multiply(new BigDecimal(Character.toString(ch)));
						big=big.add(b2);
					}
				}
				System.out.println(big);
			}
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}

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

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

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