函数:就是定义一段具有独特功能的小程序
* 优点:简化代码 封装功能 隐藏细节
* 修饰符 返回值类型 函数名(参数类型 形式参数){
* 执行语;
* return 返回值;
* }
*
* 值传递 引用传递
*
*
* 函数调用: 函数名(实际参数......);
*/
//定义一个没有返回值的函数 void代表没有返回值 静态的方法可以直接调用
public static void add(int x,int y){//xy就是形式参数
int temp = x+y;
System.out.println(temp);
return;
}//定义一个有返回值的函数 非静态 通过实例化名(对象名)类调用
public double add1(int a, int b){
int temp = a+b;
return temp;
}
//定义一个修改参数值的方法
//基本数据类型当参数传递时没有返回值的时候 重新赋予变量值的之后 是没有作用的
public static void update1(int z){
z++;
System.out.println(z);//6
}
函数的重载:
* 同一个类
* 函数名相同
* 参数的个数和类型不同
* 和返回值无关
*/// 两个整数相加的函数
public static int add(int a, int b) {
return a + b;
} // 两个浮点数相加的函数
public static float add(float a, float b) {
return a + b;
//函数里面不能在定义函数 只能调用函数
/*public static void addd(){
} */
} // 三个数相加的函数
public int add(int a, int b, int c) {
int temp = add(a,b);
return temp + c;
}
注意:
* 函数功能中
* 有返回值的函数 定义其数据类型
* 没有返回值的函数 void
* 基本数据类型和引用数据类型传递
* 静态和非静态, 静态方法里面不能直接调用非静态的方法 非静态的方法可以直接调用静态的方法
(后续会讲解static的具体用法)
* 函数重载:同一个类、函数名相同、参数个数和类型不同、和返回值无关
* 函数里面不能在定义函数 只能调用函数
其中:
基本数据类型就是int等八大基本数据类型;
引用数据类型包括:类、接口类型、数组类型、枚举类型、注解类型。
基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。
引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由 栈上面的引用指向堆中对象的地址。(后续继续跟进堆、栈)