数组

1.java中的数组是相同数据类型元素的集合,数组是一种线性数据结构。
2.数组的声明方式:
(1)数据类型(定义数组中可以存储的数据的类型)[]变量名(引用类型)eg:int[]a
(2)数据类型 变量名[] eg:int a[]
3.数组本身是引用类型,即对象,里面既可以存储基本类型,也可以存储引用类型。
4.java中的数组在创建时,必须要为其定义长度,长度一旦定义不能修改,数组在内存空间中是一个连续的空间,为其中的每个存储空间初始化值。
5.数组的创建:
(1)声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值 eg:int []a = new int[10];
(2)声明数组并分配内存,同时将其初始化 eg:int []b = new int[]{1,2,3,4,5,6};
(3)与前一种方式相同,仅仅只是语法相对简略 eg:int []c = {1,2,3,4,5,6}.

public class Demo1 {
    public static void main(String[] args){
        /*数组的声明方式
        * 1.数据类型(定义数组中可以存储的数据的类型) [] 变量名(引用类型)
        * 2.数据类型 变量名 []*/
        /*int [] a;
        int b [];*/
        /*数组本身是引用类型,即对象,里面既可以存储基本类型,也可以存储引用类型*/
        /*java中的数组在创建时,必须要为其定义长度,长度一旦定义不能修改。
        * 数组在内存中是一个连续的空间,为其中的每个存储空间初始化值*/
        //数组创建:
        //1.声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值
        int [] a = new int[10];
        float []f=new float[10];
        //2.声明数组并分配内存,同时将其初始化
        int [] b = new int[]{1,2,3,4,5};
        //3.与前一种方式相同,仅仅只是语法相对简略
        int [] c = {1,2,3,4,5,6};
        //toString方法是将对象以字符串形式输出
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.toString(f));
        System.out.println(Arrays.toString(b));
        System.out.println(Arrays.toString(c));
    }
}

6.toString()方法:将对象以字符串的形式输出。
7.数组中如果存储的基本类型,存储的是具体的值;如果存储的是引用类(类类型),会存储对象的引用。

public class Demo3 extends Object {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String toString(){
        return this.name;
    }
}
public class Test {
    public static void main(String[] args) {
        Demo3 car1=new Demo3();
        car1.setName("car0");
        Demo3 car2=new Demo3();
        car2.setName("car1");
        Demo3 car3=new Demo3();
        car3.setName("car2");
        Demo3 car4=new Demo3();
        car4.setName("car3");
        Demo3 car5=new Demo3();
        car5.setName("car4");
        String[] car={car1.getName(),car2.getName(),car3.getName(),car4.getName(), car5.getName()};
        System.out.println("Car1:"+car[0]+"Car2:"+car[1]+"Car3:"+car[2]+"Car4:"+car[3]+"Car5:"+car[4]);
    }
}

8.访问数组元素
数组中每个位置都会有一个索引(下标,标号)。
索引类型为整型 区间0—数字长度-1
**注意:**使用合法的索引访问,否则会程序终止,抛出异常。
9.使用for循环遍历
for循环:
for(int i;i<数组长度;i++)
foreach循环:
区间是已知的 0——length-1
for(数据类型 变量:要循环的数组/集合) 每循环一次从数组中取出一个元素,赋给前面声明的变量,直到数组中的所有元素遍历完循环终止。

public class Work1 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入一个数据:");
        int x = s.nextInt();
        int []a = {8,4,2,1,23,344,12};
        int y=0;
        for(int i=0;i<=a.length-1;i++){
            if(a[i]==x){
                System.out.println("数组中包含此数");
                break;
            }else {
               y++;
            }
            if(y==a.length){
                System.out.println("数组中不包含此数");
            }
        }
    }
}