java基础第十一篇之Date、Math、自动装箱和拆箱

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相乘的积

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,302评论 0 9
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 6,811评论 0 9
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,357评论 0 4
  • [TOC] 正则表达式 概述及基本使用 正则表达式:是指用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串...
    lutianfei阅读 352评论 0 2
  • 第05天API 今日内容介绍 ·Object类& System类 ·日期相关类 ·包装类&正则表达式 ·Date对...
    chcvn阅读 379评论 0 1