Date类 表示一个瞬间,就是一个时刻
*
* 构造方法:
* public Date();//创建一个表示当前系统时间的Date对象
* public Date(long time);//毫秒值,距离标准时间(1970.1.1 0点0点0秒)的毫秒值
*
* 成员方法:
* long getTime();//获取当前日期对象(Date对象)距离标准时间的毫秒值
*
* 毫秒值--->Date对象:public Date(long time)
* Date对象---->毫秒值 :long getTime();
*
* 第二个类:DateFormat 但是是一个抽象类 我们选择用java提供的其子类:SimpleDateFormat
*
* 构造方法:
* public SimpleDateFormat(String pattern);//以指定的模式 创建一个日期格式化对象
* 比如: 一个Date对象你想最后打印出来格式: "2017年06月05日 10点20分15秒"
*
* 成员方法:
* public String format(Date d);//把指定的Date对象 转成一个字符串返回给你
* public Date parse(String time);//把给定String字符串解析成一个Date对象

public static void demo03() throws ParseException{
//一个Date对象你想最后打印出来格式: "2017年06月05日 10点20分15秒"
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用sdf的format方法
Date d = new Date();
String dStr = sdf.format(d);
System.out.println(dStr);

String s = "2010-06-13 10:03:10";
Date sd = sdf.parse(s);
System.out.println(sd);

public static void demo02(){
//看一下今天这个时刻 距离标准时间多少毫秒
Date d = new Date();
long l = d.getTime();
System.out.println(l);//1497401350108
}

Date:日期类,年月日时分秒
* Calendar:日历类,年月日时分秒
* 我们发现Calendar是一个抽象类,不能用
* 而且我们也不用他的子类
*
* 获取Calendar类对象的方式:
* public static Calendar getInstance();//返回一个Calendar的子类对象
* [time=1497403287679,areFieldsSet=true,areAllFieldsSet=true,
* lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
* offset=28800000,dstSavings=0,useDaylight=false,transitions=19,
* lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
* YEAR=2017,MONTH=5,WEEK_OF_YEAR=24,WEEK_OF_MONTH=3,DAY_OF_MONTH=14,
* DAY_OF_YEAR=165,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=9,
* HOUR_OF_DAY=9,MINUTE=21,SECOND=27,MILLISECOND=679,ZONE_OFFSET=28800000,
* DST_OFFSET=0]

*
* 成员方法:
* 1.int get(int field);//获取指定字段(成员变量)的值
* 2.void set(int field,int value);//把日历对象中的指定字段 改成指定的值
* 3.void add(int field,int amount);//把日历对象中的指定字段 增加指定的值
* 4.public Date getTime();//把当前日历对象 转成日期对象
*

* System类:系统类,java.lang
*
* 查阅API说 System这个类不能创建对象
*
* 方法:
* public static void exit(int code);//退出JVM,后面的参数写0 表示正常终止
* public static void gc();//通知JVM的垃圾回收器 过来收破烂
* public static String getProperty(String key);//获取系统的某一个属性
* public static long currentTimeMillis();//获取当前时间毫秒值
*
*

* Math类:有关数学运算的类
*
* 1.public static double abs(double d);//取绝对值
* 2.public staic double max(double d1,double d2);//取较大值
* 3.public staic double min(double d1,double d2);/取较小值
*
* 4.public static double random();//返回一个随机数 范围[0.0,1.0)
*
* 5.public static long round(double d);//四舍五入,只判断小数第一位
* 6.public static double pow(double d1 ,double d2);//求d1的d2次幂
*
* 7.public static double floor(double d);//向下取整
* 8.public static double ceil(double d);//向上取整

* ArrayList集合 只能存储引用类型
* java把8中基本类型 对应 基本数据类型包装类
* byte short char int long float double boolean
* Byte Short Character Integer Long Float Double Boolean
* 定义一个存储整数的集合 ArrayList<Integer> nums = new ....
* 另外一个作用:把一个字符串转成对应的基本类型的功能
* 比如:Integer.parseInt("20");
* 比如:Double.parseDouble("99.99");
*

* 自动装箱拆箱
*
* 装箱: 把基本类型 ---->对应的包装类型
*
* 拆箱: 包装类型----->对应基本类型
*
* 而且以上的步骤不许要程序干预,JVM自动判断 自动拆装箱
*
* 总结:基本数据类型类型和对应包装类型 我们再开中一视同仁

正则表达式:
* 不是java的东西,所有编程语言都可以用的东西
* 正则表达式 是一个特殊字符串,正则表达式字符串内容 表示一个规则
*
* "正则表达式"--->代表一个规则
*
* true----> "普通的字符串abc.." 匹配上了 "正则表达式"
* false---> "普通的字符串abc.." 没有匹配上了 "正则表达式"
*
* 在字符串类String中 有一个方法 matchs和split
* public boolean matches(String regex);
* public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
*
* 例题1:
* 校验qq号码.
*
*

public class RegexDemo01 {

public static void main(String[] args) {
// TODO Auto-generated method stub
splitDemo02();
}
/*
* 用正则表达式切分字符串
*/
public static void splitDemo02(){
String ip = "192...168.....1.....1";
//写代码 拿出 每一个数字
//正则表达式中 "."代表任意字符
//转译字符: \n \t
//"\.":把"."的特殊含义去掉
String[] ips = ip.split("\\.+");//正则表达式中 两个"\\"表示一个"\"
System.out.println(ips.length);
for (int i = 0; i < ips.length; i++) {
System.out.println(ips[i]);
}
}
/*
* 用正则表达式切分字符串
*/
public static void splitDemo(){
String s = "0218--3422---3540-----4565";
//写代码 把每个短号 拿出来 输出
//正则表达式中 "+"表示多个前面的元素
String[] nums = s.split("-+");
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}

}

/*
* 匹配手机号码
* 1:要求为11位数字
* 2:第1位为1,第2位为3、4、5、7、8中的一个,
* 后面9位为0到9之间的任意数字。
*
*/
public static void phone(){
String num = "12838385438";
boolean b = num.matches("1[34578][0-9]{9}");//
System.out.println(b);
}
/*
* 使用正则表达式 检验QQ号码
* QQ号码的规则:
* 1.必须都是数字
* 2.位数必须是5-12位
* 3.首位不能是0
*/
public static void QQ(){
//定义一个QQ号码
String qq = "283834567765438";
//在正则表达式中 范围 我们中括号表示
//在正则表达式中 个数用大括号
boolean b = qq.matches("[1-9][0-9]{4,11}");
System.out.println(b);

}

}

