系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
一、数组
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
数组的特点:
1.数组是一种引用数据类型
2.数组当中可以存储多个数据,但是类型必须统一
3.数组的长度在程序的运行期间,是不可改变的
二、数组的定义格式
第一种:数据类型[] 数组名
第二种:数据类型 数组名[]
三. 数组的初始化
1. 动态初始化
在Java中的动态初始化
类型 对象名= new 类型
数据类型[] 数组名=new 数据类型[数组长度];
动态初始化可以拆开分为两步骤
2.静态初始化
Java中写法:
数据类型[] 数组名称= new 数据类型{元素1,元素2,元素3…}
注意事项:虽然静态初始化没有告诉编译器数组的长度,但是可以根据大括号里面的内容进行推测长度
不省略的静态初始化可以拆开分为两步骤
数组的内存
直接打印数组名称,得到的是数组对应的:内容地址的哈希值
数组的下标是从0开始的
数组常见的问题
数组是从编号0开始的,到数组长度-1结束
容易出现数组越界问题
数组的空针异常问题
总结
卢勇志 11:55:32
package demo01;
/*
- 1.数组的概念:是一种容器 可同时存放多种 同类型数据类型 的多个数据
- 2.数组的特点
- 数组是一种引用数类型
- 数组当中可以存储多个数据,但数据类型必须统一
- 数组的长度在程序运行期间 是不可改变的
- 3.数据的初始化
- 动态初始化
- c语言的定义int temp[10]、
- java中的动态初始化 类型 对象名=new 类型 、数据类型[] 数组名称= new 数据类型[数组长度]
- 静态初始化
- C语言int temp[]={};
- java写法
- 数据类型[] 数组名称= new 数据类型{元素1,元素2,元素3…}
- 注意事项:
- 虽然静态初始化没有告诉编译器数组长度但是可以根据大括号里面的内容进行推测
*/
public class Demo01Array {
public static void main(String[] args) {
//创建一个数组用来存放55个int数据
//学号
int [] arrayA= new int [55];//动态初始化
//java 成绩
double [] arrayB= new double [55];
//姓名
//String[] arrayC= new String[55];
//动态初始化也可以拆成两部分
String[] arrayC;
arrayC= new String[55];
//数组静态初始化
int[] arrayD= new int[] {1,2,3,4,5};
//String[] arrayE= new String[] {"zyh","zzh","zzl"};
//不省略的静态初始化可以拆成两步骤
String[] arrayE;
arrayE= new String[] {"zyh","zzh","zzl"};
//数组静态初始化的省略写法
//String[] arrayF= {"zyh","zzh","zzl"};
//String[] arrayF;
//arrayF= {"zyh","zzh","zzl"};
//错误写法,省略静态初始化不能拆开
//注意事项
}
}
卢勇志 11:55:43
package demo01;
/*
- 直接打印数组名称,得到的是数组对应得: 内存地址的哈希值
*/
public class Demo02ArrayUse {
public static void main(String[] args) {
int[] array= {10,20,30,40,50};
System.out.println(array);
//数组的下标是从0开始的
System.out.println(array[0]);//第0编号元素
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println("=========");
int num=array[3];
System.out.println(num);
}
}
卢勇志 11:55:55
package demo01;
/*
- 动态初始化
*/
public class Demo03Array {
public static void main(String[] args) {
int [] arrayA=new int [3];
System.out.println(arrayA);
System.out.println(arrayA[0]);
System.out.println(arrayA[1]);
System.out.println(arrayA[2]);
System.out.println("===============");
double [] arrayb=new double [3];
System.out.println(arrayb);
System.out.println(arrayb[0]);
System.out.println(arrayb[1]);
System.out.println(arrayb[2]);
System.out.println("===============");
String[]arrayc= new String[3];
System.out.println(arrayc);
System.out.println(arrayc[0]);
System.out.println(arrayc[1]);
System.out.println(arrayc[2]);
System.out.println("===============");
arrayc[2]="中国女足";
System.out.println(arrayc[0]);
System.out.println(arrayc[1]);
System.out.println(arrayc[2]);
}
}
卢勇志 11:56:05
package demo01;
/*
*
- 数组编号从0开始,到数组长度-1结束
- 容易出现数组越界的问题
*/
public class Demo04ArrayIndex {
public static void main (String[] args) {
int[] array= {10,20,30};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
//数组越界
System.out.println("===============");
//System.out.println(Array[3]);
//int[]arrayA;
//arrayA=new int[3];
//System.out.println(array[3]);
//数组的空指针异常
int[]arrayA=null;
//arrayA=new int[3];
System.out.println(arrayA[0]);
}
}
卢勇志 11:56:34
package demo01;
public class Demo05Array {
public static void main(String[]args) {
int[] arrayA= new int[3];
int[] arrayB= {1,2,3,3,43,4,3,43,4,3,4};
int len= arrayB.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(arrayB[0]);
System.out.println(arrayB[1]);
System.out.println(arrayB[2]);
System.out.println(arrayB[3]);
System.out.println("=======");
for(int i=0;i<5;i++) {
System.out.println(arrayB[i]);
}
System.out.println("=======");
for(int i=0;i<arrayB.length;i++)
{
System.out.println(arrayB[i]);
}
}
}