Java学习Day_11
1.Date:表示日期格式,精确到毫秒
2.System.currentTimeMillis() :System类中的方法,单独使用没意义,一般情况:直接测试 程序的执行速率
3.Date----> String之间如何转换
日期格式 日期文本格式
Date date = new Date() ;
System.out.println("date:"+date);//Tue Jul 31 09:34:35 CST 2018 Date日期格式
//2018-7-31 :日期文本格式(日期的字符串格式)"yyyy年MM月dd日"
本身两者之间的转换用到:DateFormat这个类:他是一个抽象类,不能实例化!用它的子类:SimpleDateFormat
Date----String 格式化 String format(Date date)
String--Date 解析 public Date parse(String source) throws parseEception (编译时期异常)
年: y yyyy
月: M MM
日: d dd yyyy-MM-dd HH:mm:ss
创建SimpleDateFormat对象
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd") ;
//解析
Date date2 = simpleDateFormat2.parse(str) ;
4.当需要将文本日期格式转换称Date格式:文本格式的格式 必须和SimpleDateFormat模式一致,
否则无法解析!出现ParseException
5. Date---->long
public long getTime()
public void setTime(long time) :很少用
6.这是将Date日期格式转换成日期文本格式的方法
@param d 表示当前日期对象
@param format 表示指定的一种模式
@return 返回就是日期文本格式
//创建SimpleDateFormat对象
//分步
/*SimpleDateFormat dateFormat = new SimpleDateFormat(format) ;
String str = dateFormat.format(d) ;
return str ;*/
//改进
return new SimpleDateFormat(format).format(d) ;
7.这是将日期文本格式转换成Date日期格式的方法
@param source 数据源,当前需要被转换的日期文本格式
@param format 表示指定一种模式
@return 返回的就是Date日期格式
@throws ParseException
/*SimpleDateFormat dateFormat = new SimpleDateFormat(format) ;
Date d = dateFormat.parse(source) ;
return d;*/
//改进
return new SimpleDateFormat(format).parse(source);
8. Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
* 并为操作日历字段提供了一些方法
*
* calender也不能实例化
*
* public static Calendar getInstance() :创建对象的方式 :内部结构 会有CalendarProvider类提供当前这个对象
* public int get(int field):返回给定日历字段的值
*
* public static final int YEAR:年
* public static final int MONTH:月
* public static final int DATE:日
//创建Calender类对象
Calendar calendar = Calendar.getInstance() ;
//通过calender获取年,获取月,日..
int year = calendar.get(Calendar.YEAR) ; //年
int month = calendar.get(Calendar.MONTH) ;//月
int date = calendar.get(Calendar.DATE) ;//月
9.abstract class Person{
* public static Person getPerson(){
* return new Student() ;
* }
* }
*
* class Student extends Preson{
*
* }
10. Calendar中常用的两个方法
*
* public abstract void add(int field, int amount):给当前日历类的某个字段设置时间偏移量(减去/加上)
* public final void set(int year,int month, int date)设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
//表示:3年前的今天
calendar.add(calendar.YEAR, -3);
int year = calendar.get(calendar.YEAR) ;
int month = calendar.get(calendar.MONTH) ;
int date = calendar.get(Calendar.DATE) ;//月
//表示:5年后的10天前
/*calendar.add(Calendar.YEAR, 5);
calendar.add(Calendar.DATE, -10);
int year = calendar.get(calendar.YEAR) ;
int month = calendar.get(calendar.MONTH) ;
int date = calendar.get(Calendar.DATE) ;*/
calendar.set(2011, 10, 1); //直接给定具体年,月,日
int year = calendar.get(calendar.YEAR) ;
int month = calendar.get(calendar.MONTH) ;
int date = calendar.get(Calendar.DATE) ;
11.System
* in:标准输入流 InputStream 字节输入流
* out:标准输出流 PrintStream 字节打印流 PrintWriter:字符打印流
12.gc():public static void gc() :Java 虚拟机做了一些努力来回收未用对象
* 开启垃圾回收器,其实质是是调用了重写Object中的finalize()方法
*
* public static void exit(int status):这个方法执行,jvm就退出了 ,参数是0
student = null ;//student不在指定堆内存
//启动垃圾回收器
System.gc();
13.为什么学习集合?
* 集合的由来:
* 目前的学习的语言是一种面向对象语言,面向对象语言对事物的描述通过对象(属性,行为..)体现的,必须给对象进行操作,
* 并且还要针对多个对象进行操作,(使用容器类型的变量):目前学习过的容器:1)数组 2)StringBuffer
* 1)数组:长度固定,不能满足长度变化的要求
* 2)StringBuffer:字符串缓冲区,在内存中始终返回的是String类型,也满足一些需求
* Java提供一个技术:集合
14.Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。
* 一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。
* JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。
*添加功能:
* boolean add(Object e):添加单个元素
* boolean addAll(Collection c):添加一个集合中的元素
只 要添加元素,就返回true
*删除功能:r
* void clear()
* remove(Object o)
* removeAll(Collection c):移除一个集合中的元素 思考:移除一个算是移除还是移除所有算是移除呢?
删除一个算是删除!,删除返回true
*判断功能:
* boolean contains(Object o):一个集合中是否包含指定的元素
* boolean containsAll(Collection c):包含一个集合中的元素 思考: 包含一个算是包含还是包含所有算是包含?
* boolean isEmpty():判断集合是否为空. 空,就是true
*
* 获取功能:
* int size() :获取元素数的方法
* Iterator iterator():迭代器 (遍历集合的特有功能)
*转换功能:
* Object[] toArray() :将集合转换成数组
*
*交集
* boolean retainAll(Collection c) :思考假设A集合对B集合取交集,交集的元素去哪里?
* 返回boolean的表达的意思是什么
A集合对B集合取交集,交集的元素的去A集合里面了,返回的boolean表达的意思A集合中的元素是否发生变化.如果没有变 ,false
否则,true
boolean containsAll(Collection c):包含一个集合中的元素 思考: 包含一个算是包含还是包含所有算是包含?
包含所有算是包含,
15.Object[] toArray() :将集合转换成数组 :集合中最原始的遍历集合的方式
16.需求:有一个班,班里有5个学生,分别有自己的信息(姓名,年龄,性别...),遍历5个学生的信息!
(请使用集合改进!)
/ //创建一个集合对象
Collection collection = new ArrayList() ;
//创建5个学生对象
Student student1 = new Student("科比", 28) ;
Student student2 = new Student("保罗", 25) ;
Student student3 = new Student("哈登", 22) ;
Student student4 = new Student("帕克", 29) ;
collection.add(student1) ;//Object obj = new Student("",..) ;
collection.add(student2) ;
collection.add(student3) ;
collection.add(student4) ;
//遍历:转换成数组
Object[] objs = collection.toArray() ;
for(int x = 0 ; x < objs.length ; x ++) {
//getXXx获取学生信息
Student student = (Student) objs[x] ;
System.out.println(student.getName()+"---"+student.getAge());
}
用迭代器的遍历方式实现!
//1)创建集合对象
Collection collection = new ArrayList() ;
//2)创建学生对象
Student student1 = new Student("文章", 29) ;
Student student2 = new Student("姚笛", 28) ;
Student student3 = new Student("马伊琍", 38) ;
Student student4 = new Student("王力宏", 40) ;
//3)添加
collection.add(student1);
collection.add(student2);
collection.add(student3);
collection.add(student4);
//4)获取迭代器
Iterator it = collection.iterator() ;
//5)遍历
while(it.hasNext()) {
//转换
Student student = (Student)it.next() ;
System.out.println(student.getName()+"---"+student.getAge());
}
3)数组方式
//定义一个学生数组
Student[] students = new Student[5] ;
//创建5个学生对象
Student s1 = new Student("王昭君",29) ;
Student s2 = new Student("杨贵妃",35) ;
Student s3 = new Student("西施",22) ;
Student s4 = new Student("貂蝉",25) ;
Student s5 = new Student("高与阿奴眼",28) ;
//给学生对象赋值
students[0] = s1 ;
students[1] = s2 ;
students[2] = s3 ;
students[3] = s4 ;
students[4] = s5 ;
//length属性 循环遍历
for(int x = 0 ; x < students.length ; x ++) {
// System.out.println(students[x]);
//改进:利用他的get方法获取他的学生信息
Student student = students[x] ;
System.out.println(student.getName()+"----"+student.getAge());
}
17.
//循环改进:while循环
//jdk5以后:新特性:代替迭代器的 增强for
//for(String str: 集合对象/数组对象){}
while(iterator.hasNext()) {
// System.out.println(iterator.next());
18.什么是对象数组?
可以存储对象的数组
Java学习Day_11相关推荐
- Java学习路线图,如何学习Java事半功倍?
作为一个初学者想掌握Java并不是很容易,Java本身是具有一定难度的,虽然说兴趣这东西可以让我们学习不累,但是有多少人学习是因为兴趣,或者有多少人知道自己的兴趣在哪?所以我很明确的告诉你学习这事本来 ...
- Java学习必不可少的网站,快收藏起来
java技术在IT互联网行业的发展前景一直在提升,越来越多的人都在学习java技术,今天小编来给大家提供一些学习Java的网站集合,希望能够帮助到正在学习java技术的同学. Java学习必不可少的网 ...
- 分享五款java学习辅助工具,总有你用的上的~
想要学好java技术,除了自身的努力,辅助工具也不缺少,辅助工具可以帮助大家在今后的工作中可以提高工作效率,下面小编就来分享五款java学习辅助工具,总有你用的上的~ 五款java学习辅助工具: 1. ...
- Java学习从入门到精通的学习建议
想要学好java技术,首先打好基础很重要,不论学什么基础都是重中之重,学习Java更是如此.如:基础语法.核心类库.面向对象编程.异常.集合.IO流等基础如果学不好,那么后边更深入的语法也不容易学会. ...
- java学习笔记11--Annotation
java学习笔记11--Annotation Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息. j ...
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- JAVA学习资源网站
中文java技术网--http://www.cn-java.com/ 灰狐动力(http://www.huihoo.com/)-- 该站点有许多的开源的项目的介绍和学习,涉及操作系统,数据库等许多方向 ...
- 我的WEB之路(一)-2.JAVA学习路线
第一阶段:针对性夯实JAVA基础 课程名称 核心要点 完成目标 Java基础入门 搭建Java开发和运行环境等,IDE工具的学习和使用,Java语言基础,数据类型,运算符,条件和循环,数组使用等,Ja ...
- 准备写java学习笔记
准备写java学习笔记 java int 转载于:https://blog.51cto.com/cryingcloud/1975267
最新文章
- Win7下删除FOXMAIL右键发送到选项
- codeforces D MUH and Cube Walls(kmp)
- uniapp底部弹出框效果
- SQL Server与Oracle、DB2三种数据库比较
- Atitit data fmt sumup 常用的数据交换格式 标准 目录 1. 分类标准	2 1.1. 按照结构化与非结构化分类	2 1.2. 按照资料性质分类常见的数据格式txt ,do
- zmap扫描mysql_zmap快速扫描
- 把一个base64编码的图片绘制到canvas (canvas的图片在转成dataurl)
- 数据库中如何新增一个字段
- 如何快速实现直播美颜功能 - 接入美颜SDK详解
- js中字符串按照汉字拼音排序
- appium元素定位之元素定位工具 什么是uiautomatorviewer,uiautomatorviewer是干嘛的
- 【AliOS Studio】AliOS Studio初体验
- Chrome浏览器录屏扩展插件
- IT大侦“碳”:VxRail的可持续法宝
- 【填充插件】自定义填充图案制作插件
- 一年级的小孩可以学习机器人编程
- hightCharts制作三维立体图
- [bzoj1143][CTSC2008]祭祀river——DAG上最长反链,Dilworth定理,最大二分图匹配,Floyd
- 计算思维与大学计算机基础教育,计算思维与大学计算机基础教育(3)
- vue+element-ui+富文本————图片上传
热门文章
- ccf化学方程式配平检验
- 【NEON 和 VFP 编程】VFP 指令
- python与seo实战课程it技术_python与SEO实战课程学习B计划
- 信息安全三要素(CIA):
- mips中的li_MIPS学习笔记(一)
- QT C2220: 警告被视为错误 - 没有生成“object”文件
- 连接数据库出现错误代码为18456
- 分布式链路监控Zipkin + EKL + RabbitMQ
- 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问
- 《徐梓喆 11月20日 用八位共阴极数码管说晚安》