程序中方法是用来解决函数问题的,程序总是先开始执行主方法里面的内容
怎么定义一个方法并且使用:
新建一个对象 :类名 对象名=new 类名();
调用方法:对象名.方法名(含参数或者不含参数);
另外注意:
1.在同一个类中的主方法中调用方法需要新建对象来调用,但是在方法中调用方法可以直接用方法名()调用
2.方法中传普通值在主方法中定义的值是不会被改变的
3.方法中传数组值在主方法中定义的数组的值是会被改变的
package com.Method;
public class test0 {
// 打印星星号 无参数无返回值的方法
public void Hello() {
System.out.println("*************************");
}
// 求长方形面积 无参数有返回值的方法
public double Area() {
double a = 9.0, b = 3.0;
return a * b;
}
//求三角形面积 有参数无返回值的方法
public void Area(double h,double d) {
System.out.println(h*d/2);
}
//求平行四边形面积 有参数有返回值的方法
public float Area(float a,float b) {
return a*b;
}
public static void main(String[] args) {
test0 one = new test0();
one.Hello();
System.out.println("欢迎使用无参数无返回值的方法");
one.Hello();
System.out.println();
one.Hello();
System.out.println("欢迎使用无参数有返回值的方法" + "\n" + "求出的长方形面积是:" + one.Area());
one.Hello();
System.out.println();
one.Hello();
System.out.println("欢迎使用有参数无返回值的方法" + "\n" + "求出的三角形面积是:" );
one.Area(4.0, 5.0);
one.Hello();
System.out.println();
one.Hello();
System.out.println("欢迎使用有参数有返回值的方法" + "\n" + "求出的三角形面积是:" +one.Area(2.0f, 6.0f));
one.Hello();
System.out.println();
}
}
使用数组作为方法参数
package com.Method;
public class test1 {
//使用数组作为方法参数
public void printArray(int arr[]) {
for(int n:arr) System.out.print(n+" ");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test1 one=new test1();
int array[]=new int [5];
for(int i=0;i<5;i++) {
array[i]=i+1;
}
one.printArray(array);
}
}
基本数据类型传值问题
package com.Method;
import java.util.Scanner;
public class test2 {
public void swapab(int m, int n) {
System.out.println("交换前的m=" + m + "\tn=" + n);
int temp = m;
m = n;
n = temp;
System.out.println("交换后的m=" + m + "\tn=" + n);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b;
a = sc.nextInt();
b = sc.nextInt();
System.out.println("交换前的a=" + a + "\tb=" + b);
test2 tes = new test2();
tes.swapab(a, b);
System.out.println("交换后的a=" + a + "\tb=" + b);
}
}
数组传参问题
package com.Method;
public class test3 {
public void swaparr(int ar[]) {
ar[4]=122;
System.out.println("在方法中改变了数组的值后数组是:");
for(int i=0;i<5;i++) System.out.print(ar[i]+"\t");
System.out.println();
}
public static void main(String[] args) {
int arr[]= {1,8,9,2,4};
System.out.println("调用前数组的值是:");
for(int i=0;i<5;i++) System.out.print(arr[i]+"\t");
System.out.println();
test3 one=new test3();
one.swaparr(arr);
System.out.println("调用后数组的值是:");
for(int i=0;i<5;i++) System.out.print(arr[i]+"\t");
}
}