黑马程序员——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培训、期待与您交流! ----------
- 黑马程序员——java基础:函数与数组
- 黑马程序员——java基础---函数与数组
- 黑马程序员——java基础(函数与数组)
- 黑马程序员——Java基础之函数与数组
- 黑马程序员——Java基础--函数与数组
- 黑马程序员——Java基础语法---函数与数组
- 黑马程序员——Java基础总结(函数、数组)
- 黑马程序员——Java基础___函数、数组
- 黑马程序员——Java 基础--函数、数组
- 黑马程序员——java基础之函数和数组
- 黑马程序员——java基础---流程控制、函数、数组
- 黑马程序员——Java基础语法 之函数,数组
- 黑马程序员—java编程基础+函数+数组
- 黑马程序员————— java基础之函数与数组
- 黑马程序员——Java基础语法(二)---函数与数组
- 黑马程序员——Java基础---方法与数组操作
- 黑马程序员 java基础 函数 数组 查找与排序总结
- 黑马程序员----Java基础之函数与数组
- 为什么web应用在tomcat启动时报java.lang.ClassCastException异常?
- 模板文件是否有大小限制?
- 删除项目中的.svn或者cvs文件夹
- 7
- 数据库锁
- 黑马程序员——java基础(函数与数组)
- Android中轴旋转特效实现,制作别样的图片浏览器
- ListView无法获取焦点之问题解决
- 杭电1171 Big Event in HDU
- Tiny框架增加RESTful访问支持
- 第一章 算法概述
- Tiny即将推出DSL风格数据库编程框架
- 排序算法总结
- proc transpose