方法
1、方法 就是一段可以重复被执行的代码的封装
2、方法定义的五要素:修饰符,返回值类型,方法名,参数列表,方法体;
public 访问修饰符
static 静态修饰符
void 返回值占位符 当方法没有返回值的时候使用void占位
main 方法名(小驼峰命名法)
String[] args 中 String[]参数的数据类型 args 参数名称相当与变量
{} 方法体调用
3、可变参数 注意可变参数必须放在参数列表的最后一个位置
4、程序入口是main方法可以用main方法
程序运行先找main方法
5、形参:在定义方法的时候,由于方法的参数没有实际值,只是一个形式,我们这种参数形式称为形式参数,简称形参
6、参数传参的时候是根据位置顺序传输的
7、实参:在调用有参方法的时候传递给方法的参数为实际有真实值的参数 那么这个参数我们称之为实际参数 简称实参
8、注意有一中特殊的实参 引用类型
9、 实参是数据类型必须与形参一致或形参的子类型
1、无返回值,无参数的方法调用
无参数调用程序,调用该方法的结果
ublic class Demo03 {
public static void main(String[] ages){
//方法调用声明
fun01();
}// 没有参数没有返回值方法,这是方法调用
public static void fun01 (){
System.out.println("你好java");
}
2、 无返回值,有参数的方法调用
1、写好方法后,在main方法中调用方法,输出参数, 程序直接跳到该方法中,运行该方法
2、参数可以有单个也可以有多个参数类型,之间用逗号隔开
3、写方法要加注释,解释该方法的作用和内容,方便后期的调用和理解该方法
public class Demo03 {
public static void main(String[] ages) {
//方法调用
fun02(food:"苹果",count:3);
}
/**
* 吃了多少食物
* @param food 食物
* @param count 数量
* 在定义方法的时候,由于方法的参数没有实际值,只是一个形式,我们这种参数形式称为形式参数,简称形参
*/
//有参数,没有返回值类型的可以有多个参数类型,参数传参的时候根据顺序位置传的
//main方法调用时输入的值也是根据,被调用方法的参数位置输入的
public static void fun02(String food,int count) {
System.out.println("吃了"+ count +"个"+food);
}
}
有返回值方法
关键字return 返回返回值类型,return与参数内的参数类型无关,与return的返回值结果类型相关,当返回值不是void的时必须用return进行返回
void 表示无返回值
例:
1、我让你去买包子
2、你去买到了,为调用了方法
3、你买到包子没有给我,为无返回值
4、你买到了包子并给我了,为有返回值
public class Demo03 {
public static void main(String[] ages) {
//方法声明
//用整数型接收fun03的值,输出结果
long counts = fun03(56, 20);
System.out.println(counts);
}
/**
* 有返回值
* @param a 加数
* @param b 被加数
* @return 返回返回值类型,return与参数内的参数类型无关,与return的返回值结果类型相关
*/
public static int fun03(int a, int b) {
//两个数相加
//将结果返回,关键字return返回执行结果
//返回值类型与return后的值类型相关
return a + b;
}
}
public class Demo03 {
public static void main(String[] ages) {
//方法声明调用
fun04(new int[]{1,3,5,7,9,2,4,6}); //调用方法,要新建一个数组并给予数值
fun04(new int[]{}) //有保护性代码会输出中括号
}
/**
* 遍历数组
* @param arr 被遍历的数组
*/
public static void fun04(int[] arr) { //参数为一个数组
System.out.print("["); //输出字符串拼接一个括号
if (arr != null) { //数组不能为空进入循环,保护性代码防止bug
for (int i = 0; i < arr.length; i++) { //遍历数组
if (i < arr.length-1) { //下标要留最后一个位置,不要逗号
System.out.print(arr[i] + ","); //输出数组拼接一个逗号
} else {
System.out.print(arr[i]); //最后一个数不要逗号
}
}
}
System.out.println("]"); //再次拼接一个括号
}
}
运行:
[1,3,5,7,9,2,4,6]
[]
可变参数 可变数组
可变参数的数组,更加灵活输入一组数值可以默认为数组
参数列表内存在多个参数时,可变参数必须放在参数最后的位置
public static void main(String[] ages) {
//方法声明
//调用参数需要新建一个数组
fun04(new int[]{...arr:1,3,5,7,9,2,4,6});
fun04(new int[]{});
//调用可变参数,不用新建一个数组,直接输入参数会默认生成数组
fun05(1,2,3,4,5,6,7,8,9);
fun05();
public static void fun05(int... arr) { //参数[]改为...的数组成为可变参数,如果有多个参数可变参数放在最后的位置
System.out.print("["); //输出字符串拼接一个括号
if (arr != null) { //数组不能为空进入循环
for (int i = 0; i < arr.length; i++) { //遍历数组
if (i < arr.length-1) { //下标要小一个位置不要逗号
System.out.print(arr[i] + ","); //输出数组拼接一个逗号
} else {
System.out.print(arr[i]); //最后一个数不要逗号
}
}
}
System.out.println("]"); //再次拼接一个括号
}
}
运行:
[1,2,3,4,5,6,7,8,9]
[]
可变参数 注意!!参数列表内存在多个参数时,可变参数必须放在参数最后的位置