zoukankan      html  css  js  c++  java
  • 20145316《Java程序设计》第七周学习总结

    20145316《Java学习程序设计》第七周学习总结

    教材学习知识总结

    • 1.在只有Lambda表达式的情况下,参数的类型必须写出来。

    • 2.Lambda表达式本身是中性的,同样的Lambda表达式可用来表示不同目标类型的对象操作。

    • 3.Lambda表达式只关心方法命名上的参数与返回定义,但忽略方法名称。

    • 4.如果变量不会在匿名类中有重新指定的动作,就可以不用加上final关键词。

    • 5.只要静态方法的方法命名中参数与返回值定义相同,也可以使用静态方法来定义函数接口操作。

    • 6.JDK8定义的通用函数接口,基本上放置于java.util.function套件之中,就行为来说,基本上可以分为consumer,function,predicate,supplier四个类型。

    • 7.Epoch为某个特定时代的开始,时间轴上某一瞬间。

    • 8.取得系统时间的方法之一是使用System,currentTimeMillis()方法,返回的是long类型整数。

    • 9.Date实例基本上建议只用来当做时间轴上的某一瞬间。

    • 10.ofDays(),ofMonths(),ofWeeks()其实是Period的静态方法,他们会返回period实例。

    • 11.新时间日期处理API的主要套件命名为java.time。

    • 12.plus方法接受java.time.temporal.TemporalAmount实例,而TemporalAmount的操作类也就是Period与Duration。实际上plus()方法也可以接受Duration实例来计算。

    • 13.使用Instant的静态方法now()可以取得代表java epoch毫秒数的Instant实例。

    教材代码练习

    1. import java.util.;
      import static java.lang.System.
      ;
      public class DateDemo {
      public static void main(String[] args) {
      Date date1 = new Date(currentTimeMillis());
      Date date2 = new Date();
      out.println(date1.getTime());
      out.println(date2.getTime());
      }
      }

    1. import java.util.;
      import static java.lang.System.out;
      import static java.text.DateFormat.
      ;

      public class DateFoematDemo {
      public static void main(String[] args) {
      Date date = new Date();
      dateInstanceDemo(date);
      timeInstanceDemo(date);
      dateTimeInstanceDemo(date);
      }

      static void dateInstanceDemo(Date date) {
      out.println("getDateInstance() demo");
      out.printf(" SHORT: %s%n", getDateInstance(LONG).format(date));
      out.printf(" SHORT: %s%n", getDateInstance(SHORT).format(date));
      }

      static void timeInstanceDemo(Date date) {
      out.println("getTimeInstance() demo");
      out.printf(" LONG: %s%n", getTimeInstance(LONG).format(date));
      out.printf(" MEDIUM: %s%n", getTimeInstance(MEDIUM).format(date));
      out.printf(" SHORT: %s%n",getTimeInstance(SHORT).format(date));
      }

      static void dateTimeInstanceDemo(Date date) {
      out.println("getDateTimeInstance() demo");
      out.printf(" LONG: %s%n",
      getDateTimeInstance(LONG, LONG).format(date));
      out.printf(" MEDIUM: %s%n",
      getDateTimeInstance(SHORT, MEDIUM).format(date));
      out.printf(" SHORT: %s%n",
      getDateTimeInstance(SHORT, SHORT).format(date));
      }
      }

    2. import java.util.;
      import java.text.
      ;

      public class HoeOld {

      public static void main(String[] args) throws Exception {
      System.out.print("输入出生年月日(yyyy-mm-dd):");
      DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
      Date birthDate = dateFormat.parse(new Scanner(System.in).nextLine());
      Date currentDate = new Date();
      long life = currentDate.getTime() - birthDate.getTime();
      System.out.println("你今年的岁数为:" +
      (life / (365 * 24 * 60 * 60 * 1000L)));
      }
      }

    3. import java.time.*;
      import java.util.Scanner;
      import static java.lang.System.out;

      public class HowOld2 {

      public static void main(String[] args) {
      out.print("輸入出生年月日(yyyy-mm-dd):");
      LocalDate birth = LocalDate.parse(new Scanner(System.in).nextLine());
      LocalDate now = LocalDate.now();
      Period period = Period.between(birth, now);
      out.printf("你活了 %d 年 %d 月 %d 日%n",
      period.getYears(), period.getMonths(), period.getDays());
      }
      }

    教材代码遇到的问题

    在这个程序中,我明明是19周岁,却被误算为20周岁。。。

    代码运行截图

    这个周用在其他学科时间比较长,Java代码敲得比较少。

  • 相关阅读:
    第四讲动手动脑集课后作业
    第三讲课后作业
    课后作业01
    《大道至简》第一章伪代码读后感
    第八周学习进度条
    第七周学习进度条
    求一维联通数组的最大子数组之和
    求二维数组的最大联通子数组之和
    第六周学习进度条
    求一个数组的最大子数组之和
  • 原文地址:https://www.cnblogs.com/xxy745214935/p/5402826.html
Copyright © 2011-2022 走看看