数组(array)
存储同一数据类型的多个元素的容器.
定义格式:
1:数据类型[] 数组名;(推荐)
int[] arr;
2:数据类型 数组名[];
int arr[];
数组初始化:为数组开辟内存空间,并为数组中的每个元素赋予初始值
1.动态初始化:只给出长度,由系统给出初始化值
格式 : 数据类型[] 数组名 = new 数据类型[数组长度]
数组中的每个元素都是有编号的,从0开始,最大编号就是数组的长度-1
编号 就是数组的 索引(|角标)
获取数组中数据,使用 数组名[索引] 来找到索引位置的数据
栈:储存的是局部变量
局部变量:就是定义在方法中的变量
使用完毕,立即回收
堆:存储的是new出来的东西
每个对象都有地址值
每个对象的数据都有默认值
byte,short,int,long : 0
float,double : 0.0
char : '\u0000'
boolean : false
引用类型 : null
使用完毕后会在垃圾回收器空闲时回收
定义两个数组,把第一个数组的值赋值给第二个, 其实是第一数组的地址值赋值给了第二个 ,通过地址值,两个数组指向同一个堆内存里的数组空间. 两个数组中元素的改变是共享的.
2.静态初始化:给出初始值,由系统决定长度
格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...};
简化格式:
数据类型[] 数组名 = {元素1,元素2,元素3,...};
方法的概述以及基本的使用:
格式:
修饰符 返回值类型 方法名(参数类型 参数名1 , 参数类型 参数名2…);
方法体;
return 返回值;
}
方法是为了提高代码的重复使用性和可维护性.
(String[] args)中的String[]是字符串数组
写一个方法有两个明确:
1.返回值类型 明确功能结果的数据类型
2.参数列表 明确有几个参数以及参数的数据类型
方法的调用:
有明确返回值的方法调用:
1.单独调用, 没用意义
2.输出调用, 有意义, 但不够好,因为可能需要拿结果进行进一步的操作
3.赋值调用, 推荐方式
一个训练题目:
定义一个方法,求出给定的数字在给定int型数组中出现的次数,如果一次没有出现则返回0。
如:给定数字3 求出3在数组 int[] arr = {3,4,3,5,7,9};中出现的次数
定义一个方法,两个明确是:
返回值类型:int
参数列表:int[] arr , int count;
public class HomeWork03 {
public static void main(String[] args) {
int a = 3;
int[] arr = {3,4,3,5,3,9};
System.out.println("出现了" + unitArr(arr, a) + "次");
}
//定义一个方法,两个明确是:
//返回值类型:int
//参数列表:int[] arr , int count;
public static int unitArr(int[] arr, int i){
int unit = 0; //定义一个计数变量
for(int x = 0; x < arr.length; x++){
if(arr[x] == i){ //当指定数字与数组元素相等时,计数变量加1
unit++;
}
}
return unit;
}
}
|
|