Android学习之---(重回Java(05))函数、函数的重载、数组、内存结构

Android学习之---(重回Java(05))函数、函数的重载

函数(方法)

函数的定义
函数的特点
函数的应用(重要)
函数的重载(特性)
什么是函数:函数就是定义在类中的具有特定功能的一段小程序。
函数也称为方法。

函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,...){
	执行语句;
	return 返回值;
}
返回值类型:函数运行后的结果的数据类型
参数类型:是形式参数的数据类型
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数
实际参数:传递给形式参数的具体数值
return:用于结束函数
返回值:该值会返回给调用者

函数的特点:
定义函数可以将功能代码进行封装
便于对该功能进行复用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以忽略不写
注意:函数中只能调用函数,不可以在函数内部定义函数
定义函数时,函数的结果应该返回给调用者,交由调用者处理

函数的重载(overload)

重载的概念:在同一个类中,允许存在一个或一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
重载的特点:与返回值类型无关,只看参数列表。
重载的好处:方便与阅读,优化了程序设计。

重载示例:
//返回两个整数的和
int add(int x, int y) {return x + y;}
//返回三个整数的和
int add(int x, int y, int z) {return x + y + z;}
//返回两个小数的和
int add(double x, double y) {return x + y;}

什么时候用重载:当定义的功能相同,但参与运算的未知内容不同,那么,这个时候就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。

小练习:
a、b、c、d、e、f是否重载了第一行void show(int a, char b, double c) {}
在这里插入图片描述

数组

数组的定义:

格式1:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
格式2:
元素类型[] 数组名 = new 元素类型[]{元素, 元素, 元素, 元素…};
示例1:int[] arr = new int[] {2,6,7,8};
示例2:int[] arr = {2,6,7,8};
格式2也称为数组静态初始化

内存结构

Java程序在运行时,需要在内存中分配空间。为了提高运算效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

栈内存:
用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
数组和对象,通过new建立的实例都存放在堆内存中。
每一个实体都有内存地址值
实体中的变量都有默认初始化值
实体不在被使用,会在不确定的时间内被垃圾回收器回收

Java垃圾回收机制:C++写的程序会在内存中开辟存储空间,当内存中的实体越来越多的时候比较占用空间,那么就需要程序员手动调用功能,将内存清除掉,那么程序员忘做了,程序运行时间越来越长,那么最后就会越来越慢,甚至死机。而Java不用手动清除,只要对象或实体在栈内存中没有引用在堆内存当中已经变成垃圾Java虚拟机会自动启动垃圾回收机制,将堆内存中不再使用的实体清除掉,这就是垃圾回收机制的特点,不一定会马上执行,会在不定时的时间内清除它,
堆内存的三个特点:堆内存地址值,默认初始化值,垃圾回收机制

发布了14 篇原创文章 · 获赞 6 · 访问量 2417

猜你喜欢

转载自blog.csdn.net/u014093134/article/details/82980289