day06 数组和对象

1:二维数组定义格式?

看懂针对每种格式的内存图解?

动态初始化
A:数据类型[][] 数组名 = new 数据类型[m][n];
B:数据类型[][] 数组名 = new 数据类型[m][];
静态初始化
C:数据类型[][] 数组名 = new 数据类型[][]{{…},{…},{…}};
D:数据类型[][] 数组名 = {{…},{…},{…}};
内存图解

2:案例

A:二维数组遍历
public class Array {
    public static void main(String[] args) {
        int[][] arr = {{1, 2, 3}, {4, 5, 6}};
        printArray(arr);
    }

    // 遍历二维数组
    public static void printArray(int[][]arr){
        for (int x = 0; x < arr.length; x++) {
            for (int y = 0; y < arr[x].length; y++) {
                System.out.print(arr[x][y] + " ");
            }
            System.out.println();
        }
    }
}

B:公司年销售额求和
	某公司按照季度和月份统计的数据如下:单位(万元)
	第一季度:22,66,44
	第二季度:77,33,88
	第三季度:25,45,65
	第四季度:11,66,99
public class Sum {
    public static void main(String[] args) {
        int [][] arr={{22,66,44}, {77,33,88}, {25,45,65}, {11,66,99}};
        printArray(arr);
    }

    // 遍历二维数组
    public static void printArray(int[][]arr){
        int sum = 0;
        for (int x = 0; x < arr.length; x++) {
            for (int y = 0; y < arr[x].length; y++) {
                sum += arr[x][y];
            }
        }
        System.out.println(sum);
    }
}

C:打印杨辉三角形(行数可以键盘录入)
import java.util.Scanner;
public class YangHui {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 通过键盘输入行数
        System.out.println("请输入行数:");
        int a = sc.nextInt();
        // 定义一个数组,行列数都一样
        int[][]arr=new int[a][a];
        for (int i=0;i<arr.length;i++){
            arr[i][i]=1;//将三角形的每一行的最后一个元素置成1
            arr[i][0]=1;//将每一行的第一个数,置成1
        }
        for (int i =2; i < arr.length; i++) {
            for (int j =1; j <= i-1; j++) {
                //第三行开始,中间的数等于我上一行的前一列的数和我上一行本列的数之和
                arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
            }

        }
        // 遍历二维数组
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j <=i; j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
    }
}

3:两个思考题

A:参数传递问题
B:数据加密问题

Java中只有值传递
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
数据加密

4:回顾前5天知识,准备考试。

准备纸张和笔。
如果要用多张纸,要求每张纸张都写上自己的名字。
字迹要清晰明了,否则直接扣分1分。

5:面向对象思想概述和举例

当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的方法,来实现
一台电脑,一辆汽车,一部手机等

6:类与对象分别是什么,举例说明

  • 类是相同或相似对象的一种抽象,是对象的一个模板,它描述一类对象的行为和状态。
  • 类是具有相同属性和方法(行为)的对象的集合
public class People {
//属性(成员变量) 有什么
    double height;  //身高
    int age;     //年龄
    int sex;    //性别,0为男性,非0为女性

//方法 干什么
    void cry(){
        System.out.println("我在哭!");
    }
    void laugh(){
        System.out.println("我在笑!");
    }
    void printBaseMes(){
        System.out.println("我的身高是"+height+"cm");
        System.out.println("我的年龄是"+age+"岁");
        if(this.sex==0)
            System.out.println("我是男性!");
        else
            System.out.println("我是女性!");

    }
}

比如对 People这个类,我想实例化LiLei这个人。LiLei 的数据类型便是 People 这个类型
(类可以看成使我们自己定义的数据类型)

public class NewObject {
    public static void main(String[] args) {
        People LiLei = new People(); //创建一个People对象LiLei

        LiLei.height =170;
        LiLei.age = 20;
        LiLei.sex = 1;

        LiLei.printBaseMes();
    }
}

7:如何定义一个类,类的组成

成员变量 定义格式和以前一样,就是位置不同,在类中,方法外。
成员方法 定义格式和以前一样,就是去掉了static。

类名 对象名 = new 类名();

8:如何使用一个类的成员

对象名.成员变量
对象名.成员方法()

9:模仿学生类和手机类写一个人类,并测试。

public class People {
//属性(成员变量) 有什么
    double height;  //身高
    int age;     //年龄
    int sex;    //性别,0为男性,非0为女性

//方法 干什么
    void cry(){
        System.out.println("我在哭!");
    }
    void laugh(){
        System.out.println("我在笑!");
    }
    void printBaseMes(){
        System.out.println("我的身高是"+height+"cm");
        System.out.println("我的年龄是"+age+"岁");
        if(this.sex==0)
            System.out.println("我是男性!");
        else
            System.out.println("我是女性!");

    }
}
public class NewObject {
    public static void main(String[] args) {
        People LiLei = new People(); //创建一个People对象LiLei

        LiLei.height =170;
        LiLei.age = 20;
        LiLei.sex = 1;

        LiLei.printBaseMes();
    }
}
javac NewObject.java People.java
java NewObject

猜你喜欢

转载自blog.csdn.net/hezuijiudexiaobai/article/details/107574661
今日推荐