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相关推荐

  1. Java学习路线图,如何学习Java事半功倍?

    作为一个初学者想掌握Java并不是很容易,Java本身是具有一定难度的,虽然说兴趣这东西可以让我们学习不累,但是有多少人学习是因为兴趣,或者有多少人知道自己的兴趣在哪?所以我很明确的告诉你学习这事本来 ...

  2. Java学习必不可少的网站,快收藏起来

    java技术在IT互联网行业的发展前景一直在提升,越来越多的人都在学习java技术,今天小编来给大家提供一些学习Java的网站集合,希望能够帮助到正在学习java技术的同学. Java学习必不可少的网 ...

  3. 分享五款java学习辅助工具,总有你用的上的~

    想要学好java技术,除了自身的努力,辅助工具也不缺少,辅助工具可以帮助大家在今后的工作中可以提高工作效率,下面小编就来分享五款java学习辅助工具,总有你用的上的~ 五款java学习辅助工具: 1. ...

  4. Java学习从入门到精通的学习建议

    想要学好java技术,首先打好基础很重要,不论学什么基础都是重中之重,学习Java更是如此.如:基础语法.核心类库.面向对象编程.异常.集合.IO流等基础如果学不好,那么后边更深入的语法也不容易学会. ...

  5. java学习笔记11--Annotation

    java学习笔记11--Annotation Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息. j ...

  6. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  7. JAVA学习资源网站

    中文java技术网--http://www.cn-java.com/ 灰狐动力(http://www.huihoo.com/)-- 该站点有许多的开源的项目的介绍和学习,涉及操作系统,数据库等许多方向 ...

  8. 我的WEB之路(一)-2.JAVA学习路线

    第一阶段:针对性夯实JAVA基础 课程名称 核心要点 完成目标 Java基础入门 搭建Java开发和运行环境等,IDE工具的学习和使用,Java语言基础,数据类型,运算符,条件和循环,数组使用等,Ja ...

  9. 准备写java学习笔记

    准备写java学习笔记 java int 转载于:https://blog.51cto.com/cryingcloud/1975267

最新文章

  1. Win7下删除FOXMAIL右键发送到选项
  2. codeforces D MUH and Cube Walls(kmp)
  3. uniapp底部弹出框效果
  4. SQL Server与Oracle、DB2三种数据库比较
  5. Atitit data fmt sumup 常用的数据交换格式 标准 目录 1. 分类标准 2 1.1. 按照结构化与非结构化分类 2 1.2. 按照资料性质分类常见的数据格式txt ,do
  6. zmap扫描mysql_zmap快速扫描
  7. 把一个base64编码的图片绘制到canvas (canvas的图片在转成dataurl)
  8. 数据库中如何新增一个字段
  9. 如何快速实现直播美颜功能 - 接入美颜SDK详解
  10. js中字符串按照汉字拼音排序
  11. appium元素定位之元素定位工具 什么是uiautomatorviewer,uiautomatorviewer是干嘛的
  12. 【AliOS Studio】AliOS Studio初体验
  13. Chrome浏览器录屏扩展插件
  14. IT大侦“碳”:VxRail的可持续法宝
  15. 【填充插件】自定义填充图案制作插件
  16. 一年级的小孩可以学习机器人编程
  17. hightCharts制作三维立体图
  18. [bzoj1143][CTSC2008]祭祀river——DAG上最长反链,Dilworth定理,最大二分图匹配,Floyd
  19. 计算思维与大学计算机基础教育,计算思维与大学计算机基础教育(3)
  20. vue+element-ui+富文本————图片上传

热门文章

  1. ccf化学方程式配平检验
  2. 【NEON 和 VFP 编程】VFP 指令
  3. python与seo实战课程it技术_python与SEO实战课程学习B计划
  4. 信息安全三要素(CIA):
  5. mips中的li_MIPS学习笔记(一)
  6. QT C2220: 警告被视为错误 - 没有生成“object”文件
  7. 连接数据库出现错误代码为18456
  8. 分布式链路监控Zipkin + EKL + RabbitMQ
  9. 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问
  10. 《徐梓喆 11月20日 用八位共阴极数码管说晚安》