Java语言学习day32--8月07日
###07正则表达式邮箱地址验证
* A: 正则表达式邮箱地址验证
* a: 案例代码
public class RegexDemo2 {
public static void main(String[] args) {
checkMail();
}
/*
* 检查邮件地址是否合法
* 规则:
* 1234567@qq.com
* mym_ail@sina.com
* nimail@163.com
* wodemail@yahoo.com.cn
*
* @: 前 数字字母_ 个数不能少于1个
* @: 后 数字字母 个数不能少于1个
* .: 后面 字母
*
*/
public static void checkMail(){
String email ="abc123@sina.com";
boolean b = email.matches("[a-zA-Z0-9_]+@[0-9a-z]+(\\.[a-z]+)+");
System.out.println(b);
}
}
###08毫秒值概念
* A: 毫秒值概念
* a: 时间和日期类
* java.util.Date
* b: 毫秒概念
* 1000毫秒=1秒
* c: 毫秒的0点
* System.currentTimeMillis() 返回值long类型参数
* 获取当前日期的毫秒值 3742769374405
* 时间原点; 公元1970年1月1日,午夜0:00:00 英国格林威治 毫秒值就是0
* 时间2088年8月8日
* 时间和日期的计算,必须依赖毫秒值
###09Date类的构造方法
* A: Date类的构造方法
* a: 空参构造
* public Date()
* b: 带参构造
* public Date(long times)
###10Date类的get和set方法
* A:Date类的get和set方法
* public long getTime()
* 将当前的日期对象,转为对应的毫秒值
* public void setTime(long times);
* 根据给定的毫秒值,生成对应的日期对象
###11日期格式化SimpleDateFormat
* A: 日期格式化SimpleDateFormat
* a: 对日期进行格式化(自定义)
* 对日期格式化的类 java.text.DateFormat 抽象类, 普通方法,也有抽象的方法
* 实际使用是子类 java.text.SimpleDateFormat 可以使用父类普通方法,重写了抽象方法
* b: 对日期进行格式化的步骤
* 1: 创建SimpleDateFormat对象
* 在类构造方法中,写入字符串的日期格式 (自己定义)
* 2: SimpleDateFormat调用方法format对日期进行格式化
* public String format(Date date) 传递日期对象,返回字符串
* 日期模式:
* yyyy 年份
* MM 月份
* dd 月中的天数
* HH 0-23小时
* mm 小时中的分钟
* ss 秒
* yyyy年MM月dd日 HH点mm分钟ss秒 汉字修改,: - 字母表示的每个字段不可以随便写
###12字符串转成日期对象
* A: 字符串转成日期对象
* a: 使用步骤
* 1: 创建SimpleDateFormat的对象
* 构造方法中,指定日期模式
* 2: 子类对象,调用方法 parse 传递String,返回Date
* 注意: 时间和日期的模式yyyy-MM-dd, 必须和字符串中的时间日期匹配
###13Calendar类_1
* A: Calendar类_1
* a: 日历类(抽象类)
* java.util.Calendar
* b: 创建对象
* Calendar类写了静态方法 getInstance() 直接返回了子类的对象
* 不需要直接new子类的对象,通过静态方法直接获取
###14Calendar类_2
* A: Calendar类_2
* a: 成员方法
* getTime() 把日历对象,转成Date日期对象
* get(日历字段) 获取指定日历字段的值
* b: 代码演示
Calendar c = Calendar.getInstance();
// 获取年份
int year = c.get(Calendar.YEAR);
// 获取月份
int month = c.get(Calendar.MONTH) + 1;
// 获取天数
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日");
###15Calendar类_3
* A: Calendar类_3
* a: 成员方法
* set(int field,int value) 设置指定的时间
* b: 代码演示
/*
* Calendar类的set方法 设置日历 set(int field,int value) field 设置的是哪个日历字段 value
* 设置后的具体数值
*
* set(int year,int month,int day) 传递3个整数的年,月,日
*/
public static void function_1() {
Calendar c = Calendar.getInstance();
// 设置,月份,设置到10月分
// c.set(Calendar.MONTH, 9);
// 设置年,月,日
c.set(2099, 4, 1);
// 获取年份
int year = c.get(Calendar.YEAR);
// 获取月份
int month = c.get(Calendar.MONTH) + 1;
// 获取天数
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日");
}
###16Calendar类_4
* A: Calendar类_4
* a: 成员方法
* add(int field, int value) 进行整数的偏移
* int get(int field) 获取指定字段的值
* b: 案例演示
/*
* Calendar类方法add 日历的偏移量,
* 可以指定一个日历中的字段,
* 进行整数的偏移 add(int field, int value)
*/
public static void function_2() {
Calendar c = Calendar.getInstance();
// 让日历中的天数,向后偏移280天
c.add(Calendar.DAY_OF_MONTH, -280);
// 获取年份
int year = c.get(Calendar.YEAR);
// 获取月份
int month = c.get(Calendar.MONTH) + 1;
// 获取天数
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日");
}
###17日期练习_活了多少天
* A: 日期练习_活了多少天
* a: 案例代码
/*
* 计算活了多少天
* 生日 今天的日期
* 两个日期变成毫秒值,减法
*/
public static void function() throws Exception {
System.out.println("请输入出生日期 格式 YYYY-MM-dd");
//获取出生日期,键盘输入
String birthdayString = new Scanner(System.in).next();
//将字符串日期,转成Date对象
//创建SimpleDateFormat对象,写日期模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//调用方法parse,字符串转成日期对象
Date birthdayDate = sdf.parse(birthdayString);
//获取今天的日期对象
Date todayDate = new Date();
//将两个日期转成毫秒值,Date类的方法getTime
long birthdaySecond = birthdayDate.getTime();
long todaySecond = todayDate.getTime();
long secone = todaySecond-birthdaySecond;
if(secone < 0){
System.out.println("还没出生呢");
}
else{
System.out.println(secone/1000/60/60/24);
}
}
###18日期练习_闰年计算
* A: 日期练习_闰年计算
* a: 案例代码
/*
* 闰年计算
* 2000 3000
* 高级的算法: 日历设置到指定年份的3月1日,add向前偏移1天,获取天数,29闰年
*/
public static void function_1(){
Calendar c = Calendar.getInstance();
//将日历,设置到指定年的3月1日
c.set(2088, 2, 1);
//日历add方法,向前偏移1天
c.add(Calendar.DAY_OF_MONTH, -1);
//get方法获取天数
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
Java语言学习day32--8月07日的更多相关文章
- Java语言学习day01--6月28日
Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...
- Java语言学习day02--6月29日
Java语言学习day02###01常用的DOS命令 * A: 常用的DOS命令 * a: 打开Dos控制台 * win+r--cmd--回车 * b: 常用dos命令 * cd.. : 退回到上一级 ...
- Java Calendar获取年、月、日、时间
Java Calendar获取年.月.日.时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00" ...
- Java语言学习day33--8月8日
今日内容介绍1.基本类型包装类2.System类3.Math类4.Arrays类5.大数据运算 ###01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实 ...
- Java语言学习day15--7月21日
今日内容介绍1.Eclipse开发工具2.超市库存管理系统 ###01Eclipse的下载安装 * A: Eclipse的下载安装 * a: 下载 * http://www.eclipse.org ...
- Java语言学习总结 扩展篇 DateFormat类
DateFormat类 java.text .DateFormat 是 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换:也就是可以在Date对象与String对象之间进 ...
- 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦
前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...
- python学习 day21 (3月28日)----(抽象类 多态 nametuple dump)
不要因为走的路太久了,而忘记了为了什么而出发. 提前作准备了吗?把思维导图的东西做了吗? 和工作了几年的人,相比,是不是相同的水平,如果要写简历的话. 一边学习,一边复习. 小就是大,少就是多. 1. ...
- python学习 day1 (3月1日)
01 cpu 内存 硬盘 操作系统 CPU:中央处理器,相当于人大脑. 飞机 内存:临时存储数据. 8g,16g, 高铁 1,成本高. 2,断电即消失. 硬盘:长期存储大量的数据. 1T 512G等等 ...
随机推荐
- windows安装oos遇到的坑 (汇总)
一.环境安装 -- 搭建域控服务器 1. 打开服务器管理器,添加角色和功能: 2.下一步: 3.下一步: 4.下一步 5.选择添加AD域服务,同时添加所需功能,下一步: 6.安装功能,下一步: 7. ...
- 论文解读(VGAE)《Variational Graph Auto-Encoders》
Paper Information Title:Variational Graph Auto-EncodersAuthors:Thomas Kipf, M. WellingSoures:2016, A ...
- KCP协议:从TCP到UDP家族QUIC/KCP/ENET
行文前先安利下<再深谈TCP/IP三步握手&四步挥手原理及衍生问题-长文解剖IP >.<再谈UDP协议-浅入理解深度记忆> KCP协议科普 KCP是一个快速可靠协议,能 ...
- 关于“TypeError: Assignment to constant variable”的问题解决方案
在项目开发过程中,在使用变量声明时,如果不注意,可能会造成类型错误比如: Uncaught (in promise) TypeError: Assignment to constant variabl ...
- vue自定义指令?
除核心指令之外的指令, 使用directive进行注册. 指令自定义钩子函数: bind, inserted, update, componentUpdated, unbind
- React优点?
声明式, 组件化, 一次学习, 随处编写. 灵活, 丰富, 轻巧, 高效
- 学习Haproxy (七)
haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 ? 1 2 3 4 5 6 7 8 ...
- BootstrapBlazor 智能生成神器(一)AutoGenerateColumnAttribute 特性介绍
原文连接:https://www.cnblogs.com/ysmc/p/16074645.html BootstrapBlazor 官网地址:https://www.blazor.zone 介绍 Bo ...
- String工具类之“前缀比较”StringUtils.startsWith和StringUtils.startsWithIgnoreCase
(1)字符串以prefix为前缀(区分大小写) StringUtils.startsWith(被比较的字符串,比较字符串) 总结: 根据下面代码发现,上面的例子有部分时错误的,有可能是因为思维原因,他 ...
- Altium design16设计技巧
第一栏:共有界面 1.在原理图和PCB都打开的情况下,选中原理图可以对应到PCB界面元件里面 第二栏:原理图界面 1.批量改变元件属性 选择某一元件-查找相似对象-将其要改变的内容设置为same-点击 ...