多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 方法的定义及返回值 ~~~ public class FunctionDemo1 { /** * 方法 * void 没有返回值--无法向外提供数据 * 有返回值 * getSum(参数列表) 方法名 */ // 没有返回值 // public static void getSum() { // Scanner scan = new Scanner(System.in); // System.out.println("x:"); // int x = scan.nextInt(); // System.out.println("y:"); // int y = scan.nextInt(); // System.out.println(x+y); // } // 返回值类型为int // public static int getSum() { // Scanner scan = new Scanner(System.in); // System.out.println("x:"); // int x = scan.nextInt(); // System.out.println("y:"); // int y = scan.nextInt(); // return x+y;// return 返回一个数据,结束方法(return后面不能写任何代码) // } // 返回值类型为String // public static String sayHello() { // Scanner scan = new Scanner(System.in); // System.out.println("x:"); // int x = scan.nextInt(); // System.out.println("y:"); // int y = scan.nextInt(); // if(x > y) { // return x+">"+y; // } // return y+">"+x; // } // 返回值类型为数组 public static int[] getArray() { int arr[] = {1,2,3}; return arr; } public static void main(String[] args) { // 调用方法 // getSum(); // System.out.println(num); // String msg = sayHello(); // System.out.println(msg); // System.out.println(sayHello()); // int arr[] = getArray(); } } ~~~ ### 方法的形参与实参 ~~~ public class FunctionDemo2 { /** * @param x 形式参数(形参) * @param y 形式参数(形参) * @return 求和 */ public static int getSum(int x,int y) { return x + y; } // public static int[] getNewArray(int arr[]) { // for(int i = 0;i < arr.length - 1;i++) { // for(int j = i + 1;j < arr.length;j++) { // if(arr[i] < arr[j]) { // int temp; // temp = arr[i]; // arr[i] = arr[j]; // arr[j] = temp; // } // } // } // // return arr; // } public static void getNewArray(int arr[]) { for(int i = 0;i < arr.length - 1;i++) { for(int j = i + 1;j < arr.length;j++) { if(arr[i] < arr[j]) { int temp; temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } } public static void main(String[] args) { // 调用有参方法 // int sum = getSum(11,20); // System.out.println(sum); int arr[] = {10,2,99,34,11,110}; getNewArray(arr); for(int num : arr) { System.out.println(num); } } } ~~~ ### 注意引用数据类型与基本数据类型的区别 ~~~ public class FunctionDemo3 { public static void getX(int x) { x = x * 3; } public static void getY(int y[]) { y[0] = y[0] * 3; } public static void main(String[] args) { int x = 10; int y[] = {10}; System.out.println(x);// 10 getX(x); System.out.println(x);// 10 System.out.println(y[0]);// 10 getY(y); System.out.println(y[0]);// 30 } } ~~~ 内存模型: ![](https://box.kancloud.cn/3921e41335566aea6316904ba0bc47ff_749x453.png) ### 构造器 ~~~ public class ConstructorDemo1 { /* * 构造方法(构造器) * 1.名字必须与类名一致 * 2.不能return数据 * 3.不能写void */ public ConstructorDemo1() { } public static void main(String[] args) { } } ~~~ ### 方法重载 ~~~ public class OverLoadDemo1 { /** * 方法的重载(overload,编译时多态,静态多态) * 同一个类当中,同名不同参的方法,与返回值类型无关 */ public OverLoadDemo1() { } public OverLoadDemo1(int i) { } public static void getSum(int x,int y) { System.out.println(x+y); } public static void getSum(int x,int y,int z) { System.out.println(x+y); } public static void getSum(int x,double y) { System.out.println(x+y); } public static void getSum(double x,int y) { System.out.println(x+y); } public static double getSum(double x,double y) { return x+y; } public static void main(String[] args) { getSum(1,5); } } ~~~