数组
数组的概念
*1.数组的概念: 是一种容器 可以同时存放 同种数据类型的 多个数据
*
- 2.数组的特点:
-
1.数组是一种引用数据类型
-
2.数据当中可以存储多个数据,但是类型必须统一
-
3.数组的长度在程序的运行期间 是不可改变的
-
- 动态初始化
- c语言的定义
- int num[10];
- java 中的动态初始化
- 类型 对象名 = new 类型
- 数据类型[] 数组名称 = new 数据类型[数组长度]
- (2)静态初始化
- c语言写法
- int num[]={};
- java写法
- 数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3…}
- 注意事项:
- 虽然静态初始化没有告诉编译器数组的长度, 但是可以根据大括号里面的内容进行推测长度
- */
public class Demo01Array {
public static void main(String[] args ) {
//1 数组的动态初始化
int[] arr=new int[55];//动态初始化
double [] arry =new double[55];
//姓名
//String[] arrya =new String[55];
String[] arrya;
arrya =new String[55];
//2静态初始化
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) {
// TODO 自动生成的方法存根
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]);
System.out.println(array[1]);
System.out.println(array[2]);
double [] arraya =new double[3];
System.out.println(arraya[0]);
System.out.println(arraya[1]);
System.out.println(arraya[2]);
String [] arrayc =new String[3];
System.out.println(arrayc[0]);
System.out.println(arrayc[1]);
System.out.println(arrayc[2]);
arrayc[2] ="中国女足";
System.out.println(arrayc[0]);
System.out.println(arrayc[1]);
System.out.println(arrayc[2]);
}
}
结果
0
0
0
0.0
0.0
0.0
null
null
null
null
null
中国女足
/*
*
* 、
* 数组的编号从0开始,到n-1结束
*
* 任意出现数组越界的问题
*
*
*
*
* */
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
**2020080605013
**