(方法)数组
1.什么叫数组
- 数组是相同类型数据(任何数据类型)的有序组合或者集合
- 可以通过访问数组的下标来探究数组中的元素
2.数组的声明和创建
-
创建数组之前必须要先声明数组,然后再在程序中,其使用语法为:变量类型[ ]变量名称就类似于:(String[]args)
-
创建数组的语法为:变量类型[ ]变量名称=new 变量类型[定义存储空间];
-
超出范围的变量,输出变量类型的默认值
-
获取数组的长度可以用变量名称.length
-
数组的对象全部都在栈里面,需要用数组的下标来访问数组当中的元素;
-
package com.yy.www; public class JAVA09 { public static void main(String[] args) { int[]num1=new int[7]; num1[0]=1; num1[2]=1; int sum=0; for (int i = 0; i < num1.length ; i++) { sum=sum+num1[i]; } System.out.println(sum);//输出2 } }
3.三种初始化及内存分析
-
数组创建后如果没有赋值,默认为其数据类型的默认值,int,short,byte,long默认为0,double,float默认为0.0,char默认为/u0000,String默认为null,boolean默认为false
-
(1)动态初始化1
-
声明数组和创建数组在一行当中;
int[] num1=new int[7];
-
(2)动态初始化2
-
先声明后创建
int[]num1;//默认为null,int[]num1=null; num1=new int[7];
-
(3)静态初始化
-
直接给数组中各个元素赋值
int[]num1={ 1,2,3,4,5};
-
-
-
栈就是存放new的对象和数组;就是(存放声明数组的),用完消失
-
堆就是用来存放数据的数据类型和引用对象的变量(存放创建数组的空间和数据类型)
4.下标越界及小结
- 编译不会去检查数组有没有越界,只有当运行程序的时候才会报错,提示程序报错,栈溢出
- 数组的长度是确定的,不能改变,如果越界,就会报错ArrayslndexOutofBounds
5.数组的使用
-
(1)声明数组并开辟空间
-
(2)为数组各个元素赋值
-
(3)使用数组
package com.yy.www; public class JAVA07 { public static void main(String[] args) { //数组的使用 int[] num1={ 1,2,3,4,5}; for (int i : num1) { //也称之为数组的遍历(取不到下标,直接输出) System.out.println(i);//输出1 2 3 4 5 } } }
package com.yy.www;
public class JAVA07 {
public static void main(String[] args) {
//数组的使用
int[] num1={
1,2,3,4,5};
for (int i : num1) {
//也称之为数组的遍历
System.out.println(i);//输出1 2 3 4 5
}
System.out.println("========");
int[] sda = sda(num1);
sad(sda);//输出 1 2 3 4 5 原来的数组并不会改变
}
//打印数组元素
public static void sad(int[]arrays){
for (int i = arrays.length-1; i >=0; i--) {
System.out.println(arrays[i]