函数传参、排序、查表、数组查找、二维数组

函数传参、排序、查表、数组查找、二维数组

ID:43369264

大小:965.14 KB

页数:18页

时间:2019-09-30

函数传参、排序、查表、数组查找、二维数组_第1页
函数传参、排序、查表、数组查找、二维数组_第2页
函数传参、排序、查表、数组查找、二维数组_第3页
函数传参、排序、查表、数组查找、二维数组_第4页
函数传参、排序、查表、数组查找、二维数组_第5页
资源描述:

《函数传参、排序、查表、数组查找、二维数组》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第五天数组的应用今日任务1、函数的传参方式2、查表法(掌握)3、数组排序(掌握,面试常考)4、数组查找(掌握一般杳找、了解二分查找法)5、二维数组(了解)课堂笔记数组也可以按照如下方式定义:数据类型数组名U=new数据类型[长度];例如:doublearr[]=newdouble[6];函数的传参方式1.1按值传递(传递的是具体的数值[就是常量值])值的传递问题:思考下面的代码打印的结果:classDemo{publicstaticvoidmain(String[Jargs){inta=3;int

2、b=5;demo(a,b);System.out.println(Ha=M+a);System.out.println(ub=u+b);}publicstaticvoiddemo(inta,intb)a=a+a;b=b+b;思考,为什么打印的a和b不是6和10呢?上述程序有main方法和demo方法,在main方法中调用了demo方法,而在调用的时候,是把main方法中的2个变暈的值复制了一份传递给demo方法屮的a和b变量,这时在demo方法屮对a和b进行修改,仅仅只能修改demo方法中的a和b

3、,而对main方法中的a和b无法进行操作。1.2按引用传递(传递的就是堆内存中所开辟的地址)引用的传递问题:思考下面的代码打印的结果:classDemo1{publicstaticvoidmain(String[]args){intflarr={3,6};demo(arr);System.out.println(',arr[0]=,,+arr[0]);System.out.println("arr[1J="+arr[1]);}publicstaticvoiddemo(int[]arr){arr[O

4、J=arr[OJ+arrlOJ;arr[l]=arr[1]+arr[l];})思考,为什么打印的air[O]是6,arr[l]是12呢?引用的传递:当在mnin方法中把arr所指数组的引用传递给demo方法,那么在demo方法中的arr和main方法中的arr同时指向堆中的同一个数组空间,这时不管是在main方法中还是在demo方法中通过引用都可以去修改堆屮的同一个数组。总结:值的传递和引用的传递区别:在程序中如果把具体的一个值传递给其他的方法,那么在方法中只能操作传递过来的那个值。在程序中如果把

5、某个地址传递给了其他的方法,这是在其他方法中获取到的是地址,那么通过地址就可以找到真实存放数据的空间,这是通过地址去操作同一个空间。2、查表法(开发的一种技巧)(掌握)2.K什么是查表法数组容器的特点:1.固定长度;2.元素(值)都有索引数组空间屮的值和数组的索引(角标)有一一对应关系。因为数组空间屮的值和下标的关系,可以把数组当做一个表来看待。我们可以通过数组的下标知道当前对应的值。查表法:需要借助容器,利用一种对应关系实现。通过对应关系,使用其中一方来查找另一方数据(实际的数据)・这里有一个反

6、向逻辑。这里可以联系一下,编码表,帮助理解。2.2、查表法举例需求:根据用户输入的数据,显示对应的星期。分析:把星期存放到数组屮,然后通过指定的天数,在数组屮找到对应的星期。或者通过对应的星期,找到对应的天数。定义一个数组,把星期存放进去,然后当外界传递进来一个天数的时候,我们把天数当做数组的下标,然后通过这个下标找到数组屮存放的天数。StringUweeks={°星期一”,”星期二丁星期三星期四星期五罗星期六”,”星期日“};classArrayTest{publicstaticvoidmain

7、(String[]args){intday=0;Stringweek=getWeek(day);System.out.println(day+,'对应的星期是:"+week);}〃定义功能,根据指定的天数找到对应的星期/*1、需要返回值:String2、需要参数:天数*/publicstaticStringgetWeek(intday)以后再定义功能的时候,需要接收外界传递进来的参数,在使用传递进来的参数Z前,一定要先对数据进行合法性的判断*/if(day>0&&day<8){String[]we

8、eks={u星期一”,惺期二“,惺期三”,”星期四“,”星期五T星期六”,”星期FT};returnweeks[day-l];}elsereturn”没有对应的星期”;高级for循环3、数组排序(掌握)排序:其实就是把一些没有顺序的数据,按照特定的规则进行排列。生活中的排序:淘宝[按销量排序、信用排序、价格排序]。排序的方式有两种:1)升序(从小到大)2)降序(从大到小)关于排序的算法:有7种。253621253621235621235^1—QQ_■公362123^56212356

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。