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等等 ...
 
随机推荐
- Docker重要容器命令
			
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 容器重要命令 启动守护式容器 docker run -d 镜像 docker run -d image [command][arg...] 使用c ...
 - [源码解析] TensorFlow 分布式环境(6) --- Master 动态逻辑
			
[源码解析] TensorFlow 分布式环境(6) --- Master 动态逻辑 目录 [源码解析] TensorFlow 分布式环境(6) --- Master 动态逻辑 1. GrpcSess ...
 - Mac安装和配置Maven 及其第二次启动报错问题解决
			
1.下载安装 下载地址: https://maven.apache.org/download.cgi 下载后解压下来重名名为ApacheMaven,并放入到/usr/local/下 2.配置环境变 ...
 - BeanFactory和ApplicationContext有什么区别?
			
BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器.其中ApplicationContext是BeanFactory的子接口. (1 ...
 - char型变量中能不能存贮一个中文汉字?为什么?
			
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么 ...
 - Java 中你怎样唤醒一个阻塞的线程?
			
在 Java 发展史上曾经使用 suspend().resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题. 解决方案可以使用以对象为目标的阻塞,即利用 Object ...
 - Elasticsearch 在部署时,对 Linux 的设置有哪些优化方  法?
			
1.64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的. 少于 8 GB 会适得其反. 2.如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好. ...
 - mybatis源码之我见
			
以前一直想看mybatis的源代码,但是一直没找到入口(傻),最近看教程,有些感悟. 和起以前一样,关键代码我会用红色标记. 首先,先贴下我的dao和mapper,代码很简单,和平时写的hello w ...
 - Docker最常用的镜像命令和容器命令
			
一.镜像相关命令 官方文档:https://docs.docker.com/referenc 1.1查看镜像 [root@localhost ~]# docker images REPOSITORY ...
 - MySQL碎片整理小节--实例演示
			
MYSQL之磁盘碎片整理 清澈,细流涓涓的爱 数据库引擎以InnoDB为主 1.磁盘碎片是什么  InnoDB表的数据存储在页中,每个页可以存放多条记录,这些记录以树形结构组织,这棵树称为B+树. ...