Java中数组的基本用法

一维数组

数组的定义:1、数据类型 数据名[] (数据类型 [] 数据名) =new 数据类型[];例如 int a[]=new int [];
2、数据类型 数据名[] (数据类型 [] 数据名) ;//先声明 例如:int a[];
数据名=new 数据类型[];//再创建数组 a=new int [];
3、类型 数组名 []={表达式1,表达式2,表达式3,……}; 例如:int a={1,2,3,4};
数组的初始化:1、静态初始化是指在定义数组的同时就为数组元素分配空间并赋值。(上述的数组的第三种定义方式也就是数组的静态初始化方式。)
2、动态初始化是指数组的定义与数组分配空间和赋值的操作分开进行。
例如:int a[]=new int [5];//int a[];a=new int [5];
a[0]=0;a[1]=1;a[2]=2;a[3]=3;a[4]=4;
数组的使用:数组名[下标];例如:a[4];//访问的是第五个元素
注:数组元素的下标都是从0开始的。

多维数组

二维数组:

数组的定义:1、数据类型 数组名[行数][列数]=new 数据类型[][]; 例如:int a[][](int [][]a)=new int [][];
2、数据类型 数组名[][];数组名=new 数据类型[][]; String s[][];//String [][]s;
s=new String[][];
3、数据类型 数组名 [][]={{},{},{}};例如:int a[2][3]={{1,2,3},{4,5,6}};

二维数组的静态初始化和动态初始化概念与一维数组相同。

注:二维数组的动态初始化有两种方式:
1、与一维数组的动态初始化方式相同。
2、由高维到低维依次进行空间分配,此时分配的数组的空间可以是任意形状的。
例如:int a[][]=new int[3][];
a[0]=new int [2];
a[1]=new int [3];
a[2]=new int [4];

这样就把一个共三行的数组定义成了第一行有2个数据元素,第二行有三个数据元素,第三行有四个数据元素的数组。

对象数组

例如:

public class Demo_13 {
    public static void main(String []args){
        Cat a[]=new Cat[3];
        a[0]=new Cat();//尤其注意
        a[0].setAge(4);
        a[0].setName("小花");
    }
}

class Cat{
    int age;
    String name;

    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
public class Demo_12 {
    public static void main(String []args){
        Fow fow[]=new Fow[3];
        fow[0]=new Rose();
        fow[1]=new Lily();
        fow[2]=new Peony();
        for(int i=0;i<fow.length;i++)
        {
            fow[i].show();
            fow[i].show_smell();
        }
    }

}

abstract class Fow{
    private int id;
    public int get_id() {
        return id;
    }
    public void set_id(int id) {
        this.id = id;
    }
    abstract void show();
    abstract void show_smell();
}

class Rose extends Fow{
    public void show(){
        System.out.println("我是玫瑰花");
    }
    public void show_smell(){
        System.out.println("我有玫瑰香");
    }
}

class Lily extends Fow{
    public void show(){
        System.out.println("我是百合花");
    }
    public void show_smell(){
        System.out.println("我有百合香");
    }
}

class Peony extends Fow{
    public void show(){
        System.out.println("我是牡丹花");
    }
    public void show_smell(){
        System.out.println("我有牡丹香");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值