Java-Day04

 整理自 韩顺平零基础30天学Java

【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibili

二维数组

        //定义和初始化
        int[][] arr = {{0,0,0},{0,0,0},{0,0,0}};
        //输出二维图像
        //arr.length:二维数组的元素个数
        for (int i = 0; i < arr.length; i++){
            //arr[i].length:每个一维数组的元素个数
            for (int j = 0; j <arr[i].length;j++){
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }

使用

动态初始化1

int a[ ][ ] = new int[2][3]; 

动态初始化2

int a[ ][ ];
a = new int[2][3];

动态初始化3 - 列数不确定

//        列数不确定
        int[][] arr = new  int[3][];
        for (int i = 0; i < arr.length; i++){
            arr[i] = new int[i + 1]; //给一维数组开空间
            for (int j = 0; j < arr[i].length; j++){
                arr[i][j] = i + 1;
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }

静态初始化

int a[ ][ ] = {{1,1,1},{2,2,2},{100}};

杨辉三角

//        杨辉三角
        int n = 10; //层数
        int arr[][] = new int[n][];
        for(int i = 0; i < arr.length; i++){
            arr[i] = new int[i + 1]; //给一维数组开空间
            for (int j = 0; j < arr[i].length; j++){
                if (j == 0 || j == arr[i].length - 1){
                    arr[i][j] = 1;
                }else{
                    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< arr[i].length;j++){
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }

细节

  1. 声明:int[ ][ ] y;     int[ ] y[ ];     int y[ ][ ]; 
    e.g. int[ ] x,y[ ];     //x是一维数组,y是二维数组。
  2. 二维数组由多个一维数组组成,各个一维数组的长度可以相同,也可以不同。不同的叫做列数不等的二维数组。

练习

int[] x,y[];

x[0] = y;                //错误,int[][] -> int

y[0] = x;                //正确,int[] -> int[]

y[0][0] = x;            //错误,int[] ->int

x[0][0] = y;            //错误,x[0][0]没有这种写法

y[0][0] = x[0];        //正确,int ->int

x = y;                   //错误,int[][] -> int[]

数组定义:
String[] strs = {"a","b","c"};
String strs[] = new String[]{"a","b","c"};

冒泡排序

//        冒泡排序
        int[] arr = {20, -1, 89, 2, 890, 7};
        int temp;
        for (int i = 0; i < arr.length - 1; i++){
            for (int j = 0; j < arr.length - 1 - i; j++){
                if(arr[j] > arr[j+1]){
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        for (int i = 0; i < arr.length - 1; i++){
            System.out.print(arr[i]+"\t");
        }

类与对象 OOP

类:数据类型;对象:具体的实例。

对象在内存中的存在形式

引用类型存放的是地址,指向方法区的常量池;基本数据类型存放自身。

属性/成员变量

class Car{
    String name; //属性
    double price;
    String color;
}

属性是类的一个组成部分,可以是基本数据类型,也可以是引用数据类型(对象、数组)。

注意

定义:访问修饰符 属性类型 属性名;
访问修饰符:控制属性的访问范围(public、protected、private、默认

属性不赋值,会有默认值。规则和数组一致。
int、short、byte、long:0;float、double:0.0;char:\u0000;boolean:false;String:null。 

创建对象

  1. 先声明再创建
    Cat cat;
    cat = new Cat();
  2. 直接创建
    Cat cat = new Cat();

访问属性:对象名.属性名;

内存分配机制

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值