* 能够理解正则表达式验证11位手机号码
* 能够理解正则表达式验证QQ号码
*
* 能够使用日期类输出当前的日期
* 构造:
* public Date();
* public Date(long time);
* 成员方法:
* public long getTime();
* 能够说出将日期格式化成字符串的方法
* DateFormat----->SimpleDateFormat
* 构造:
* public SimpleDateFormat(String pattern);//pattern模式,必须按照APi中给的字母填写
* 方法:
* Date对象--->String格式: public String format(Date d)
* String格式--->Date对象: public Date parse(String s);
*
* Calendar类:
* 获取Calendar子类对象:
* public static Calendar getInstance();//实际返回的是Calendar的子类(公历类)对象
* 方法:
* public void add(int field,int value);
* public void set(int field,int value);
* public int get(int field);
* public Date getTime();//返回值日历对象 对应的日期对象

public class Test1 {
public static void main(String[] args) throws Exception {
// int read = System.in.read();
// System.out.println(read);

Scanner dd=new Scanner(System.in);
System.out.println("请输入你想查询的年份:");
int year=dd.nextInt();
Calendar c=Calendar.getInstance();
// c.set(year, 2,0);
c.set(year, 2,1);
c.add(Calendar.DATE, -1);
System.out.println("这一年2月有"+ c.get(Calendar.DATE)+"天");
}
}

/*
* 键盘录入指定格式(yyyy-MM-dd)的任意日期,显示出对应的星期几
*
* "E" 代表的是星期几
*/
System.out.println("请输入指定格式的:");
String s = new Scanner(System.in).nextLine();
//定义日期格式化对象,用于将用户输入的字符串转换为日期对象
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//将字符串转换为日期对象
Date d = df.parse(s);
//定义日期格式化对象,用于将日期对象转换为指定的字符串形式的对象
SimpleDateFormat sdf = new SimpleDateFormat("E");
//解析日期对象为字符串形式
String str = sdf.format(d);
System.out.println(str);

计算字符串中所有数字的平均值.题目考察字符串的解析和引用类型转换.
信息已给出 :
String s= " 第一组得分:92.8,第二组得分:88.8,第三组得分:95.4";

String s= "第一组得分:92.8,第二组得分:88.8,第三组得分:95.4";
//1.定义正则表达式,匹配数字和逗号以外的字符,并使用replaceAll方法,将字符串所有的数字以外的
//字符替换掉
String s1 = "第[一二三]组得分:";
String s2 = s.replaceAll(s1, "");
String[] s3 = s2.split(",");
double sum = 0;
//迭代数字,并将数字中德米一个元素都转换为double类型后,求和
for (String string : s3) {
//sum += Integer.parseInt(string);
sum += Double.parseDouble(string);
//System.out.println(string);
}
//求平均数
double i =sum/(s3.length);
System.out.println(i);

