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


    1. 本周学习总结

    2. 书面作业

    Q1:代码阅读

    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);
        }
    
    }
    

    以上代码可否编译通过?哪里会出错?为什么?尝试改正?
    如果创建3个Test1对象,内存中有几个i,几个j?请分析原因?

    1、上述代码不能编译通过, System.out.println(i);会出错,因为```
    geti()

    2、内存中有3个i,1个j,因为变量i是非静态类型,而j是静态类型。
    **Q2:构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?**
    1、对类进行初始化,对属性的赋值。
    2、名字和类名相同,要大写,无返回值。
    3、有啊。
    4、没有啊。
    **Q3:使用```
    java.lang.Math
    ```类的函数时,为什么不需要new?如果new Math()会产生什么错误?分析原因?**
    1、因为Math类函数里面的实现功能是private型,不允许外部访问;
    2、会出现```
    The constructor Math() is not visible
    ```的错误,因为源代码是这样子写的:![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311200254529-683241954.png)
    外部无法访问,可以直接调用。
    **Q4:什么是重载?什么是构造函数重载?在java.lang.Math类中举出1个函数重载的例子?怎么才能区分两个重载函数?**
    1、重载分为构造函数的重载和方法重载,重载是有相同的函数名称有不同的参数表达形式。
    2、构造函数重载是有相同的类名作为函数名称但参数不同,
    函数重载的例子如图:![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311101328889-578859347.png)
    3、根据参数的类型或参数个数或顺序。
    **Q5:final修饰的变量不能改变,为什么如下代码可以正常运行?**
    

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

    因为final规定的是指定的对象NUMBS不能被改变,但是其变量的值是可以改变的。
    **Q6:阅读代码EmployeeTest.java,回答:
    为什么其属性均为private?这样设计有什么好处?
    为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)
    为Employee类再增加一个有参构造函数,参数只有name与salary,hireDay为当前日期。(粘贴代码)**
    1、其属性是一些name、ID等一些固有属性无需更改,设置为private型外部无法更改更确保信息的安全性。
    2、无参构造函数:
    ![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311125259717-555478671.png)
    3、有参构造函数:
    ![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311125355201-1805450912.png)
    ![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311125408545-1037833925.png)
    **Q7:编写函数public static boolean isMondayToFriday()
    功能:判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。
    提示:使用LocalDateTime, DayOfWeek**
    ![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311131749748-1477698645.png)
    ##3. 码云代码提交记录
    ![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311183800217-1456683208.png)
    ![](http://images2015.cnblogs.com/blog/1109934/201703/1109934-20170311183816904-957708919.png)
    ##4. PTA实验总结
    题目一:1、类的名称一定要大写;
            2、能自动完成的一定不要手动输入,否则容易因为大小写的类型或拼写问题出错,比如手写的boolean容易写成bollean或Boolean,还会找不到错误;
    题目二:1、for循环用自动完成功能,循环条件错误导致无法输入,输出为NULL;
            2、注意输出格式是先age还是gender.
            3、对id属性的赋值不能id=id++.否则打印出的id都将是默认初始值。
  • 相关阅读:
    HDU 4825 Xor Sum
    Linux下使用Crontab定时执行脚本
    HDU 4824 Disk Schedule
    Educational Codeforces Round 26 D. Round Subset 动态规划
    POJ 1833 排列
    HDU 1716 全排列
    HDU 1027 全排列
    Educational Codeforces Round 26 A C 之Python
    ACM输入输出之python
    标准C程序设计七---102
  • 原文地址:https://www.cnblogs.com/201521123065hyw/p/6533732.html
Copyright © 2020-2023  润新知