Java基础(四) 方法 方法调用【重点】

数组的反转

    数组的反转:数组中的元素颠倒顺序,例如:原始数组为1,2,3,4,5 数组反转之后为5,4,3,2,1

    思路:本质是考察交换两个变量的值  两种方式

  •     实现反转,就需要将数组最远端元素和最近端位置互换
  •     定义两个变量,保存数组的最小索引和数组的最大索引
  •     让两个索引上的元素交换位置
  •     最小的索引变量++(自增),最大的索引变量--(自减),再次交换位置
  •     最小的索引超过了最大索引,数组反转结束

伪代码:

//准备一个需要反转的而数组    
int[] arr = {1,2,3,4,5,6}
//定义两个索引变量,一个索引变量指向最小索引,一个指向最大索引
int min = 0;
int max = arr.length-1;
//遍历数组,让两个索引变量产生变化
min++;
max--;
//条件 min < max
//交换最小索引元素和最大索引元素,需要定义第三方变量
int temp = 0;
temp = arr[min];//把最小的索引元素赋值给第三f方变量
arr[min] = arr[max];//把最大的索引元素赋值给最小的索引元素
arr[max] = temp;//把第三方变量的值赋值给最大索引的元素

代码实现:

public static void main(String[] args){
    int[] arr = {1,2,3,4,5};
    //遍历数组
    //for(1,2,4){3}
  for(int min = 0, int max = arr.length-1;  min < max ; min++,max-- ){
        int temp = 0;
        temp = arr[min];
        arr[min] = arr[max];
        arr[max] = temp;
    }
    //查看反转之后的数组内容
    for(int i=0; i < arr.length ; i++){
        System.out.printn(arr[i]);
    }
    //第二种思路
    int[] arr = {1,2,3,4,5};
    //遍历数组
    for(int i = 0; i< arr.length / 2;m ++){
        //交换变量
        int temp = 0;
        temp = arr[i]
        arr[i] = arr[arr.length - 1 - i];
        arr[arr.length - 1 - i] = temp;
    }
}

二维数组的定义

  方式一:

  数组的数据类型[][] 数组名称 = new 数组的数据类型[长度1][长度2];
    长度1 不可省略,代表 该二维数组里面存储的元素个数
    长度2 可以省略,代表该二维数组里面的元素(数组里面的元素个数),而且它里面的数组元素个数一样
     如: int[][] arr= new int[3][2];
     长度3----》该arr数组里面有3个元素(数组)
     长度2----》该arr数组里面的每个数组元素都有两个元素
     相当于----》int[][] arr = {{0,0},{0,0},{0,0}};  

  方式二:

    数组的数据类型[][] 数组名称 = new 数组的数据类型[][]{{元素1,元素2,...},{元素1,元素2,元素3,...},...};

  方式三:

    数组的数据类型[][] 数组名称 = new 数组的数据类型{{元素1,元素2,...},{元素1,元素2,元素3,...},...};

二维数组访问方式

   借助于【索引】

   格式:

    数组名称[索引]---》访问的是二维数组的元素 //访问二维数组中的一维数组里面的元素
    数组名称[一维数组的索引][一维数组里面的元素索引值]
     如:int[][]arr ={{10,20,50},{30,40,80},{15,100}};
    //访问arr数组当中的10元素
    arr[0][0] = 10;
    //访问arr数组的80元素
    arr[1][2] = 80;

    方法:在程序中要去实现的某一个功能,需要包含多条语句,这些语句包含循环语句结果、选择语句结构等共同来处理一件事情。

   方法定义的完整格式:修饰符 返回值类型的 方法名称(参数类型1 参数名称1,参数类型2 参数名称2,...){}

   修饰符:public static 

   返回值类型:方法最终产生的数据结果是什么样的

   方法名称:方法的名字,名字自定义-标识符,采用小驼峰,见名知意

   参数类型:进入方法当中的数据是什么样的类型

   参数名称:进入方法当中的数据对应的变量名称

   方法体:方法需要执行的功能,由若干行代码组成的

   return:一般认为有两个作用,第一将后面的返回值返回给程序;第二停止当前正在执行的方法。

   返回值:就是方法执行最终产生的数据结果。

  备注:1. return 后面的"返回值",必须和方法声明上的"返回值类型"保持一致。

     2.方法不允许嵌套,不允许定义在类的外面

     3.方法只能并列,并且必须定义在类的里面。

方法调用【重点】

  三种调用格式:

  1. 单独调用:方法名称(参数具体值);

  2. 打印调用:System.out.println(方法名称(参数具体值));

  3. 赋值调用:数据类型 变量名称 = 方法名称(参数具体值);

  

备注:当返回值类型为void的时候,这种方法只能单独调用,不能进行打印调用或者赋值调用。

返回值类型一般可以理解为数据类型(基本数据类型和引用数据类型),此外还包含一种类型void类型,当方法执行完毕不需要给程序的调用者返回任何的 数据结果是,可以指定该方法的返回值类型为void,此时只能【单独调用】。

注意事项:

  1. 方法定义的先后顺序无所谓

  2. 方法定义不能嵌套,不能在一个方法内部定义另外一个方法

  3. 方法定义之后,自己不会只想;如果希望执行,一定要进行方法的调用。