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

教材学习内容总结

1一类一文件。
2一个原始码中只能有一个公开类,一个类定义产生一个.class文档。
3如果参考名称与数据成员同名时,将参数的值指定给对象的数据成员时要在数据成员前加this.
4当=用于基本类型时,是将值复制给变量,当用于基本类型时,是比较两个变量储存的值是否相同。
5操作对象时,=是用在指定参考名称参考某个对象,而
是用在比较两个参考名称是否参考同一对象。
6数组在java中就是对象,索引由0开始,存取超出索引范围就会出现错误。
7比较字符串实际字符内容是否相同,不要使用==,要使用equals().
8取值方法的名称形式是固定的 ,也就是以get开头,之后接上首字母大写的单词。
9this()表示调用一个构造函数。
10在static方法或者区块中不能出现this关键字。

教材学习中的问题和解决过程

package irregulararray;
public class IrregularArray {
    public static void main(String[] args) {
        int [][] arr = new int[2][];
        arr[0] = new int[]{1,2,3,4,5};
        arr[1] = new int[]{1,2,3};
        for(int[] row:arr){
            for(int value :row){
                System.out.printf("%2d",value);
            }
            System.out.println();
        }
    }
    
}

看书上的注释只知道new int[2][]是声明arr参考的对象会有两个索引,但是长度不同的数组时怎么排列的不是很明白。看下面的循环语句应该是将两个已定义长度数组的值从行到列排序然后输出他们的值。

代码调试中的问题和解决过程

编辑P104代码时出现错误。

原来是漏了关键的语句:import java.util.Arrays;

package copyarray;
import java.util.Arrays;

public class CopyArray {
    public static void main(String[] args) {
        int[] scores1 = {88,81,74,68,78,76,77,85,95,93};
        int[] scores2 = Arrays.copyOf(scores1,scores1.length);
        for(int score : scores2){
            System.out.printf("%3d",score);
        }
        System.out.println();
        scores2[0] = 99;
        for(int score : scores1){
            System.out.printf("%3d",score);
        }
    }
    
}

修改成功。代码中的import java.util.*;代表你导入了java.util包中的所有类。

其他(感悟、思考)

这两章的内容消化起来比较难,还需要时间去消化。还有平时编辑代码的时候一定要细心认真才不容易犯错。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第一周 100/100 2/2 10/10 认识java
第二周 150/250 1/3 10/20 java入门
第三周 100/350 1/4 10/30 了解java重要知识点

代码托管情况:

原文地址:https://www.cnblogs.com/20145122chengzhiyin/p/5299494.html