201521123067 《Java程序设计》第3周学习总结-程序员宅基地

技术标签: java  开发工具  

201521123067 《Java程序设计》第3周学习总结


1. 本周学习总结

初学面向对象,会学习到很多碎片化的概念与知识。尝试学会使用思维导图将这些碎片化的概念、知识组织起来。请使用纸笔或者下面的工具画出本周学习到的知识点。截图或者拍照上传。参考资料:百度脑图 XMind

1109970-20170308171145594-157770952.png

2. 书面作业

(1)代码阅读

public class Test1 {
private int i = 1;//这行不能修改
private static int j = 2;

public static void main(String[] args) {
    geti();
    Test1getj();
}

public static void geti() {
    System.out.println(i);
}

public static void getj() {
    System.out.println(j);
}
}
①以上代码可否编译通过?哪里会出错?为什么?尝试改正?
答:编译不可通过。Test1getj()会出错,因为找不到这个方法;System.out.println(i)这行也会出错,因为i并不是static类型的,静态的方法不能调用非静态的值,应将public static void geti()改为 public static void geti(int i)。
②如果创建3个Test1对象,有内存中有几个i,几个j?
答:i和j各一个。

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

答:●构造函数的作用:在创建对象时初始化对象,为对象成员变量赋初始值。
  ●其编写格式是:
    public+函数名(参数)
    {
       函数的内容
    }
    构造函数的命名必须和类名完全相同。
    ●如果一个类不写构造函数,编译器中会默认有一个构造函数。
    ●如果一个类中只有带参的构造函数,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。因此它有不带参数的默认构造函数。

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

答:如果一个方法是静态的,它是属于整个类的,可以用类名.方法来直接访问,不需要new一个新的对象,只需要在代码的头部加上import java.lang.Math即可,而不需要new一个新的对象。由于构造函数被声明为私有的,就是说明不能被外部调用,所以不能new出来一个新的对象,如果new Math()会产生编译错误。

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

答:●重载:是指函数或者方法有相同的名称,但是参数列表不相同的情形。
  ●构造函数的重载:构造函数具有相同的名字,而参数的个数或参数类型不相同。
  ●在java.lang.Math类中函数重载的例子:static int getExponent(double d)和static int getExponent(float f)
  ●区分两个重载函数:虽然函数有相同的名称,但是参数列表不相同,所以可以根据参数列表来区分两个重载函数。

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

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

答:因为final修饰引用类型变量,变量的值(引用)不能修改,但是变量指向的对象的值可以修改。就如指针一样,指向一方的箭头方向不能变,而引用的东西的具体内容可以改变,所以这段代码可以正常运行。

(6)阅读代码EmployeeTest.java,回答:

①为什么其属性均为private?这样设计有什么好处?
答:因为属性是不希望被人轻易知道的,所以要将属性保护好,只有设置为private,才不会随便被调用或是被改变
②为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)
代码如下:
public Employee() 
{
   Employee("雇员1", 3000.0, 2017, 3, 5);
}
③为Employee类再增加一个有参构造函数,参数只有name与salary,hideDay为当前日期。(粘贴代码)
代码如下:
public Employee(String ming, double gongzi, int year, int month, int day) 
{ 
    name = ming;
    salary = gongzi;
    GregorianCalendar c= new GregorianCalendar(year, month - 1, day);
    hireDay = c.getTime();
}
public Employee(String ming, double gongzi) 
{
    Employee(ming, gongzi, Calendar.getInstance().get(Calendar.YEAR), 
    Calendar.getInstance().get(Calendar.MONTH) + 1, 
    Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
}

(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. 码云代码提交记录

1109970-20170308151706234-1284089717.png

4. PTA实验总结

●问题:

①总体来说,这次的三道编程题难度都不大,相对来说比第二次简单。
②在做第一道题的时候,我不知道如何覆盖toString函数;刚开始不知道怎样编写有参构造函数对name,gender,age赋值。
③起初第二题中的初始化块我不会做;后来把代码打好之后,在eclipse能正常运行并且结果时正确的,但复制到PTA上一直出错。
④在第三题中,我把public String tostring()错打成了public string tostring(),所以一直出错。

●解决:

①第一题通过百度搜索知道了如何正确覆盖toString函数,于是就做出来了。
②第二题我问了同学,得知做初始化块的方法,这道题也打出来了,但是在PTA上无法通过。
③第三题我找了很久的错误原因,终于发现是大小写的问题,修改好之后就能正常运行了。

转载于:https://www.cnblogs.com/yjliao/p/6513078.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/axianqiu5775/article/details/101101309

智能推荐

IDEA配置xml文件头报错:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)解决方法,亲测有效_idea wsdl url is not valid-程序员宅基地

文章浏览阅读4.2w次,点赞84次,收藏124次。IDEA配置xml文件头报错:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)解决方法,亲测有效,经常会遇到xml报错的情况,xmlns变红色,这时我们可以根据如下来解决这个问题_idea wsdl url is not valid

