1. 本章学习总结

  • 学会了对于一个基本类的创建,需要有属性(private public protected),方法( 静态方法 非静态方法),构造函数,main函数,在定义属性时一般使用private,保证程序封装性,定义方法时使用public权限
    了解了构造方法的重载,而且重载的方法方法名相同参数不同,而且从一个构造函数调用另一个构造函数时必须用this关键字(此时this要写在方法里第一行位置)
  • 学会在Eclipse中快速建立setter,getter以及toString方法,还有调节字体大小,快速导包,程序格式化等快捷键
  • 关键字staticstatic方法不能访问非static的属性和方法,类(static)只能访问类(static)成员

2. 书面作业

1.代码阅读

[1] public class Test1{
[2]     private int i = 1;//这行不能修改
[3]     private static int j = 2;[4]     public static void main(String[] args) {
[5]         geti();
[6]         Test1getj();}[7]     public static void geti() {
[8]         System.out.println(i);}[9]     public static void getj() {
[10]        System.out.println(j);}}

以上代码可否编译通过?哪里会出错?为什么?尝试改正?
答:不能通过编译, [6]中找不到geti方法,可改为Test1.getj(); [8]会出错,因为i并不是static类型的,静态的方法不能调用非静态的值。有两种修改方式, 第一种可以将 [8]改为 System.out.println(new Text1.i); 第二种通过传递参数的方式,将[7] 改为public static void geti(int i),然后将[5] 改为geti(i);

如果创建3个Test1对象,有内存中有几个i,几个j?请分析原因?

答:i作为非静态变量,创建3个Test1对象就有3个i; j作为静态变量,始终只有一个。

2.构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?

答:1. 构造函数的作用:对类进行初始化操作,对属性进行赋值等; 2. 构造函数的编写格式:名字和类名相同,且没有返回类型; 3. 如果一个类不写构造函数,它也有一个有默认的无参构造函数; 4. 如果一个类中只有带参的构造函数,其不带参数的默认构造函数不存在;

3.使用java.lang.Math类的函数时,为什么不需要new?如果new Math()会产生什么错误?分析原因?

答:因为*java.lang.Math*中所有的函数都是静态方法,所以不需要new; 若使用new Math()会出现"The constructor Math() is not visible"。

4.什么是重载?什么是构造函数重载?在java.lang.Math类中举出1个函数重载的例子?怎么才能区分两个重载函数?

答:1.重载是静态多态性,及同名不同参; 2.构造函数重载,就是允许方法名相同而形式参数不同的构造函数同时存在。 3.可以根据参数的类型,数量以及顺序来区分两个重载函数。 4.查看JDK文档中Math类关于abs方法: abs(double a) 返回 double 值的绝对值。 abs(float a) 返回 float 值的绝对值。 abs(int a) 返回 int 值的绝对值。

5.final修饰的变量不能改变,为什么如下代码可以正常运行?

final int[] NUMBS= {1,2,3,4,5};
NUMBS[2] = 1;

答:final 对象的引用不可变,但是对象的值可变。
6.阅读代码EmployeeTest.java,回答:
1.为什么其属性均为private?这样设计有什么好处?
2.为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)
3.为Employee类再增加一个有参构造函数,参数只有name与salary,hideDay为当前日期。(粘贴代码)

1.答:全部设置为私有可以防止资料的改动,不希望用户随意更改

 2.答:public Employee()
{this("雇员1",3000,2017,3,5);
}
3.答:public Employee(String n, double s, int year, int month, int day){name = n;salary = s;GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);hireDay = calendar.getTime();}public Employee(String n, double s) {name = n;salary = s;Calendar  calendar = Calendar.getInstance();hireDay = calendar.getTime();//当前日期!
}

7.编写函数public static boolean isMondayToFriday()
功能:判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。
提示:使用LocalDateTime, DayOfWeek
参考资料:
JAVA 8:健壮、易用的时间-日期API - ImportNew.pdf
Java8DateTimeTest.java

答:public static boolean isMondayToFriday()
{LocalDateTime time = LocalDateTime.now();int day = time.getDayOfWeek().getValue();if (day >= 1 && day <= 5) {System.out.println("上班时间");return true;}else{System.out.println("休息时间");return false;}
}

3. PTA实验总结及码云上代码提交记录

3.1本周Commit历史截图

在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图,如下图所示

3.2 实验总结

实验碰到的问题、思考、收获与解决方案
1。目前只完成了第一题,剩余尽量在这周完成

转载于:https://www.cnblogs.com/Lin-Big-Handsome/p/6534729.html

201521145048 《Java程序设计》第3周学习总结相关推荐

  1. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  2. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  3. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  4. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  5. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  6. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  7. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  8. 20155226 2016-2017-2 《Java程序设计》第一周学习总结

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

  9. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  10. 张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结

    20162329 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 通过打书上的代码熟悉了Java编程的基本过程 教材学习中的问题和解决过程 1.因为我的虚拟机 ...

最新文章

  1. Failed to instantiate one or more classes
  2. try catch finally
  3. Android知识点 - 收藏集 - 掘金
  4. 《实施Cisco统一通信管理器(CIPT1)》一2.8 复习题
  5. 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  6. Laravel核心代码学习--用户认证系统的实现细节
  7. OLED取模-PS做图转字模提取软件
  8. python正态性检验_在python中做正态性检验示例
  9. android png 图标制作,ico图标怎么制作?png图片文件转换成ico图标文件的教程
  10. Lost connection to the debugger on
  11. Nova的安装与配置
  12. 计算机论文致谢词范文500字,大专论文的结尾致谢500字(论文的致谢语)
  13. 中国科学院大学计算机学院夏令营,中国科学院大学计算机网络信息中心2019年推免夏令营通知...
  14. SOM神经网络图像分类tensorflow实现
  15. 计算机 实验室安全准入制度,合肥工业大学实验室安全准入制度
  16. 人工智能的本质就是计算机科学,什么是人工智能,这篇文章讲得很透彻!
  17. 简单易学的机器学习算法——Latent Dirichlet Allocation(理论篇)
  18. 2018中国财经峰会闭幕 共议高质量发展
  19. MAC捕获及协议分析 实验报告
  20. 需求工程之需求获取的困难及解决方法

热门文章

  1. 新鲜出炉的canvas~
  2. C语言——格式化打印printf(常用整理)
  3. linux系统优化步骤,Linux系统优化的步骤有哪些
  4. android手机测试用例,Android手机测试用例-从事手机测试必备
  5. linux ip命令dhcp,嵌入式linux通过DHCP自动获取IP地址实现获取
  6. PAT (Basic Level) Practice1022 D进制的A+B
  7. yaml与json的对比
  8. 二极管区分极性以及驱动原理
  9. 记录:编译opencv-4.1.0、opencv_contrib-4.1.0、dense_flow过程
  10. Photoshop 操作显示滞后问题及解决方法