zoukankan      html  css  js  c++  java
  • 0116 java 方法

    1、方法名定义格式:修饰符 返回值类型 方法名(数据类型 值1,数据类型 值2,。。。){}

      方法调用格式:方法名(实参列表);

    例:传入长和宽 求面积

    public static double get(double w,double h){

      return w*h;

    }

    调用:double a=get(2,3);System.out.println(a);

    2、无返回值 在方法定义的时候 返回值类型的地方写void;

    例:无返回值打印3行2列的星星

    public static void print(){
      for(int i=0;i<3;i++){
        for(int j=0;j<2;j++){
          System.out.print("*");
        }
        System.out.println();
      }
    }

    调用:print();

    3、方法重载

    重载方法参数必须不同:

    参数个数不同:例:get(int a,int b,int c)和 get(int a,int b)

    参数类型不同:例:get(double a,double b)和get(int a,int b)

    参数顺序不同:例:get(double x,int y)和 get(int x,double y)

    上述都是方法的重载

    方法的重载只与方法名与参数类型有关,与返回值无关:

    例:void get(int x)和 int get(int y) 这两个是重复的方法,不能同时出现

    方法的重载与具体的变量标识符无关

    例:get(int x)和 get( int y) 这两个是重复定义,不能同时出现

    4、参数传递

    例:

    class Demo04
    {
      public static void main(String[] args)
      {
        int a=2;
        get(a);//基本数据类型具体的值 值传递
        System.out.println(a);
      }
      public static void get(int a){
        a=1;
      }
    }

    此时的a的值 并没有受到影响

    当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响

    图解:

     例:

    class Demo05
    {
      public static void main(String[] args)
      {
        int[] brr={1,2,3};
        get(brr);//引用数据类型 地址值
        System.out.println(brr[0]);//20
      }
        public static void get(int[] arr){
          arr[0]=20;
        }
    }

    此时brr[0]的值受到了影响

    当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响

    图解

    如果此时方法内改变的是arr的值 例:arr=null;那最后的输出打印的brr[0]的值就不会受到影响

  • 相关阅读:
    待解决问题集锦
    蓝桥杯--- 历届试题 连号区间数(水题)
    蓝桥杯---历届试题 翻硬币 (水题)
    nyoj 678 最小K个数之和
    hdoj 2 括号配对问题【数组模拟实现+STL实现】
    hdoj 1016 Prime Ring Problem
    nyoj 62 笨小熊
    nyoj 47 过河问题
    nyoj 456 邮票分你一半
    nyoj 171 聪明的kk
  • 原文地址:https://www.cnblogs.com/-gongxue/p/14285256.html
Copyright © 2011-2022 走看看