修饰符:
public 权限修饰符
static 静态修饰符
函数定义:
函数就是定义在类中的具有特定功能的一段独立小程序。函数也称方法。
函数格式:
修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2 ...)
{
执行语句;
return 返回值;
}
有意义的函数名命名:
两个或两个以上单词时,第一个单词首字母小写,后面单词首字母全部大写
特殊情况:
功能没有具体返回值。这时return后面直接用分号结束,返回值类型怎么体现?
因为没有具体值,所以用void替换返回值类型,如果返回值类型是void,
那么函数中的return语句可以省略不写
注意:
封装函数可以提高代码的复用性
包括主函数在内,函数中只能调用函数,不可以在函数中定义函数
函数的结果应该返回给调用者交给调用者处理,不要做多余的事情,
比如在一个加法功能的函数中添加输出功能,就单纯定义一个加法运算,
输出功能调用者去做
如何定义一个函数?
举例:
定义一个功能,完成两个整数的和的获取。
思路:既然定义功能,就可以用函数来实现
明确:
1.这个功能的结果是什么?
是和,所以功能的返回值是int
其实就是在明确返回值类型
2.功能的实现过程中是否需要未知内容来参与运算?
有,加数和被加数,这就是函数的参数列表(参数的个数,参数的类型)
注意返回值类型和参数类型没有直接关系
数组:
数组定义的两种格式:
1.int[] arr = new int [3];
2.int[] arr = new int[] {1, 2, 3};
栈内存:
存储的都是局部变量,凡是在方法中定义的变量都是局部变量
而且变量所属的作用域一旦结束,该变量自动释放
函数中的局部代码块,限定局部变量的生命周期
堆内存:
存储的是对象,凡是new 建立的在堆中
特点:
1.每一个实体都有首地址值
2.堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同,整数是0,小数是0.0或者0.0f,布尔是false,char是'\u0000'
3.垃圾回收机制来释放空间
基本类型是在栈中开辟变量空间,将变量和变量值一起存储在栈中,和基本类型不同,
例如:
int[] arr = new int[3];
在栈中存储变量,在堆中开辟数组空间,栈中变量只存储堆中数组的地址,即引用也就是c++中的指针
数组操作常见的问题:
1.访问数组不存在的角标,会发生异常
2.当引用型变量没有任何实体指向时,还在用其操作实体,就会发生异常
3.System.out.println(arr) 打印出数组的hash值,即地址值
数组常见操作:
1.取数组最值时,用于记录最值的变量的初值应该是数组的arr[0],若直接赋值0(0不是数组中的值),则在数组元素全比0小时求最大值,或数组元素全比0大时求最小值时会出错,也就是不能引入外来值
@左边是实体的类型,@右边是实体的哈希值(地址值)
如果数据出现了对应关系却对应的一方是有序的数字编号,并作为角标使用,必须想到数组的使用
若果没发现有序的一方,但有对应关系用Map