方法的定义:
方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
方法必须先创建才能使用,该过程称为方法定义
方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
为什么要用方法:
因为如果你在程序中有很多地方要使用同样的代码块,你一个一个写太麻烦了,所以用方法将其打包成一个整体,在其他地方直接使用即可
方法的定义和调用
方法定义:
public static void 方法名(){
//方法体
}
方法调用:
方法名();
方法定义后要在main方法里面调用,就和c中的函数定义好后要在主函数里面调用一样
其实java里面的方法就是和c中的函数是差不多的
带参数方法的定义:
public static void 方法名(参数){
//方法体
}
就是c的含参数的函数,调用也是和c一样的方法,在调用时传入参数类型需一致,否则idea不让你调用
带返回值的方法的定义:
public static boolean test01(){
//方法体
return true;
//return false
//Java里面的bool类型要用boolean写
}
Java还有个byte类型,并且是基本类型。
java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte
方法定义时,return 后面的返回值类型要与方法定义上的数据类型相一致,否则会报错
调用:
test01(5);//第一种
boolean flag=test01(5);//第二种
方法的返回值通常采用变量接收,否则方法的返回值无意义
方法的注意事项:
方法不能嵌套使用:如在一个方法里再定义另外一个方法
void 表示无返回值,一般不加return,但是你要加return的话,你只能直接return; 不跟任何东西
加完return后,后面的代码就不看了,直接结束
方法重载(即类似函数重载)
方法重载适用条件:
1.多个方法在同一个类中(Java新增!)
2.多个方法具有相同的方法名
3.多个方法的参数不相同:参数类型不同或者数量不同
4.不能通过返回类型来判断是否构成重载
Java的强转和c一样,都是在变量前面加一个(数据类型)
如果是long类型,则直接在数据后面加个L 即可
值传递:
值传递的话,因为形参和实参都是放在栈内存的,但是在方法调用完毕后,方法会从栈内存消失
所以,对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
引用传递:如数组作为形参
如果在主方法中也定义了一个数组,因为数组是放在堆内存中的,所以在其他方法改变了数组的值是对应改在堆内存中的,所以在主函数中的数组值也对应改变
但是方法还是先放在栈内存中的,只不过是他的形参放在了堆内存中
所以,对于引用类型的参数,形参的改变,影响实参的值