黑马程序员——java基础(函数与数组)

来源:互联网 发布:手机尤克里里调音软件 编辑:程序博客网 时间:2024/05/16 10:38

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

第一节:函数
一、函数的简述:
    1 函数的定义:就是在类中的具有特定功能的一段独立小程序叫做函数,也称方法。 
2 函数的格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return 返回值;
}
对上面的语法格式具体的说明:
(1) 修饰符 方法的修饰符比较多,是对访问权限进行限定的。
(2) 返回值类型 用于限定方法返回值的数据类型的。
(3) 方法名 给方法起一个名字,方便调用此函数。
(4) 参数类型 用于限定调用方法时传入参数的数据类型。
(5) 参数名 是一个变量,用于接收方法时传入的数据。
(6) return关键字 用于结束方法以及返回方法指定类型的值。
(7) 返回值 该值会返回给调用者。
3 函数的注意事项:
 (1) 函数不被调用,就不会执行。
 (2) 假如函数有明确了返回值类型,就必须有return语句返回,要是没有明确返回值类型,返回值类型用void关键字,return语句在最后一行可以省略不写。
 (3) 函数之间是平级关系,函数内可以调用函数,不能再定义函数。
 (4) 要明确返回值类型和参数列表
4 而如何的去定义一个函数呢? 
 (1) 在定义一个函数时要明确该功能的结果是啥。
 (2) 在该功能过程中,是否有未知内容参与了运算。
二、方法的重载
    1 重载的定义:在同一个类中,方法名相同,参数列表不同。与返回值无关。
2 重载的好处:方便与代码的阅读。
第二节:数组
一、数组的简述
    1 数组的定义: 简单的理解就是存储同一种数据类型的多个元素的容器。
2 数组的特点:数组中的元素都进行了编号,从0开始。
3 数组格式:
(1) 数据类型[] 数组名 = new 元素类型 [元素个数或数组长度];
  举例:int[] aray=new int[6];
(2) 数据类型[] 数组名= new 元素类型 []{元素1,元素2,…};
举例:int[] array=new int[]{1,2,4};
(3)数据类型[] 数组名={元素1,元素2,...};
   举例:int[] array={1,2,3};
二、java中内存的分配
1 java内存中的分配
(1) 栈----->存储局部变量
(2) 堆----->存储new出来的
(3) 方法区---->面向对象中会讲到
(4) 本地方法区---->系统相关
(5) 寄存器---->CPU的使用
   2 栈和堆的区别
 (1) 栈 用于存储局部变量,执行完,自己所占的空间会自动释放
 (2) 堆 数组和对象通过new创建的实例放在堆内存中,都有一个地址值,每一个变量都会有默认的值,数据使用完,会被垃圾回收器回收。
三、二维数组
    1 二维数组的定义:就是数组中的数组。
2 格式:
(1) 一、int[][]array=new int[a][b];
  此格式是;有a个一维数组,每个数组中的元素为b个。
(2)二、int[][]array=new int[a][];
  此格式是:有a个一维数组,每个数组都默认为null。
(3)三、int[][]array={{1,2,3},{4,5}};
  此格式是: 都能够看到每个数组中的具体的元素。
四、数组中常见的操作
1  获取元素中的最大值与最小值

//获取数组中的最大值。class ArrayDemo{public static void main(String[] args){int[] arr = {23,4,5,9,0,1};//定义一个数组。int max=getMax(arr);//调取元素最大值的方法。System.out.println("max="+max);//打印出max。}public static int getMax(int[] arr)//获取数组中最大的数,1 他是有结果的,所以返回值类型为int,2 有未知内容。{int max=arr[0];//定义变量max用于记住最大数,首先假设第一个元素为最大值。for (int x=1;x<arr.length ;x++ )//通过一个for循环遍历数组中的元素。{if (arr[x]>max)//比较arr[x]与max的大小。{max=arr[x];//如果arr[x]的值最大,就把arr[x]的值赋值给变量max.}}return max;//把最大的那个值返回。}}//获取数组中最小值。class ArrayDemo1{public static void main(String[] args){int[] arr={2,5,8,3,0,1};//定义一个数组。int min =getMin(arr);//调取元素最小值的方法System.out.println("min="+min);//打印出最小值。}public static int getMin(int[] arr)//定义一个功能,1 有结果 有返回值 2 有未知内容。{int min =arr[0];//把第一个元素作为最小值赋值给变量min。for (int x=1;x<arr.length ;x++ )//定义一个for循环进行对数组遍历。{if (min>arr[x])//比较min与arr[x]的大小。{min=arr[x];//把小的值arr[x]的值赋值给min。}}return min ;//把最小值返回。}}
2     折半查找法

//折半查找法class ArrayDemo2{public static void main(String[] args){int[] arr={5,7,12,45,78,90};//定义一个数组int get=getSort(arr,79);//函数的调用System.out.println("get="+get);//打印要找的数据}public static int getSort(int[] arr,int key){int min,mid,max;//定义三个变量min=0;max=arr.length-1;mid=(min+max)/2;while (arr[mid]!= key)//判断当不等于要找的数时{if (key>arr[mid])//如果要找的数大于中间数min =mid+1;else if (key<arr[mid])//如果要找的数小于中间数时max=mid-1;if (min>max)return -1;//要是要找的数不存在的话就返回-1mid=(min+max)/2;}return mid;//返回要找的元素的角标}}
3 两种的排序方法

//选择排序class ArrayDemo3{public static void main(String[] args){int [] arr={5,7,2,8,20,1};//定义一个数组selectSort(arr);//调用一个方法进行对数组进行排序 printArray(arr);//让数组以一定格式打印出来}public static void selectSort(int[] arr){for (int x=0;x<arr.length-1 ;x++ )//for循环进行遍历数组中的元素{for (int y=x+1;y<arr.length ;y++ )//for循环遍历遍历的元素与外循环的一个元素进行比较{if (arr[x]>arr[y])//如果外循环的元素大于内循环的元素{int temp=arr[x];//采用第三方变量进行对两个的元素进行位置变换arr[x]=arr[y];arr[y]=temp;}}}}public static void printArray(int[] arr){System.out.print("[");for (int x= 0;x<arr.length ;x++ )//对数组中的元素进行遍历{if (x!=arr.length-1){System.out.print(arr[x]+" ");//采用的是字符串的拼接的方式}else{System.out.print(arr[x]+"]");}}}}//二 冒泡排序class  ArrayDemo4{public static void main(String[] arga){int [] arr={3,9,76,2,0};//定义一个数组selectGet(arr);//调用函数进行对数组内的元素进行排序printArray(arr);//以一定的格式打印出来}public static void selectGet(int[] arr){for (int x=0;x<arr.length-1 ;x++ )//for循环的作用是就是所有元素进行相比较的次数{for (int y=0;y<arr.length-x-1 ;y++ )//for循环进行对相邻的元素进行比较{if (arr[y]>arr[y+1])//判断如果前一个元素大于了后一个元素{int temp=arr[y];//采用第三方的变量进行对数组中的元素进行位置的交换arr[y]=arr[y+1];arr[y+1]=temp;}}}}public static void printArray(int[] 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.print(arr[x]+"]");}}}}


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

0 0