5.1数组(一维部分)
大纲:
定义:数组是具有相同数据类型的一组数据的集合.
分类:一维数组;二维数组;三维数组,多维数组
5.2一维数组:
5.2.1创建一维数组
数组作为对象允许使用new关键字进行内存分配,在使用前,必须定义数组类型所属的类,即声明数组,一般两种格式:
1,数组元素类型 数组名字[];
2.数组元素类型[] 数组名字;
注意: *1,数组元素类型:决定了数组的数据类型,它可以是JAVA中任意的数据类型,包括基本数据类型和非基本数据类型.
*2,数组的名字:为一个合法的标识符.
*3,符号"[]":指明该变量是一个数组类型变量,单一个"[]"表示要创建的数组是一维数组.
<例>:
int arr[];//声明int型数组,数组中的每个元素都是int型数值.
String []str;//声明String数组,数组中的每个元素都是String型数值
声明后,还不能访问它的任何元素,因为仅仅有了数组名字和类型,还要必须为其分配内存空间,还必须指明数组长度.
格式: 数组名字 =new 数组元素类型[数组元素的个数];
注意: *1,数组的名字:已声明的数组变量的名称.
*2,new:对数组分配空间的关键字.
*3,数组元素的个数:指定数组中变量的个数,即数组的长度.
<例>:
为数组分配内存: arr=new int[5];
使用new关键字为数组分配内存时,数组中各个元素的初始化值都是0.
创建数组和分配内存不一定要分开执行.
格式: 数组元素类型 数组名[]=new 数组元素类型[数组元素个数];
<例>:
int month[]=new int[12];//指定元素month,数组长度12.
5.2.2初化一维数组
数组可以与数据类型一样进行初始化操作,数组初始化可分别初始化数组中每一个元素,
有两种形式:1:int arr[]=new int[]{1,2,3,4,56};
2.int arr2[]={23,34,12,3};
数组初化始方式是:把数据类型包括在大括号内,中间用逗号分开数组,系统自动为数组分配一定的空间.
5.2.3遍历一维数组
遍历数组就是获取数组中的每个元素.通常使用for循环实现.
package 基本数据类型; import java.util.Scanner; public class 一维数组 { public static void main(String[] args) { //数组 int i=0; //写法 int[]s; String t[]; //数组在使用前,一定初始化大小 int []a=new int[5];//数组初始化,开辟5个新空间,代表数组长度 //数组的索引:从0开始,01234 //索引的最大值=数组的长度-1; a[0]=0; a[1]=1; a[2]=2; a[3]=3; a[4]=4; System.out.println("a[2]="+a[2]); //数组长度属性,返回int型 int l=a.length; System.out.println("a.length="+l); //数组集合的建立 for(int n=0;n<5;n++) { System.out.print("请给数组a["+n+"]赋值:"); Scanner number=new Scanner (System.in); a[n]=number.nextInt(); System.out.println("a["+n+"]="+a[n]); } System.out.println(); //数组的遍历 System.out.println(); for(int n=0;n<a.length;n++) { System.out.println("a["+n+"]="+a[n]); } //foreach循环 //遍历输出a for(int q:a) { System.out.println(q); } //遍历输入方式 String[]sa=new String[]{"abc","def","xyz"}; String[]sa1={"abc","def","ghi","xyz"}; System.out.println("sa.length="+sa.length); System.out.println("sa1.length="+sa1.length); } } 答案:a[2]=2 a.length=5 请给数组a[0]赋值:1 a[0]=1 请给数组a[1]赋值:2 a[1]=2 请给数组a[2]赋值:3 a[2]=3 请给数组a[3]赋值:4 a[3]=4 请给数组a[4]赋值:5 a[4]=5 a[0]=1 a[1]=2 a[2]=3 a[3]=4 a[4]=5 1 2 3 4 5 sa.length=3 sa1.length=4
练习:
1 //练习 输出数组最大数 2 int []arr=new int[]{8,2,10,11}; 3 int max=arr[0]; 4 for(int i=0;i<arr.length-1;i++) 5 { 6 if(max<arr[i+1]) 7 { 8 max=arr[i+1]; 9 } 10 } 11 System.out.println("最大数是"+max); 12 13 14 答案:最大数是11