版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java SE 基础概述(下)本次课程内容:方法的定义,调用和重载;一维数组的定义和应用;多维数组,主要是二维数组的使用。课程内容介绍1方法的定义,调用和重载什么是方法1. 方法的概念(what)方法是具备某个特定功能的代码块,并给这个代码块起一个有意义的名字,通过此名字实现代码块的访问。2. 何时使用方法(when )结构化编程时,对重复代码进行封装时。3. 为什么使用方法(why) 1)为了提高代码的可重用性,简化代码的编写; 2)为了代码逻辑清晰; 3)为了降低耦合度,提高可维护性;如何使用方法(how)1. 方法的定义语法:修饰符 返回值类型 方法名(参数列表) 修饰符可有可无如何使用
2、方法(how)(续1)例如:如何使用方法(how)(续2)2. 说明 1)如例子中的method方法所示,当返回值类型为void时,方法可以不返回任何值; 2)如例子中的sum方法所示,当方法的返回值类型不为void时,方法体中需要显式指定一个return语句,返回一个与具体返回值类型相对应的一个值。如何使用方法(how)(续3)3. 方法的调用过程 1)通过指定方法的名字; 2)实现方法的参数传递,也就是实际参数传递给形式参数; 3)最后将方法的返回值返回给调用处。如何使用方法(how)(续4)例如:方法的重载1. 什么是重载这是目前我们最常见的一个重载案例,调用println方法时,可以打
3、印int类型的整数,也可以打印布尔值。2. 重载的定义重载方法是功能相似代码块的一些定义,重载方法名字相同,参数列表不同。其中,参数列表不同包括: 1)参数个数不同; 2)参数顺序不同; 3)参数类型不同。方法的重载(续)从下列方法中,找出不是重载的:1. float sum(int b, float c)return b + c; 2. int sum(int a, int b, int c)return a + b + c; 3. int sum(int b, int c)return b + c; 4. int sum(int a, int b)return a + b;5. void
4、sum(int c, int d)return c + 6. float sum(float c, int b)return b + c;2一维数组的定义和调用数组的概念数组是内存中一块连续的区域,用于存储多个类型相同的数据。例如:一个人多门成绩int math = 100;int english = 90;int java = 99;int score = 100, 90, 99;一维数组变量的定义数组变量的定义可以有以下写法:int a;int b; /推荐使用这种写法int b, c;说明:此时并没有构建数组,而是构建了一个数组类型的变量。一维数组变量的初始化数组类型变量的初始化1)定义
5、的同时初始化a)静态初始化:int a = 1, 2, 3, 4;b)动态初始化:int c = new int3;/占12个字节,默认初始值是0 int c3 = new int3;/错误,动态初始化,不需要在等号左边定义长度2)先定义,再初始化a)静态初始化:不允许 int b; b = 1, 2, 3, 4;这行定义是不合法的。b)动态初始化:允许 int m;m = new int3;数组的长度及相关元素的访问数组的长度是数组中元素的个数,数组一旦创建其大小(长度)是不能改变的。数组中元素的访问需要借助下标,下标值从0开始到长度减一结束。提问:有一个数组 int a = new int
6、5;这个数组的长度是多少?访问该数组的第3个元素的话,下标是多少?冒泡排序1. 原理: 1)依次比较相邻两个数据,大的数据向后交换; 2)每一趟比较结束,都会确定一个最大值; 3)后面重复前面的步骤。冒泡排序(续1)例如:对9,5,2,7,6,8,3第一轮排序9527683原数组5927683第1次对比后5297683第2次对比后5279683第3次对比后5276983第4次对比后5276893第5次对比后5276839第6次对比后冒泡排序(续2)2. 算法: i. 有一个循环变量i,从第一个位置开始递增; ii. 还有一个循环变量j,从末尾位置开始递减; iii. 在j递减的过程中,依次比较
7、相邻两个位置的值的大小,比如说j和j-1相比较; iv. 如果j比j-1大,则两者位置不变,j继续递减;如果j比j-1小,则两者交换,j继续递减; v. 最终j递减到i+1的位置,将本次循环的最小值推到下标i的位置; vi. 循环变量i递增1位,而j继续从末尾位置递减; vii. 依照上述顺序反复执行到i为末尾位置。3. 优化: i. 如果在一次j递减过程中,没有数据交换。就说明排序已经完成,无需再让i递增了,排序算法可以中止。选择排序1. 原理: 1)依次比较相邻两个元素,找到最小值得下标位置; 2)交换最小元素与初始下标位置的元素。 选择排序(续1)2. 算法: i. 有一个循环变量i,从
8、到头尾递增; ii. 还有一个循环变量j,从i位置开始递增; iii. 在递增的过程中,找到最小值的位置min; iv. 把i位置和min位置交换; v. i递增一位,j依然从i位置开始递增,继续寻找最小值,然后交换;两个排序算法的实现见代码扩展知识程序员必须知道的10大基础实用算法及其讲解http:/question/1397765_159365数组小结数组的3W1H 1)what(内存中一块连续的存储区域,其大小不可改变) 2)when(在一块连续区域中存储多个类型相同数据时) 3)why(方便,简单,效率高) 4)how(变量定义,数组创建,访问,操作)3多维数组的使用多维数组变量的定义
9、多维数组的定义和一维数组差不多,例如:int a;/一维数组int b;/二维数组,也就是一维数组中的数组,掌握到二维数组即可int c;/三维数组多维数组变量的赋值1. 静态初始化 int a = ;/a.length是多少?int b = ;/ a.length是多少?int c = 1, 2, 3, 4/写法对么?int d = 1, 2, 3, 4,1, 2;/写法对么?int m;m = 1;/写法对么?多维数组变量的赋值(续1)2. 动态初始化 int n1 = new int43;/写法对么?int n2 = new int4;/写法对么?int n3 = new int3;/写法对么?int21 n4 = new int21;/写法对么?n20 = 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茂名2025年广东茂名市海洋综合执法支队滨海新区大队招聘4人笔试历年参考题库附带答案详解
- 红河2025年云南红河开远市中医医院编外人才招聘笔试历年参考题库附带答案详解
- 湖南2025-2025学年第一学期湖南工学院兼职外聘教师和产教融合教师招聘116人笔试历年参考题库附带答案详解
- 海东2025年青海海东市化隆县黄河中学选调教师38人笔试历年参考题库附带答案详解
- 沧州2025年河北沧州海兴县政府系统事业单位招聘86人笔试历年参考题库附带答案详解
- 曲靖2025年云南曲靖市事业单位定向招聘驻曲部队未就业随军家属笔试历年参考题库附带答案详解
- 成都2025年四川成都市妇女儿童中心医院招聘28人笔试历年参考题库附带答案详解
- 广州2025年个广东广州市天河区盈溪幼儿园编外聘用制专任教师招聘笔试历年参考题库附带答案详解
- 宜昌2025年湖北宜昌市夷陵区教育系统引进人才17人笔试历年参考题库附带答案详解
- 合肥安徽省妇女儿童医学中心合肥市妇幼保健院招聘眼科学科带头人笔试历年参考题库附带答案详解
- 2025年秋季散学典礼校长讲话:以四马精神赴新程携温暖期许启寒假
- 2026贵州省黔晟国有资产经营有限责任公司面向社会招聘中层管理人员2人备考考试试题及答案解析
- 2025年营养师考试练习题及答案
- 2026中国电信四川公用信息产业有限责任公司社会成熟人才招聘备考题库及答案详解一套
- 消费者权益保护与投诉处理手册(标准版)
- 南京航空航天大学飞行器制造工程考试试题及答案
- 陶瓷工艺品彩绘师改进水平考核试卷含答案
- 2025广东百万英才汇南粤惠州市市直事业单位招聘急需紧缺人才31人(公共基础知识)测试题附答案
- 粉尘防护知识课件
- 注塑模具调试员聘用协议
- (2025年)粮食和物资储备局招聘考试题库(答案+解析)
评论
0/150
提交评论