会员号的百位数字等于产生的随机数即为幸运会员-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏9次。代码要求:随机输入一个四位数的卡号,获取百位数;然后利用Math类中的random()*10方法产生一个0到9打整数,     如果输入的四位数百位数等于随机产生的数,则中奖,反之不中奖。代码:package net.day0625;import java.util.Scanner;public class Work1 {   static Scanner input = ne..._java实现幸运抽奖会员号的百位数字

使用JDBC连接SQL数据库实现增删改查_完成基于jdbc技术实现的数据库交互,要求完成单表数据增删改查功能-程序员宅基地

文章浏览阅读1.7k次,点赞4次,收藏29次。一、项目介绍最近闲得无聊,看到之前做的一个小作业,觉得自己进步了,所有拿出来和大家分享分享。也就是一个使用JDBC连接数据库从而实现增删改查。1.开发环境开发工具:eclipseJDK版本:jdk1.8SQLserver版本:20122.代码部分..._完成基于jdbc技术实现的数据库交互,要求完成单表数据增删改查功能

元宇宙与虚拟现实的6大区别_元宇宙与虚拟现实区别对比-程序员宅基地

文章浏览阅读450次。基于蓝海创意云所构建的数字基建能力、云端超大规模视觉计算能力和超高清视频低延时传输技术,从数据处理、网络环境、内容生产、认证机制、虚实界面等方面构建了元宇宙技术支撑服务能力。通过多年积累,蓝海创意云形成了强大的元宇宙时代数字基建能力,为数字文旅、智慧城市、电商直播、数字孪生等行业提供专业的解决方案。_元宇宙与虚拟现实区别对比

CTO说了,再发现谁用kill -9关闭程序就开除-程序员宅基地

文章浏览阅读660次。点击下方“民工哥技术之路”,选择“设为星标”回复“1024”获取独家整理的学习资料!kill -9 pid ???kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指..._再发现用kill -9

CSS-图片显示固定大小不压缩、不变形_css 图片不变形-程序员宅基地

文章浏览阅读1.1w次,点赞13次,收藏19次。需求说明:实现让长方形图片显示出正方形且不变形的效果的效果,一般可以有2种方式来实现,一种是设置为背景图,另一种是用img标签。原图↓:背景图↓:一、背景图首先,我们来看一下通过设置背景图的方式来实现我们的需求,主要通过background-size属性来设置我们的背景图缩放比例。简单介绍一下background-size:background-size: contain;..._css 图片不变形

随便推点

c语言程序收入与纳税计算,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...-程序员宅基地

文章浏览阅读565次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#define TAXBASE 3500 //起征点typedef struct{ //征税区间与征税率long start;long end;double taxrate;} TAXTABLE;TAXTABLE TaxTable[]={{0,1500,0.03},{1500,4500,0.10},{4500,9000,0.20}..._收入income和供养人数ndependance来计算赋税金额的程序。 程序输入是income和ndep

debian字体配制文件fonts.conf-程序员宅基地

文章浏览阅读304次。<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><!-- /etc/fonts/fonts.conf file to configure system font access --><fontconfig><!--DO NOT EDIT THIS FILE.IT..._debian fonts/fonts.conf

浙江二级C语言2019年试题,2020年6月浙江省计算机二级C语言经验分享-程序员宅基地

文章浏览阅读308次。2020年6月浙江省计算机二级C语言经验分享一、考试报名1. 自己所在大学的教学办通知之后,按照学校报名系统来报名。(浙江省的计算机二级考试是在自己学校里报名的,这个报名时间不要错过哦,错过了就只能等下次了)我们学校发短信通知报名2. 考试前的一个星期,学校教学办发准考证:准考证现在出成绩了92分,满意二、考试题型1. 理论考试题型(2019年开始-至今):考试时间:上午9:00-10:30程序填..._浙江省计算机二级c语言是笔试还是机考

灵性图书馆:好书推荐-《觉悟自我的科学》-程序员宅基地

文章浏览阅读386次。编辑推荐:本书深度探索有关内在自我、自然、宇宙以及内外超然自我的奥秘。在自我觉悟的科学方面杰出的世界大师在这里谈到了现代的瑜伽冥想修行、业报定律的摆脱、超然知觉的获得等等。内容简介:本书深度探索有关内在自我、自然、宇宙以及内外超然自我的奥秘。在自我觉悟的科学方面最杰出的世界大师在这里谈到了现代的瑜伽冥想修行、业报定律的摆脱、超然知觉的获得等等。本书选录了圣哲帕布帕德与各科学家、医学家等人士的信件交流,以及各类采访、讲座、文章,从中展现出A.C.巴克提维丹塔.斯瓦米.帕布帕德在言谈中所蕴藏的智慧与力量。他证实_觉悟自我的科学

linux中的两个timestamp,Linux在bash history当中添加timestamp-程序员宅基地

文章浏览阅读79次。一次xbuild编译失败的排查今天一个待上线服务测试完毕,需要构建CI,按照模板配置好包还原,xbuild编译,报错,错误信息如下: EtcdRegister.cs(8,15): error CS0234: The type or ...解决win10卡顿现象前两天打开了windows defender,想着既然是window自带的防护工具,应该效果不错.经过测试之后 ,发现这个要占用很大内存,得..._linux安装timestamp

环境监测设备中TCXO精度对GNSS的重要性-伪码同步和载波同步_tcxo对gnss接收机性能-程序员宅基地

文章浏览阅读276次。由于目前全球芯片都处于供不应求的状态下,各大硬件公司将囤货的标的蔓延到晶体振荡器TCXO,特别是对于GNSS的应用,TCXO是不可或缺的成分,但由于物料的紧缺,不得不寻找一些貌似可以替代的物料进行生产,但由于参数的差异,这也不可避免的出现各种定位问题。下面我们简单的做个说明。首先在环境监测设备的开发过程中,我们一般选择的GPS的晶振都是26MHz的TCXO作为振荡源,假如用的TCXO是0.5ppm的精度,对应的频偏范围就是±13Hz。如果倍频到1575.42MHz对应的频偏范围就是±788Hz。其中_tcxo对gnss接收机性能