第二周作业

问题一

1.1

changeStr:尝试将x赋值为“xyz”

changeArr:遍历string数组,把数组的每个元素都接上他们的索引

1.2

main方法里的x没有被改变,因为x的类型是string,非可变对象

1.3

改变了 因为这里对数组进行更改 是可变的 可影响原数组

1.4

来自于命令行参数 如果是命令行就在java test.java后面加参数,如果IDE就按老师上课讲的修改运行配置的方法

问题二

2.1

第一行:2 1 0;第二行:2 1 0

因为数组是引用类型,int[] arrx=arr把arr的引用值给了arrx,指向同一个地址,他们的结果完全一样

2.2

strArr是一个字符串类的引用数组,当strArr[1]="xx"时,不是修改string对象的内容,而是让strArr[1]重新指向了一个新的字符串 xx

问题三

定义了一个二维数组,第二维的长度不一定,第一维的长度为5;完整代码

public class TwoDArray{
    public static void main(String[] args){
        int[][] arr = new int[5][];
        arr[0]=new int[2];
        arr[1]=new int[3];
        arr[2]=new int[4];
        arr[3]=new int[5];
        arr[4]=new int[6];
        
        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
                arr[i][j]=i*10+j
            }
        }
        
        System.out.println("遍历:");
        for (int[] subArr : arr){
            for(int num : subArr){
                System.out.print(num+" ");
            }
            System.out.println();
        }
    }
}

问题四

类相当于一个模板 定义一个大的集合,对象是类的具体实现,是具体的某一个

math类没有对象

string里大多数是public的方法,一个用于储存字符串的值的private final char value[]属性是private方法

设置的原因是防止内部内容被外部直接修改,保障string的不可变性,public的方法都是获取值的 不涉及修改

问题五

这两种类型的封装性更好,防止被其他类随意修改属性值

问题六

一.声明时

public class XXX(){
    ...
}

二.构造方法中

public Person(){
    ...
}
posted @ 2025-09-12 14:58  KinthYu  阅读(4)  评论(0)    收藏  举报