方法

作者: 陈皮丨阿四 | 来源:发表于2018-10-29 19:17 被阅读0次

    方法的定义及返回值

    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

    }

    }

    内存模型:

    构造器

    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);

    }

    }

    相关文章

      网友评论

          本文标题:方法

          本文链接:https://www.haomeiwen.com/subject/diritqtx.html