------- android培训、java培训、期待与您交流! ----------
1.函数
1.1 函数的定义
函数就是定义在类中的具有特定功能的一段独立小程序。
函数也称为方法。
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
1.2函数的特点
定义函数可以将功能代码进行封装
便于对该功能进行复用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
对于函数没有具体返回值的情况,返回值类型用关键字void表示,
那么该函数中的return语句如果在最后一行可以省略不写。
注意:
函数中只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
1.3函数的应用
两个明确
明确要定义的功能最后的结果是什么?
明确在定义该功能的过程中,是否需要未知内容参与运算
示例:
需求:定义一个功能,可以实现两个整数的加法运算。
分析:
该功能的运算结果是什么?两个数的和,也是一个整数(int)
在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的。
(两个参数int,int)
代码:
int getSum(int x,int y)
{
return x+y;
}
1.4函数的重载
函数的功能一样,仅仅是参与运算的未知内容不同时,
可以定义多函数,却使用统一函数名称,这样方便阅读。
在调用时,虚拟机通过参数列表的不同来区分同名函数。
2.数组
2.1数组的定义
2.2数组的内存结构
数组中其实存储的是数据的地址
2.3数组操作的常见问题
角标越界和空指针异常
2.4数组的常见操作
获取最值(最大值,最小值)
class ArrayTest { /* 获取数组中的最大值。 思路: 1,获取最值需要进行比较。每一次比较都会有一个较大的值。因为该值不确定。 通过一个变量进行临储。 2,让数组中的每一个元素都和这个变量中的值进行比较。 如果大于了变量中的值,就用该该变量记录较大值。 3,当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值了。 步骤: 1,定义变量。初始化为数组中任意一个元素即可。 2,通过循环语句对数组进行遍历。 3,在变量过程中定义判断条件,如果遍历到的元素比变量中的元素大,就赋值给该变量; 需要定义一个功能来完成。以便提高复用性。 1,明确结果,数组中的最大元素 int。、 2,未知内容:一个数组。int[] */ public static int getMax(int[] arr) { int max = arr[0]; for(int x=1; x<arr.length; x++) { if(arr[x]>max) max = arr[x]; } return max; } /* 获取最大值的另一种方式。 可不可以将临时变量初始化为0呢?可以。这种方式,其实是在初始化为数组中任意一个角标。 */ public static int getMax_2(int[] arr) { int max = 0; for(int x=1; x<arr.length; x++) { if(arr[x]>arr[max]) max = x; } return arr[max]; } /* 获取最小值。 */ public static int getMin(int[] arr) { int min = 0; for(int x=1; x<arr.length; x++) { if(arr[x]<arr[min]) min = x; } return arr[min]; } public static void main(String[] args) { int[] arr ={5,1,6,4,2,8,9}; int max = getMax_2(arr); int min = getMin(arr); System.out.println("max="+max); System.out.println("min="+min); } }
选择排序
/* 选择排序。 内循环结束一次,最值出现头角标位置上。 */ public static void selectSort(int[] arr) { for (int x=0; x<arr.length-1 ; x++) { for(int y=x+1; y<arr.length; y++) { if(arr[x]>arr[y]) { /* int temp = arr[x]; arr[x] = arr[y]; arr[y]= temp; */ swap(arr,x,y); } } } }
冒泡排序
/* 冒泡排序 */ public static void bubbleSort(int[] arr) { for(int x=0; x<arr.length-1; x++) { for(int y=0; y<arr.length-x-1; y++) //-x:让每一次比较的元素减少,-1:避免角标越界。 { if(arr[y]<arr[y+1]) { int temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } }
折半查找(二分法查找)
前提:数组必须是有序的。
/* 折半查找。提高效率,但是必须要保证该数组是有序的数组。 */ 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) { if(key>arr[mid]) min = mid + 1; else if(key<arr[mid]) max = mid - 1; if(min>max) return -1; mid = (max+min)/2; } return mid; }
/* 折半的第二种方式。 */ public static int halfSearch_2(int[] arr,int key) { int min = 0,max = arr.length-1,mid; while(min<=max) { mid = (max+min)>>1; if(key>arr[mid]) min = mid + 1; else if(key<arr[mid]) max = mid - 1; else return mid; } return -1; }
2.5 二维数组
二维数组就是数组中的数组
------- android培训、java培训、期待与您交流! ----------
相关推荐
Doc文档,解压后8.08Mb,java语法大全,java语法,java编程基础,java入门
本次实验了解了Java的一些基本的语法知识,掌握了变量和常量的使用,掌握了运算符与表达式的使用,掌握了选择、循环、分支语句的使用,进一步的深入学习了Java的知识。
Java语法大全史上最全语法
java课件 java语法 适合初学者使用 的课件
Java语法总结 Java语法总结 Java语法总结
可以实现的Java语法分析器,可以实现简单的Java程序的语法错误或者其他的文件类型
【文件简介】 java 编写的语法分析器,详情可前往 https://blog.csdn.net/weixin_44155115/article/details/105199595 查看 【文件内容】 1. 源代码 2. jdk1.8 3. 可执行jar包 4. 使用说明
java语法java语法
Java语法基础2019
Java语法手册.rar 使用java的速查材料
java 语法 规范 常识 基础,对java的相关命名规则 ,表达式等介绍
JAVA语法.pdf,入门,好用,作为备用吧
列举了java语言基础知识的一些源代码,通过代码学习,理解,掌握,java的基本语法规则。为后续学习打下基础
java初级语法测试题,
JAVA语法大全,JAVA的基本语法,JAVA关键字,一元数组 ,多元数组,循环语法包括4种循环,
含有Java的基本信息和基本语法,适合开发小白下载学习
完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础(共32页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础2(共24页).ppt 完整版 Java基础入门教程 Java...
java基本语法大全 非常好用,详细地介绍了java语法特点,还有丰富的实例
Java语法大全.pdf
完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础(共32页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础2(共24页).ppt 完整版 Java基础入门教程 Java...