数组
1.数组的概念
数组是一种容器 可以同时存放 同种数据类型的多个数据
2.数组的特点
(1)数组是一种引用数据类型
(2)数据当中可以存储多个数据,但是类型必须统一
(3)数组的长度在程序的运行期间是不可改变的
3.动态初始化
c语言中的定义:
int num[10];
java中的动态初始化:
类型 对象名 = new 类型
数据类型[] 数组名称 = new 数据类型[数组长度]
4.静态初始化
c语言中的写法:
int num[]={};
java中的写法:
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3…};
注意:
虽然静态初始化没有告诉编译器数组的长度, 但是可以根据大括号里面的内容进行推测长度
public class Demo01Array {
public static void main(String[] args ) {
int[] arr=new int[55];
double [] arry =new double[55];
String[] arrya;
arrya =new String[55];
int [] arryb =new int[] {1,2,3,4,5,6} ;
String[] arryc =new String[] {};
//String[] arryc;
//arryc =new String[] {};
String[] arryd= {"皮牌","飞羽","下线"};
//arryd= {"皮牌","飞羽","下线"}; 错误
}
}
public class Dem02 {
public static void main(String[] args) {
int[] array = {10,20,30,40,50,};
System.out.println(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
int num =array[3];
System.out.println(num);
//char n ='s';
}
}
package Demo01;
public class Demo03 {
public static void main(String[]args) {
int [] array =new int[3];
System.out.println(array[0]);//0
System.out.println(array[1]);//0
System.out.println(array[2]);//0
double [] arraya =new double[3];
System.out.println(arraya[0]);//0.0
System.out.println(arraya[1]);//0.0
System.out.println(arraya[2]);//0.0
String [] arrayc =new String[3];
System.out.println(arrayc[0]);//null
System.out.println(arrayc[1]);//null
System.out.println(arrayc[2]);//null
arrayc[2] ="中国女足";
System.out.println(arrayc[0]);//null
System.out.println(arrayc[1]);//null
System.out.println(arrayc[2]);//中国女足
}
}
public class Demo04 {
public static void main(String[] args) {
int [] array =new int [] {10,20,30,40};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
//System.out.println(array[4]); 错误
//空指针
int[] arrayA=null;
//arrayA=new int[] {};
System.out.println(arrayA[0]);
}
}
public class Demo05 {
public static void main (String[] args) {
int[] array = new int[3];
int[] arrayA = {1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,33,3};
int len =arrayA.length;
System.out.println(len);
//这两个地址不相同
int[] arrayc = new int[3];
System.out.println(arrayc.length);
arrayc =new int[5];
System.out.println(arrayc.length);
//数组的使用
System.out.println("====================");
System.out.println(arrayA[0]);
System.out.println(arrayA[1]);
System.out.println(arrayA[2]);
System.out.println("====================");
for(int i=0;i<10;i++) {
System.out.println(arrayA[i]);
}
System.out.println("====================");
for(int i=0;i<arrayA.length;i++) {
System.out.println(arrayA[i]);
}
}
}
结果
20
3
5
====================
1
2
3
====================
1
2
3
3
3
3
3
3
3
3
====================
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
33
3
2020080605012