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 生产消息是毫不费力的( ...
随机推荐
- 盒马新零售基于DataWorks搭建数据中台的实践
大家好,我叫许日花名欢伯,在2016年盒马早期的时候,我就转到了盒马的事业部作为在线数据平台的研发负责人,现在阿里云的计算平台负责DataWorks的建模引擎团队.今天的分享内容也来源于另一位嘉宾李启 ...
- 云效Codeup代码评审中的代码协同
简介: 云效 Codeup 汇集了阿里巴巴最新的代码托管.代码协同技术,希望能够造福更多中国和世界的开发者. 大神说:"Show me the code",于是就有了代码评审. & ...
- 参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!
简介: 一说到参与开源项目贡献,一般大家的反应都是代码级别的贡献,总觉得我的代码被社区合并了,我才算一个贡献者,这是一个常见的错误认知.其实,在一个开源社区中有非常多的角色是 non-code con ...
- [FAQ] MetaMask ALERT: 交易出错. 合约代码执行异常.
首先确认载入的合约地址是否是最新的,比如 web3 载入的 abi 格式的 json 文件名 正不正确. 其次需要检查合约逻辑是否都正确,以及是否是合约抛出的错误,这两点最好是通过写测试用例来保证. ...
- ASP.NET Core 浅析环境变量与配置的优先级
本文将简单介绍在 dotnet 6 下的 ASP.NET Core 里的环境变量当成配置的优先级行为.这部分内容在官方文档都有提到,只是我开始粗心没有看仔细,而踩到了坑,特意写篇博客记录一下 在 AS ...
- 16.prometheus监控总结
一.监控流程总结 1.需要在被监控的服务器上安装xx_exporter来收集数据(可以是源码安装,最好用docker.docker-compose) 2.添加Prometheus配置,去收集(xx_e ...
- K8s控制器---Statefulset(11)
一.Statefulset概述 1.1 Statefulset控制器:概念和原理解读 StatefulSet 是为了管理有状态服务的问题而设计的 扩展: 有状态服务? StatefulSet 是有状态 ...
- LVGL 字体
一.LVGL 内置字体 LVGL有几种不同大小的内置字体,可以通过 LV_FONT_MONTSERRAT_X 定义在 lv_conf.h 中启用. 普通字体 包含所有ASCII字符,度数符号(U + ...
- 鸿蒙HarmonyOS实战-ArkUI事件(单一手势)
一.单一手势 应用程序的手势操作是指在移动设备上使用手指或手势进行与应用程序交互的方式.手势操作可以包括点击.滑动.双击.捏合等动作,用于实现不同的功能和操作. HarmonyOS中常见的手势操作及其 ...
- threejs