关于方法是否有返回值?
如果在接下来的代码中要使用到该返回值,则需要写返回值。
数组
一维数组
- 容器,存储多个数据类型一致的元素。
即可存基本数据类型,也可存引用数据类型,长度是固定的。
- 动态初始化:由我们指定数组长度,由系统为数组元素赋默认值。
int m[]=new int[4];
- 静态初始化:由我们为数组元素赋默认值,由系统为数组计算数组长度。
int []m=new int[]{ 1,2,3,4};
int m[]={1,2,3,4};
-
数组的下标
数组的下标是从0开始,例如有一个一维数组的长度为4,那么它的下标分别为:0,1,2,3
-
数组的正反向遍历
int []arr; arr= new int[]{1, 2, 3, 4, 5};//静态初始化 for (int i=0;i<arr.length;i++){ System.out.print(arr[i]+"\t"); } System.out.println(); //反向遍历 for (int i=arr.length-1;i>=0;i--){ System.out.print(arr[i]+"\t"); }
二维数组
-
概念:元素为一维数组的数组
-
定义方式
-
动态初始化
int [][]arr=new int[2][3]
2代表二维数组的长度,3代表二维数组中一维数组的长度
在初始化二维数组时,自动初始化好了里面的一维数组
int [][]arr=new int[2][]
第二个括号不给值就不会初始化一维数组,
sout(arr[0]) 打印一维数组的地址
ou(arr)打印二维数组的值
-
赋值方法(不全)
int [][]a=new int[][]{{1,22},{2,3},{3,4}};
该数组中最外面的{}为二维数组的括号,里面有3个{},每个{}中有2个数据,表示该二维数组有3个一维数组的数组,每个一维数组中有2个元素,该二维数组中一共有6个元素。
int [][]a=new int[3][4];
a[0][1]=2;
也可以这样一一赋值
int [][]arr=new int[2][];
arr[0]=new int[]{1,2,3};
//可以用这种方式重新赋值 -
静态初始化
int [][]arr=new int[][]{{1,2,3},{4,5,6}};
int [][]arr={{1,2,3},{4,5,6}};
-
-
二维数组的遍历
局部变量在栈内存,成员变量属于对象
int [][]arr; arr= new int[][]{{1,2,3}, {4,5,6}, {7,8,9}};//静态初始化 for (int i=0;i<arr.length;i++){ for (int j=0;j<arr[i].length;j++){ System.out.print(arr[i][j]+"\t"); } System.out.println(); } System.out.println(); //反向遍历 for (int i=arr.length-1;i>=0;i--){ for (int j=arr[i].length-1;j>=0;j--){ System.out.print(arr[i][j]+"\t"); } System.out.println(); }
数据类型与内存
(简单介绍)
- 数据类型分为基本数据类型和引用数据类型
- 数组为引用类型。
- 内存分为方法区,堆内存,方法栈,本地方法栈,寄存器。
- 基本数据类型存放在内存的栈中,引用数据类型通过new关键字在堆中开辟一个空间来存放
- 基本数据类型中的数据和局部变量(在方法体中的变量)会随着压栈(进栈)而暂时存放在栈中、随着弹栈(出栈)而消失,引用类型和成员变量(在给某个类初始化对象时,在该类中的成员变量为该对象的属性)存放在堆中
- 堆中的数据在变量的生命周期结束后,由垃圾回收机制进行回收。