函数的定义
就是定义在类中的具有特定功能的独立一段小程序(函数也称之为方法)
int c=add(3,4);
System.out.println("c"+c);
public static int add(int a,int b)
{
returna+b;
}
/*
修饰符 返回值类型 函数名 (参数类型 形式参数1,参数类型 形式参数2...)
{
执行语句;
return 返回值
}
*/
特殊情况:功能没有具体的返回值,这时return的后面直接分号结束。
总结:没有具体返回值时,返回类型用void表示。
注意:如果返回值类型是void,那么函数中的return语句可以省略或者不写。
函数的特点
- 定义函数,可以将功能代码进行封装
- 便于对该功能复用
- 只有被调用才能被执行
- 提高代码的复用性
注意:函数中只有调用函数,不可以在函数内部定义函数
如何定义一个函数? 2个明确
- 这个功能的结果是什么?
- 这个功能实现过程中是否需要未知内容参与运算?
class FunctionDemo1
{
public static void main(String[] args)
{
/*
需求:定义一个功能,画一个矩形控制台
明确1:功能结果是什么?
没有结果,直接打印到控制台,未返回给调用者-----用void表示
明确2:这个功能实现过程中是否需要未知内容参与运算?
有,行和列不确定,两个,整数 int
*/
draw(4,6);
draw(5,5);
}
public static void draw(int raw,int col)
{
for(int x=1;x<=raw;x++)
{
for(int y=1;y<=col;y++)
{
System.out.print("*");
}
System.out.println("*");
}
}
}
注意:返回值类型和参数类型没有直接关系
栈(内存)先进后出 例:子弹夹
函数的重载
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
- 同一个类
- 同名
- 参数个数不同or参数类型不同
- 函数重载与返回值类型无关
- java是严谨的语言,如果函数出现的调用的不明确性,会编译失败
数组
概念:其实就是一个容器
int[] arr=new int [3];
内存的划分:
- 寄存器
- 本地方法区
- 方法区
- 栈内存(存储局部变量,而且变量所属作用域一旦结束该变量就自动释放)
- 堆内存(存储的是数组和对象,凡是NEW都是建立在堆内存中)
特点:
- 每一个实体都有首地址
- 堆内存的每一个变量都有默认的初始值,根据类型不同而不同,整数是0,小数是0.0或0.0f,boolean,false
- 垃圾回收机制