work11
1,简述String类中的equals方法与Object类中的equals方法的不同点。
/*
Object 类
1,它是所有类的一个根类
2,其他类默认继承Object类
常用方法:
1,toString();
在实际的开发中,我们一般来重写 toString(),之后用来显示属性的值
2,equals()
默认比较的是地址
在实际的开发中,我们一般来重写 equals,之后用来比较对象的内容是否相等
1,包路径 2,创建对象
*/
2,编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几;
package com.hp.Test10; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner; public class Dome04 {
public static void main(String[] args) throws ParseException {
System.out.println("请输入第一个日期(yyyy-mm-dd)");
Scanner c =new Scanner(System.in);
String str=c.nextLine();
System.out.println("请输入第二个日期(yyyy-mm-dd)");
String str1=c.nextLine();
//把字符串类型解析为Date类型
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date d= sd.parse(str);
Date d1=sd.parse(str1);
long l =0;
if(d.after(d1)){
l =d.getTime()-d1.getTime();
}else{
l=d1.getTime()-d.getTime();
}
long a = 1000*60*60*24;//一天的时间
long day = l/a;
long week = day/7; System.out.println("两个日期相隔"+day+"天");
System.out.println("相隔"+week+"周");
}
}
3,计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。
package com.hp.Test10; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner; public class Dome03 {
public static void main(String[] args) {
// Scanner sc=new Scanner(System.in);
// System.out.println("请输入日期:");
// String str = sc.next();
// SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
// Date date=null;
Scanner sc = new Scanner(System.in);
System.out.println("请输入日期:");
String str = sc.nextLine(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sdf.parse(str);
} catch (ParseException e) {
e.printStackTrace();
} //把Date类型转为Calendar类型
Calendar c = Calendar.getInstance();
c.setTime(date); //提取年月日
int year = c.get(Calendar.YEAR); GregorianCalendar gc = new GregorianCalendar();
if(gc.isLeapYear(year)){
System.out.println(year+"是闰年");
}else{
System.out.println(year+"不是闰年");
} //获得月字段天数的最大值
int day = c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("该月有"+day+"天"); //获得周几
int i = c.get(Calendar.DAY_OF_WEEK) - 1; String week = "";
try {
week = pipei(i);
} catch (Exception e) {
e.printStackTrace();
} System.out.println("今天是周"+week); } public static String pipei(int i) throws Exception {
String s = "";
switch (i) {
case 0:
s = "日";
break;
case 1:
s = "一";
break;
case 2:
s = "二";
break;
case 3:
s = "三";
break;
case 4:
s = "四";
break;
case 5:
s = "五";
break;
case 6:
s = "六";
break;
default: }
return s;
} }
4,简述StringBuilder类与string类的区别
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。 StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值,当修改 StringBuilder 时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。可以使用重载的构造函数之一来指定 StringBuilder 类的容量。 总结后大概为这3点: string 对象是恒定不变的,stringBuider对象表示的字符串是可变的。stringBuilder是.net提供的动态创建string的高效方式,以克服string对象恒定性带来的性能影响。 对于简单的字符串连接操作,在性能上stringBuilder并不一定总是优于string。因为stringBuider对象创建代价较大,在字符串目标连接较少的情况下,过度滥用stringBuilder会导致性能的浪费,只有大量的或者无法预知次数的字符串操作,才考虑stringBuilder来实现。
当修改字符串信息时,此时不许创建对象,可以使用stringBuilder对象。
5,计算自己出生了多少天?
String str= "1999-7-23 00-00-00";
SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd");
//把字符串转换成日期
Date d = time.parse(str); //通过该日期得到毫秒值
long mytime = d.getTime();
//获取当前时间的毫秒值
long newtime = System.currentTimeMillis();
//用当前时间减去出生时间
long datetime = newtime-mytime;
//转换为天数
long day = datetime/1000/60/60/24;
//输出
System.out.print(day);
}
6,求一个for循环 执行时间?
String str= "1999-7-23 00-00-00";
SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd");
//把字符串转换成日期
Date d = time.parse(str); //通过该日期得到毫秒值
long mytime = d.getTime();
//获取当前时间的毫秒值
long newtime = System.currentTimeMillis();
//用当前时间减去出生时间
long datetime = newtime-mytime;
//转换为天数
long day = datetime/1000/60/60/24;
//输出
System.out.print(day);
}
work11的更多相关文章
- java学习笔记(详细)
java平台 1.J2SE java开发平台标准版 2.J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序.不同系统上要安装对应的虚 ...
- BUCT20180814邀请赛 Solution
A:SUM 水. #include<bits/stdc++.h> using namespace std; #define N 100010 typedef long long ll; i ...
- 3、RabbitMQ-work queues 工作队列
work queues 工作队列 1.模型图: 为什么会出现 work queues? 前提:使用 simple 队列的时候 我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的( ...
随机推荐
- 阿里 BladeDISC 深度学习编译器正式开源
简介:随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对计算框架的持续迭代.深度编译器就成 ...
- Cloudera Manager 术语和架构
简介: 本文介绍了Cloudera Manager 的常见术语和架构 Cloudera Manager 术语 为了有效地使用Cloudera Manager,您应该首先了解其术语. 术语之间的关系如 ...
- 基于MaxCompute+开放搜索的电商、零售行业搜索开发实践
简介: 搜索一直是电商行业流量来源的核心入口之一,如何搭建电商行业搜索并提升搜索效果,一直是电商行业开发者努力攻克的难题.基于传统数据库或开源引擎虽然能够搭建基础搜索服务,但随着商品数据的增多和业务 ...
- RAG 工具和框架介绍: Haystack、 LangChain 和 LlamaIndex
Haystack. LangChain 和 LlamaIndex,以及这些工具是如何让我们轻松地构建 RAG 应用程序的? 我们将重点关注以下内容: Haystack LangChain LlamaI ...
- 开源相机管理库Aravis例程学习(四)——multiple-acquisition-signal
目录 简介 例程代码 函数说明 g_main_loop_new g_main_loop_run g_main_loop_quit g_signal_connect arv_stream_set_emi ...
- SAP集成技术(五)集成风格
上一节介绍了各种集成架构,这一节将介绍各种集成风格(Style).我们在日常工作中使用这些集成风格来分类不同类型的集成场景.本文将遵循SAP的集成解决方案咨询方法(ISA - M)使用的方法,将集成风 ...
- 八、Dataphin
Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采.建.管.用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠.消费便捷.生产安全经济的 ...
- 六:大数据架构 - Flink + AI
Flink 在AI 中的价值其实和大数据Lambda架构中流批统一这两个概念有关系,Flink为大数据实时化带来的价值也将同样使AI受益 大数据的发展过程 从Google奠基性的"三架马车& ...
- HTTP 报文详解
报文的语法 所有的 HTTP 报文都可以分为两类:请求报文和响应报文.请求报文会向 Web 服务器请求一个动作,响应报文会将请求的结果返回给客户端.请求和响应报文的基本报文结构相同 请求报文的格式: ...
- SQL Server实战七:自定义数据类型、标量值、内嵌表值、多语句表值函数的操作
本文介绍基于Microsoft SQL Server软件,实现数据库用户自定义数据类型的创建.使用与删除,以及标量值.内嵌表值.多语句表值函数等用户定义函数的创建.使用.删除方法. 目录 1 用S ...