黑马程序员——Java函数和数组

                     ------- android培训java培训、期待与您交流! ----------

函数


   函数就是定义在类中的具有特定功能的一段独立小程序。函数也成为方法。

   函数的格式:

              修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2······)

              {

                   执行语句;

                   return 返回值;

              }

  返回值类型:函数运行后的结果的数据类型。

  参数类型: 是形式参数的数据类型。

  形式参数: 是一个变量用于存储调用函数是传递给函数的实际参数。

  实际参数:传递给形式参数的具体数值。

  return: 用于结束函数。

  返回值:该值会返回给调用者。



函数的特点:

          1:定义函数可以将功能代码进行封装,便于对该功能进行复用。

          2:函数只有被调用才会被执行。

          3:函数的出现提高了代码的复用性。

          4:对于函数没有具体返回值类型的情况,返回值类型用关键字void表示,

              该函数中的return语句如果写在最后一行可以省略不写。

注意:

    1:函数中只能调用函数,不可以在函数内部定义函数。

    2:定义函数时,函数的结果应该返回给调用者处理。

    3:当函数运算后,没有具体的返回值时,这时返回值类型用一个特殊的关键字表示该关键字就是void。

       void代表函数没有具体返回值的情况。

    4:当函数的返回值类型为void,函数中的return语句可以不写。

如何定义一个函数?

  1:既然函数是一个独立的功能,那么该功能的运算结构是什么先明确。

  2:在明确定义该功能的过程中是否需要位置的内容参与运算。

函数的重载:

 在同一个类中,允许一个以上的同名函数存在,只要他们的参数个数和参数类型不同即可(参数顺序不同也可以为重载)。




数组

  数组就是同一种类型数据的集合,数组就是一个容器。

   元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

  关于数组的操作大部分用for语句。

  数组中有一个属性可以直接获取到数组元素个数,length。使用和方式,数组名称.length。

  


  冒泡排序

  冒泡排序(bubble):相邻的两个元素进行比较,如果符合条件进行换位。
  冒泡排序第一圈最值出现在最后。
class ArrayTest2 
{
         public static void main(String[] args) 
         {
                int[] arr ={5,1,6,4,2,8,9};//定义一个数组
                bubbleSort(arr);
                System.out.print("[");
                for(int x = 0; x<arr.length; x++)//定义for循环
          {        
                         if(x!=arr.length-1)
                                      System.out.print(arr[x]+",");
                         else
                                       System.out.println(arr[x]+"]");
               }
            }
           public static void bubbleSort(int[] arr)//定义方法进行冒泡排序
           {
                      for(int x =0; x<arr.length-1; x++)
                       {
                               for(int y =0; y<arr.length-1-x; y++)//-x,让每次比较的元素减一;-1是防止角标越界。
                              {
                                         if(arr[y]>arr[y+1])
                                         {
                                                 int temp = arr[y];
                                                 arr[y] = arr[y+1];
                                                 arr[y+1] = temp;
                                         }                         
                              }
                      }
              }        
}

 数组的查找

  获取key第一次出现在数组中的位置。如果返回的是-1,那代表该key在该数组中不存在。

  折半查找可以提高效率,但必须是有序数组。
class ArrayTest3 
{
public static void main(String[] args) 
{
int[] arr={1,4,5,7,12,13,35};//必须为有序数组,否则不能使用折半查找
int index = halfSearch(arr,5);
System.out.println("index="+index);
}
public static int halfSearch(int[] arr,int key)
{
int min,max,mid;
min = 0;
max = arr.length-1;
mid=(max+min)/2;
while(arr[mid]!=key)
{
//如果key大于中间值,那么最小值就变为中间值后一位那个值。
if(key>arr[mid])
min = mid + 1;
//如果key小于中间值,那么最大值就变为中间值前一位那个值。
else if(key<arr[mid])
max = mid - 1;
mid=(max+min)/2;
}
return mid;
}
}


二维数组

  int[][] arr = new int[3][4];
  定义了一个名称为arr的二维数组,二维数组中有三个一维数组。每一个数组中有4个元素。

int[]x,y[]  x为一维数组,y为二维数组。拆开来就是  int[] x和int[] y[]




                  ------- android培训java培训、期待与您交流! ----------
  


                                




          


      


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值