数组
解决一个变量只能存放一个数据
数组的特点:数组是一种引用数据类型,数组中的数据类型要同意,数组的长度在程序运行当中不可以进行改变
数组的初始化:
动态初始化(指定数组的长度):数据类型【】 数组名称 = new 数据类型【数组长度】
例:
int[] firstArray = new int[300];
//创建一个数组可以放三个字符串
String[] array = new String[3]
静态初始化(指定内容):数据类型【】 数组名称 = new 数据类型【】{元素1,元素2,元素3}
int[] array = new int[]{1,2,3};
虽然没有直接告诉长度但是可以自动推算长度,所以数组一定有长度
省略版:使用静态初始化格式可以省略一下数据类型【】 数组名称 ={元素1,元素2,元素3}
注意:省略模式不可以拆分成两个步骤
访问数组元素进行获取
格式:数组名称[索引值]
JAVA中的内存化分
1.栈内存(stack):存放的都是方法的局部变量(方法参数以及内部变量)作用域:一旦出了作用域就从内存栈中小时;方法运行一定在栈中运行
2.堆(heap):凡是new出来的东西都在堆当中,内存里面的东西有一些地址值
3.方法区(Method Area):存储class相关信息,包含方法的信息
4.本地方法栈(Native Method Stack):与操作系统相关
5.寄存器(register):与cpu相关
数组的内存图
获取数组长度
格式:数组名称.length
数组一旦创建,数组长度不可以改变
数组的反转代码经验积累
package cn.connor.day05.demo02; public class demo03reverse { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; int[] arrayreverse = reverse(array); for(int i=0;i<array.length;i++){ System.out.println(arrayreverse[i]); } } public static int[] reverse(int[] array) { for (int min =0,max=array.length-1;min<max;min++,max--) { int temp = array[min]; array[min]=array[max]; array[max]=temp; } return array; }
数组作为方法的返回值:解决一个方法想返回多个元素
将想返回的内容存在数组中,在调用的时候按照需求取出即可