方法和数组初识

方法和数组初识

1. 方法总结

1.1 方法的三要素
方法名【重要】
	调用方法使用的名字
形式参数列表
	该方法执行需要的外来数据
返回值类型
	当前方法给予外部的反馈
1.2 方法名
【注意】
	见名知意,动宾结构,小驼峰命名法

我们需要通过方法名直接告诉调用该方法的程序员,这个方法是做什么的。
	setStudentName ssn getAttribute 
	keySet  modify delete remove add set get copy
	XXXXSet
	XXXXs

方法名字的选择,不允许出现拼音,简拼
1.3 形式参数列表
是当前方法运行所需的外来数据。

思考当前方法运行所需的必要数据	
	1. 不能太多,不能太少
	2. 数据类型选择
	3. 格式和顺序要求和实际参数一模一样
	例如:
		(int num1, double num2, char ch, float num3); 
		正确格式(1, 3.14, 'a', 5.5F);
		错误格式(3.5F, 'A', 200, 4.5);
		错误 实际参数个数一个能不能少
1.4 返回值类型
return 
	1. 返回return之后的数据
	2. 结束当前方法的运行

当前方法运行对外反馈的数据
	1. 数据类型
	2. 返回值的含义,需要使用【文档注释】解释清楚
	3. 考虑是否使用对应的返回值
	4. 需要方法中慢慢的总结和选择!!!

2. 封装方法的过程建议

1. 需求分析
	方法名,形式参数列表,返回值类型。
	考虑清楚当前需求到底是要做什么,需要什么,返回什么。

2. 注释帮助
	思考方法运行的每一步,使用注释帮助你完成代码的基本逻辑
	【伪代码】

3. 实现代码
	按照注释完成代码,在完成当前步骤操作时,不要考虑之后的流程
	发现不对,不要头铁!!!扭头从来
	
4. 测试
	测试正确情况下代码是否可以运行。
	测试错误情况!!!

3. 数组【重点】

3.1 为什么使用数组
代码中存在处理相同数据类型,大量数据的形式存在,如果一个一个变量定义,会导致代码出现以下一些问题:
	1. 代码冗余
	2. 代码阅读性极差
	3. 代码维护性极差
3.2 生活中的数组案例
超市
	归纳总结!!!

图书馆:
	社科类书籍
	<<电路>> 
	图书馆5楼
	200-05-01~05
	T-200-05-01 ~ 05
	
	这些书有很多本,一定是在同一个书架上,同一个位置,并且每一本都有一个独立的编号
	每一本都是同一个类型,但是我需要独立的编号来区分每一个个体
	
	1. 存在在同一个位置
	2. 有一个统一的编号 T-200-05
	3. 每一本书都一个一个独立的标记 01 ~ 05
3.3 Java中定义数组的格式[重点]
 数据类型[] 数组名 = new 数据类型[容量]; Capacity
 /*
 赋值号左侧内容:
     数据类型:
     	告知当前编译器数组中有且只能保存哪一种数据类型,并且强制要求数据类型
     	一致化!!!
     []:
     	1. 告知编译器这里定义的是一个数组类型
     	2. 告知编译器数组名是一个【引用数据类型】
     数组名:
     	1. 操作数组非常重要的名字
     	2. 同时也是一个【引用数据类型】的变量
 
 赋值号右侧:
 	new:
 		"创建数组的一个关键字"
 	数据类型:
 		前后呼应,必须一致!!!强制要求当前数组中能够保存的数据类型是哪一个
	[容量]:
		告知编译器当前数组中能够保存的数据容量是多少!!!
		并且一旦确定容量,不可更改!!!
 */
3.4 数组的使用方式
数组名[有效下标] 来操作数组中指定下标的元素,可以赋值,可以取值。

有效下标:
	数组中有效下标范围是从0 开始 到数组的容量 - 1
	例如: 一个容量为10的数组,有效下标范围是 0 ~ 9
	
	操作非法下标遇到的异常
		ArrayIndexOutOfBoundsException 数组下标越界异常
	负数下标全部都是非法的,但是咱们最常用的是 -1
3.5 数组内存分析图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hkaz9MoB-1582717850102)(.\img\数组内存分析图.png)]

3.6 数组和for循环不得不说的秘密
for (int i = 0; i < 10; i++) {
    
}

数组容量:
	数组名.length 获取当前数组的容量
class Demo3 {
	public static void main(String[] args) {
		/*
		使用for循环给予int类型数组进行赋值操作
		*/
		int[] array = new int[10];
		
		// array.length 获取指定数组的容量
		for (int i = 0; i < array.length; i++) {
			array[i] = i + 1;
		}
		
		/*
		使用for循环展示int类型数组中存放的数据
		*/
		for (int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
		}
	}
}
3.7 数组作为方法参数的形式
/*
比葫芦画瓢
*/
public static void main(String[] args) {
    
}
/*
需求:
	给予指定int类型数组赋值元素数据
方法分析:
	public static 不要问
	返回值类型:
		void 
	方法名:
		assignIntArray 赋值int类型数组
	形式参数列表:
		这里需要一个int类型数组
		(int[] array)
方法声明:
	public static void assignIntArray(int[] array)
*/
/**
* 给予指定int类型数据数组赋值操作
*
* @param array int类型数组
*/
public static void assignIntArray(int[] array) {
    for (int i = 0; i < array.length; i++) {
        array[i] = i * 2;
    }
}

/*
需求:
	展示指定int类型数组元素的方法
方法分析:
	public static 不要问
	返回值类型:
		void
	方法名:
		printIntArray
	形式参数列表:
		需要一个int类型数组
		(int[] array)
方法声明:
	public static void printIntArray(int[] array)
*/
/**
* 展示int类型数组的所有元素数据
*
* @param array 指定的int类型数组
*/
public static void printIntArray(int[] array) {
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章