* 写出基本数据类型对应的八种包装类
* int--->Integer
* char--->Character
* 写出字符串转换成基本数据类型的方法
* Integer.parseInt("20");
* Double.parseDouble("99.95");
* 写出基本数据类型转换成字符串方式
* 最简单的: 4+""===>"4"
* 能够说出拆箱装箱概念
* 拆箱: 包装类-->基本类型
* 装箱: 基本类型-->包装类
* 能够掌握System类常见方法的使用
* public static long currentTimeMillis();//获取当前时间的毫秒值
* //不重要
* public void exit(0);//终止JVM
* public void gc();//告诉系统需要运行系统的垃圾回收器
* public String getProperty(String key);//获取一些系统有关属性值
* 能够使用Math类进行数学运算
* 1.public double random();//
* 2.public long round(double d);//把d参数 四舍五入
*
* 3.public double ceil(double d)//向上取整
* 4.public double floor(double d)//向下取整
*
* 5.public double pow(double d1,double d2);//求d2个d1相乘的积

java基础第十一篇之Date、Math、自动装箱和拆箱的更多相关文章

  1. Java基础 带你深刻理解自动装箱,拆箱含义

    1.什么是装箱,什么是拆箱装箱:把基本数据类型转换为包装类.拆箱:把包装类转换为基本数据类型.基本数据类型所对应的包装类:int(几个字节4)- Integerbyte(1)- Byteshort(2 ...

  2. JAVA基础之——三大特征、接口和抽象类区别、重载和重写区别、==和equals区别、JAVA自动装箱和拆箱

    1 java三大特征 1)封装:即class,把一类实体定义成类,该类有变量和方法. 2)继承:从已有的父类中派生出子类,子类实现父类的抽象方法. 3)多态:通过父类对象可以引用不同的子类,从而实现不 ...

  3. [转]JAVA自动装箱和拆箱

    http://www.cnblogs.com/dolphin0520/p/3780005.html 1.Java数据类型 装箱和拆箱之前,我们先来了解一下Java的基本数据类型. 在Java中,数据类 ...

  4. Java中自动装箱与拆箱

    一.什么是封装类? Java中存在基础数据类型,但是在某些情况下,我们要对基础数据类型进行对象的操作,例如,集合中只能存在对象,而不能存在基础数据类型,于是便出现了包装器类.包装器类型就是对基本数据类 ...

  5. 【转】java 自动装箱与拆箱

    java 自动装箱与拆箱 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的 ...

  6. 深入剖析Java中的自动装箱和拆箱过程

    深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题.本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱 ...

  7. 转载:详解Java 自动装箱与拆箱的实现原理

    原文:http://www.jb51.net/article/111847.htm 什么是自动装箱和拆箱 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对 ...

  8. [转]java 自动装箱与拆箱

    转自:http://www.cnblogs.com/shenliang123/archive/2012/04/16/2451996.html 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好 ...

  9. Java 自动装箱与拆箱

    Java 自动装箱与拆箱(Autoboxing and unboxing)   什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供 ...

随机推荐

  1. 关于Dubbo

    什么是Dubbo 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点以及别的公司的业务 ...

  2. c语言学习的第12天

    #include <stdio.h> int main(void) { int *p; int i=5; char ch='A'; p=&i; *p=99; printf(&quo ...

  3. zabbix增加服务器tcp监控

     zabbix server web界面,需要导入 tcp 监控模板 操作步骤:     Configuration --> Templates --> Import ,选择 本地的 zb ...

  4. BZOJ 3251 树上三角形:LCA【构成三角形的结论】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3251 题意: 给你一棵树,n个节点,每个点的权值为w[i]. 接下来有m个形如(p,a,b ...

  5. IDT 信息设计工具使用

    IDT 大多使用于接外系统数据,也就是非SAP 系统数据库.虽然SAP BW 里有数仓概念,接外部系统的视图.集中在使用建模,query ,再通过BO来展示.可是有些我们需要直连数据库,取一两张表相对 ...

  6. [原创]Java集成PageOffice在线打开编辑word文件 - Spring Boot

    开发环境:JDK1.8.Eclipse.Sping Boot + Thymeleaf框架. 一. 构建Sping Boot + Thymeleaf框架的项目(不再详述): 1. 新建一个maven p ...

  7. 2018.3.1 RF module distance test part II-

    1 Test  circuit diagram 2  Test demo 3 Test record 4  Test  analysis 5 Test results and discussion E ...

  8. 编写html页面时常见的问题(一)

    说到写页面,肯定有很多人在刚接触编写页面这一块时遇到很多细节和兼容性的问题,那么在这里我总结一些经常遇到的小问题.希望能够帮助学习页面搭建的初学者! 虽然说ie6很多公司都已经抛弃,但是个人认为,初学 ...

  9. jmeter的http post请求与测试Java请求

    1.jmeter 测试Java请求 1.1 建立测试类,在被测程序中添加测试类 1.2 将测试程序打包,打成不可运行的包 1.3 将打好的包,放在$JMETER_HOME/lib/exts下面,把测试 ...

  10. μC/OS-II与RT-Thread对比—任务调度

    在任务调度器的实现上,μC/OS-II和RT-Thread都采用了位图调度(bitmap scheduling),任务优先级的值越小则代表具有越高的优先级,主要区别在于实现形式,是采用多级队列的形式, ...