内容总结:
1.函数的基础
函数:具有某种特定功能的一段代码
方法的主要组成部分有: 修饰符 返回值 方法名 参数
函数的构成:
- 修饰词 返回值类型 函数名(参数列表){
-
函数的功能代码;
-
return 返回值;
-
修饰词:限定当前函数的可见范围的,暂时先忽略
-
返回值类型:可以有,也可以没有,如果没有需要写void
-
函数名:必须有,命名规则:遵循**小驼峰**原则(当有多个单词组成名字的时候,除第一个单词外,所有单词的首字母大写)
-
函数名:要做到见名知意
-
参数列表:1.可以有,可以没有 2.如果有,可以有一个或多个,多个参数之间以,隔开 3.如果没有,函数名后面的()不能省略
-
return 返回值; 这里是一个动作,后面放的是要返回的数据,要求:返回值类型要与return后面的类型一致
-
注意点:return后面只能放一个数据
-
特点:有结束的意思
-
注意:函数之间可以调用,但是函数的定义不能嵌套
-
函数:增加代码的**复用性**,**安全性**,提高了代码的使用效率.
-
-
2.函数的构成
函数调用处的参数成为实参:我们实际操作的值
定义处的参数成为形参:形式上的参数,形参必须通过接受实参才能工作
注意:1.形参和实参的个数,位置,类型必须都保持一致.
//2.完成赋值时.是对应位置的实参付给对应位置的形参.
是将要返回的类型往外抛,暂时存在了返回值类型的位置,外界直接从返回值类型位置获取数据即可
//return注意点:
//1.返回数据,将数据往外抛
//2.结束的意思,在表示结束时,函数不一定有返回值.
- 注意点:
- 1.if,for等可以嵌套.但是函数的定义不能嵌套,调用可以.
- 2.函数的功能必须通过调用实现
- 3.函数有功能单一性原则.即一个函数中最好只有一个功能,这样可以尽量的提高程序执行的效率,减少资源的浪费
- 4.函数的作用:可以提高程序的安全性,复用性,健壮性,可读性,节省内存.
- 5.在java中工作的最基本单元是类,所以函数必须写在类的里面
- 1.if,for等可以嵌套.但是函数的定义不能嵌套,调用可以.
3.函数的内存
- java将内存分成了5块儿,分别是堆区,栈区,方法区,本地方法区,寄存器
- 栈区:里面存放数据的特点是:先进后出,我们主要将加载时的局部变量和函数放在栈区,数据的特点是使用完立刻释放
- 堆区:存放的是实体(对象和数组),实体可以同时存放多个值,实体里面的变量如果不赋值,会有默认值.整型数据默认值是0,boolean—false
- 了解:
- 方法区:程序运行中的二进制文件等(比如:.class)
- 本地方法区:存放外界引入的c,c++等的内容
- 寄存器:也可以称为计数器.
- 堆区中的数据会在某个时刻被释放-通过垃圾回收机制.
- 垃圾回收机制是通过一个线程控制的,由于这个线程的等级比较低,所以不会立刻执行,数据就不会立刻释放.
4.全局变量和局部变量
- 全局变量:直接定义在类中的变量
- 局部变量:直接定义在函数,for,if等中的变量称为局部变量.
- 比较 作用范围 (作用域) 默认值
- 全局变量 整个的类 在不赋值时,也有默认值.整形的默认值是0
- 局部变量 从定义变量开始到所在的方法,if等结束 必须先赋值后使用,没有默认值
5.函数的重载----会
对于函数:java内部识别时,真正识别的是函数名字+参数类型的列表 例如: sum_int_float
- 函数的重载:在同一个类中,方法名相同,参数不相同的方法的关系
- 注意点:
- 1.参数的个数不同是重载
- 2.参数的类型不同是重载
- 3.参数的位置不同是重载
- 4.重载与返回值无关
- 5.重载与参数的名字无关
- 6.重载的方法本质上还是不同的方法.
- 7.重载的方法,方法名必须相同
6.函数的实例讲解
7.数组的定义
- 数组:是用来存储数据的
- 定义:可以同时存储多个相同类型的数据,它是引用数据类型.
- 数组是被放在堆区的.有默认值.
- 注意:数组的内存空间是连续的,并且空间创建之后是固定的.
- 比较简单数据类型和引用数据类型?
- 1.引用数据类型里面存储的是地址,并且这个地址是十六进制的数.简单数据类型存储的是值,是十进制的
2.对于简单数据类型,直接在栈区的方法中开辟一块空间存储当前的变量,将要存储的数据直接放在这块空间里
8.数组的创建
1.int[] arr = new int[3];
2.int[] arr1 = new int[] {4,5,6};
3.int[] arr2 = {3,4,5,7,8};
9.数组的遍历 会
//遍历
//1.使用for循环
// arr.length :数组元素的个数
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
//2.改进型的for循环--增强for循环
/*
* for(元素 : 数组){
* 遍历
* }
* 原理:会自动从数组中取出元素,放入前面的元素中.当次遍历使用的就是这个元素.
* 当这次遍历结束后,会自动从数组中取出第二个值,再次放入前面的元素(变量)中,依次进行
* 直到将数组中的所有值取完,循环结束.
*/
for(int i:arr) {
System.out.println("i:"+i);
}
10.越界异常
//异常:是java对程序出现的不正常情况的封装处理.得到的各种类.
//异常可以帮助我们更好的对错误进行查找,处理,改正.
//在打印的异常信息中包含异常的名字,位置,原因.
//名字:java.lang.ArrayIndexOutOfBoundsException:数组越界异常