方法总结和数组初识

方法总结和数组初识

1.方法总结

1.1 方法的三要素

【返回值类型】当前方法运行之后对外的数据产出

【方法名】明确告知用户这里运行的方法是哪一个,执行的效果会怎么样小驼峰命名法,见名知意,动宾结构

【形式参数列表】方法运行所需的外来数据,方法运行的必要条件

1.1.1 方法名

命名规范:

  1. 只能用英文字母(A ~ Z,a ~ z),数字(0 ~ 9),下划线(_)
  2. 见名知意,动宾结构。好的方法从方法名开始。
  3. 小驼峰命名法。如:getXXX、setXXX、removeXXX、addXXX、deleteXXX、updateXXX、attributeXXX
1.1.2 返回值类型
  1. 没有什么必要和不必要,需求分析过程!!!
  2. 返回值的数据类型
  3. 返回值的数据含义
  4. 返回值每一次有且只能返回一个数据
1.1.3 形式参数列表

​ 形式参数实际上就是在对于方法分析过程中,了解方法运行所需要的必要参数,并且在参数使用必要性上做论证。

1.2 方法的完成过程
  1. 需求分析
    方法名,形式参数列表,返回值类型

  2. 考虑方法的执行流程

    可以采用注释辅助完成方法的执行流程

  3. 实现代码

    按照注释完成代码。

    过程中:【不要头铁】【不要自大】【认清自我】【知错就改】

  4. 验证

    (1)代码运行验证

    (2)正确参数情况,运行结果怎么样;

    (3)错误参数情况,代码反馈什么;

    (4)代码的稳定性,健壮性,安全性;

    (5)方法中需要使用参数合法性判断。

2.数组【重点】

2.1 生活中的数组
  1. 超市

    商品货物的存放,分门别类。起到了便于管理,便于查找的作用。 ——归纳总结的理念

  2. 图书馆

    (1)社科类、文学类、管理类、小说类、历史类、语言类

    (2)相同的书籍会存放于一个书架上同一个位置

    (3)每一本书都有一个唯一的编号,如同样的称呼:W-101

    (4)同一本书有10本,每一本都会有一个唯一的索引

    ​ 如:W - 101 - 01 ~ W - 101 - 10

    综上两个案例,我们可以概括其特点:

​ (1)存储位置一致,并且连续

​ (2)有统一的称呼时,方便管理

​ (3)存在唯一索引,具有一定的唯一性

2.2 开发中的实际情况

​ 开发中一定存在对于大量相同数据处理的过程,如果按照单一变量的定义方式,会导致:①代码冗余;②代码维护性极差;③代码可操作性极差;④代码阅读性极差。

​ 这里可以模仿生活中的案例,图书馆,超市,把这些统一数据类型的数据,存放在一起,方便管理和使用。于是就需要引入数组使用的场景和概念!

2.3 Java中创建数组的方式

1.【案例】
int[] array = new int[10];

2.【说明】

(1)赋值号左侧:
int:告知编译器,这里创建的是一个int类型数组,有且只能保存int类型数据。保证数据类型一致化。

[ ]:告知编译器,当前定义的数据类型是一个数组

array:这里是一个数组名,操作数组的核心数据!就是一个变量名

​ 数组名 array是一个引用数据类型
(2)赋值号右侧:
new:new 关键字需要在计算机中申请连续内存空间,这块区域在内存的【堆区】。这里就好比,生活中顾客找仓库管理员申请货架,管理员一定是给他一个整个连续区域让其使用。
int:前后呼应,告知编译器,这里能够存储的数据类型是int类型,要求数据类型一致化

[10]:告知编译器,当前数组的**容量 (Capacity)**是多少,这里是10,也就是说这个数组中只能保存10个int类型数

【补充】引用数据类型

引用在生活中中很常见,文献中引用,文言文注解引用,广告角标上标引用,这些都是为了引入其他的内容、其他的文献或者其他的操作。

(1)引用存在的一定的指向性

如:取快递

​ 快递小哥如何知道你的地址在哪里???

​ 根据快递单上的地址、联系方式和姓名来找到你的位置

​ 快递单这里也有一定的【指向性】

​ 快递单中存在一个非常重要的数据【地址】!!!

(2)开发中的引用数据类型,实际上是一个指向其他内存空间的一个数据类型,引用数据类型的变量中存储的内容是其他内存空间的首地址。当CPU访问到引用数据类型变量时,会得到其存储的地址,然后直接跳转到对应的内存空间中,执行代码,获取数据,操作内容。

2.4 定义数组和使用
  1. 定义数组:

    ​ int[] array = new int[10];

  2. 说明

    需要操作数组中拿一个元素,这里需要使用数组的【下标】

    计算机内数据的开头都是从0开始,数组容量为10的情况

    有效下标的范围0 ~ 9【公式:0 ~ 数组容量Capacity - 1】

  3. 操作格式:

    数组名[有效下标]

/* 演示数组的定义和使用 */
class Demo2 {
	public static void main(String[] args) {
		/* 这里定义一个int类型的数组,数组的容量为10 */
		int[] array = new int[10];
		
		/*
		给数组中下标为0的元素赋值
		格式: 数组名[有效下标]
		*/
		array[0] = 10;
		
		/*
		给数组中下标为5的元素赋值
		*/
		array[5] = 20;
		
		/*
		给数组下标为10的元素赋值30
		10 已经超出了有效下标范围 0 ~ 9
		
		array[10] = 30;
		*/
		/*
		Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
			at Demo2.main(Demo2.java:22)	
		ArrayIndexOutOfBoundsException	数组下标越界异常
		*/
		
		/*
		给数组中下标为-1的元素赋值为20
		-1 已经超出了有效下标范围 0 ~ 9
		*/
		// array[-1] = 20;
		/*
		java.lang.ArrayIndexOutOfBoundsException: -1
		*/
		
		/*
		取出数组中下标为0和下标为5的元素内容
		*/
		System.out.println("array[0] : " + array[0]);
		System.out.println("array[5] : " + array[5]);
		// System.out.println("array[4] : " + array[4]);
		
	}
}
2.5 数组内存分析图【难点】

在这里插入图片描述

2.6 数组和循环不得不说的秘密

(1)数组的下标是一个等差数列

(2)数组范围:0 ~ 数组容量 - 1

从以上数组的特点可以肯定,数组和循环一定存在密切的关系!事实上,与数组关系极为密切的是for循环。

class Demo3 {
	public static void main(String[] args) {
		/* 定义一个int类型数组 容量为10 */
		int[] arr = new int[10];
		
		/*
		数组名.length 
			获取当前数组的【容量 Capacity】,获取数组的【属性】
		*/
		for (int i = 0; i < arr.length; i++) {
			// 给数组中每一个元素赋值操作 
			arr[i] = i + 1;
		}
		
        // 利用循环展示数据
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}
发布了12 篇原创文章 · 获赞 1 · 访问量 290

猜你喜欢

转载自blog.csdn.net/Mr_SunJH/article/details/105716733