Day 9 方法总结和数组知识

Day 9 方法总结和数组知识

1. 方法总结
1.1 方法三要素
返回值类型:
	当前方法运行之后对外的数据产出
	通过对方法的需求分析过程来判断需不需要返回值
	清楚返回值的数据类型以及含义
	每一次有且只能返回一个数据
	
方法名:
	告知用户所运行的方法是哪个,执行的效果怎么样
	小驼峰命名法,见名知意,动宾结构
	只能用英文字母、数字和下划线来命名
	好的代码从方法名开始
	
形式参数列表:
	巧妇难为无米之炊!
	也需要进行需求分析过程
	是方法运行所需的外来数据,也是方法运行的必要条件
	形式参数实际上是对于方法分析过程中,方法运行的必要参数,需要我们在参数使用必要性上做论证
1.2 方法的实现过程
1. 需求分析
	返回值类型、方法名、形式参数列表
	
2. 方法的执行流程
	可以通过注释的方式来一步一步完成方法的执行
	
3. 实现代码
	按照注释来完成代码的编写
	
4. 验证
	输入正确数据,看运行结果是否符合标准
	输入错误数据,看代码的反馈数据
	以及要考虑代码的稳定性、健壮性、安全性
	【方法中需要使用参数合法性判断】
2. 数组【重点】
2.1 生活中的数组
超市
	商品货物的存放,分门别类
	分门别类有什么好处?
	   便于管理,便于查找
	理念 【归纳总结】

图书馆:
	1. 社科类、文学类、管理类、小说类、历史类、语言类
	2. 相同的书籍会存放于一个书架上 【同一个位置】
	3. 每一本书都要有一个唯一的编号  W-101  w-102
	4. 同一本有10本,都会有一个唯一的索引 
		W-101-01 ~ W-101-10 【唯一索引】
	
通过图书馆我们可以概括
	1. 存储位置一致,并且连续
	2. 有统一的称呼,方便管理
	3. 存在唯一索引,具有一定的唯一性
2.2 开发中的实际情况
在开发中会存在对于大量相同数据处理的情况

如果我们按照单一变量的定义方式编写代码,会导致
	1. 代码冗余
	2. 可读性差
	3. 可操作性差
	4. 维护性差
2.3 Java中创建数组的方式
举例:
    int[] array = new int[10];

/*
赋值号左侧:
	int:
		告知编译器,这里创建的是一个int类型的数组,有且只能保存int类型的数据【数据类型一致化】
		
	[]:
		告知编译器,这是一个数组类型的数据
		
	array:
		数组名,操作数组的核心数据,就是一个变量
		是一个【引用数据类型】
		
		
赋值号右侧:
	new:
		new关键字的作用是在计算机内存的堆区申请一个【连续的存储空间】,提供给数组使用存放数据,并且清空申请空间的所有数据
		
	int:
		前后呼应,这里只能存储int类型数据
		
	[10]:
		数组的【容量 capacity】为10,在这里就是说只能存储10个int类型数据

*/
【引用数据类型 难点】
引用在生活中的例子
	寄快递
	怎样保证快递不会寄错?
	根据快递单上的地址、电话、姓名来判断,其中最重要的就是【地址】,根据快递单的内容的唯一【指向性】来确保快递的无误性
	
	开发中的【引用数据类型】,实际上就是指向其他内存空间的一个数据类型,引用数据类型的变量中存储的内容是其他内存空间的首地址
	当CPU访问到【引用数据类型】变量时,会得到其存储的地址,根据地址跳转到对应的内存空间,执行代码,获取数据,操作内容
2.4 定义数组及其使用
定义数组:	 
    int[] array = new int[10];

操作数组中的内容时,需要使用到数组的【下标】
    计算机中的数据开头都是从0开始的,数组容量为10时
    有效下标的范围
    	0 ~ 数组容量 - 1;即0 ~ 9
    
操作格式:
    数组名[有效下标]  ==>  array[4]
/* 演示数组的定义和使用 */
class Demo1 {
    public static void main(String[] args) {
        // 定义数组
	int[] array = new int[15];
		
	// 赋值操作,给数组中下标为3的元素赋值为10
	array[3] = 10;
        /*
        编译报错“ArrayIndexOutOfBoundsException :数组下标越界异常”,10已经超出了下标范围
        */
        array[10] = 20;
        // 在这里,不赋值时数组中的元素的值都为int类型的 0
	System.out.println(array[2] == array[12] ? 'Y' : 'N');
		
	// 无赋值操作时输出为0
	System.out.println(array[4]);
	// 查看赋值是否成功
	System.out.println(array[3]);
    }
}
2.5 数组内存分析图【难点】

在这里插入图片描述

2.6 数组和循环的关系
数组的下标是一个等差数列
    所以可以用for循环来完成数组下标的变化
    
class Demo2 {
    public static void main(String[] args) {
	// 定义一个int类型数组,容量为10
	int[] arr = new int[10];
		
	/*
	数组名.length  ==>  arr.length
	获取当前数组的【容量 capacity】
	*/
	for (int i = 0; i < arr.length; i += 1) {
	    //给数组中的每一个元素进行赋值操作
	    arr[i] += i * i;
	}
		
	// 利用循环展示数组中每个元素存放的数据
	for (int i = 0; i < arr.length; i += 1) {
	    System.out.println(arr[i]);
	}
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值