函数与方法
1.方法
方法就是完成特定功能的代码块
定义格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…){
方法体;
return 返回值;
}
修饰符 public static
返回值类型 用于限定返回值的数据类型
方法名 为了方便调用方法的名字
参数类型 用于限定要用方法时传入的数据类型
参数名 用于接收调用方法时传入数据的变量
方法体 完成功能的主体代码
return 结束方法,并且把返回值返回给调用者
写一个方法有两个明确:
1.返回值类型 明确功能结果的数据类型
2.参数列表 明确有几个参数,以及参数的数据类型
练习:写一个方法用于求和
public static int sum(int a,int b) {
return a+b;
}
方法的调用:有明确返回值的放法调用
1.单独调用没有意义
2.输出调用
3.赋值调用
练习1:获取两个数据中的较大值(方法)
System.out.println(BiZ(10,5));
}
public static int BiZ(int a,int b) {
return a>b?a:b;
练习2:比较两个数据是否相等
equalDemo(5,5);
}
public static void equalDemo(int a,int b) {
if(a==b) {
System.out.println("相等");
}else {
System.out.println("不等");
}
}
练习3:获取三个数据中的较大值
System.out.println("最大的数是:"+MaxDemo(1,2,3));
}
public static int MaxDemo(int a,int b,int c) {
int temp=a>b?a:b;
int max=temp>c?temp:c;
return max;
写一个方法在控制台输出10次helloworld
PrintHelloworld();
}
public static void PrintHelloworld() {
for(int i=0;i<10;i++) {
System.out.println("hello world");
}
如果一个方法没有明确的返回值类型,应该写void方法无返回值
(void)修饰的方法调用 只能单独调用
练习1:打印1-n之间的数据
PrintN(111);
}
public static void PrintN(int n) {
for(int i=1;i<n;i++) {
System.out.println(i);
}
}
练习2:打印所有的水仙花数
Shui(999);
}
public static void Shui(int n) {
for(int i=100;i<n;i++) {
int a=i/100;
int b=(i%100)/10;
int c=(i%100)%10;
if(i==a*a*a+b*b*b+c*c*c) {
System.out.println(i);
}
}
方法重载
在同一个类中,出现了方法同名的现象
特点:1.方法名相同,参数列表不同
注意:在调用方法的时候,java虚拟机通过不同的参数列表来识别
练习1:比较两个数据是否相等。参数类型分别为两个short ,两个int, 两个long
方法的参数如果是基本数据类型,形式参数的改变不影响实际参数。
实际参数:实际参与运算的变量
形式参数:用于接收实际参数的变量
如果参数是引用数据类型:形式参数的改变直接影响实际参数
练习1:数组遍历
Look();
}
public static void Look() {
for(int i=0;i<4;i++) {
int []arr= {1,2,3,4};
System.out.print(arr[i]+" /");
}
练习2:数组获取最值
GetM();
}
public static void GetM() {
int max=0;
int[]arr= {1,2,3,55,44};
int min=arr[0];
for(int i=0;i<arr.length;i++) {
if(arr[i]>max) {
max=arr[i];
}
if(min>arr[i]) {
min=arr[i];}
}
System.out.println("最大值是"+max+"最小值是"+min);
}}
练习3:数组元素求和
int result=Sum();
System.out.println(result);
}
public static int Sum() {
int[]arr= {1,2,3,6,7};
int sum=0;
for(int i=0;i<arr.length;i++) {
sum=arr[i]+sum;
}
return sum;