java基础班day4方法数组_第1页
java基础班day4方法数组_第2页
java基础班day4方法数组_第3页
java基础班day4方法数组_第4页
java基础班day4方法数组_第5页
已阅读5页,还剩28页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、方法、数组回归1. 条件选择结构 ififif esleif esle-if(多个) else2. 条件选择结构 switchswitch(变量名)case 变量可能的值 1:功能语句;break;case 变量可能的值 2:功能语句;break;.default:功能语句;break;3. 三种循环while do-while forwhile(值 或者 结果为的表达式)while(这里的条件为 false 结束循环)do/ 先执行这个大括号,然后判断 while 条件,如果为true 就继续执行此大括号的内容while(条件值 或者 结果为的表达式);for(初始化语句 A;判断条件 B;

2、 功能语句 C)/循环体D4. 循环控制语句break:中止当前这一层循环a:for()b:for()break a;语法格式 break acontinue:跳过本次循环,继续下一次循环return:不仅中止整个循环,还中止了整个方法的执行一、 方法掌握1. 引入方法,也叫 函数,但是一般在 java 中都叫 方法(在其他地方看到 函数 ,它其实就是指 方法)。 思考:第一次听说方法是什么时候?示例:1) 设计一段代码,计算 1-10 的和(举例代码演示)2)还有个需求,计算 1-1000 的和,怎么做?比较上面的代码区别,都比较类似,唯一不同的地方是在哪里?希望设计一段代码,能够同时满足求

3、 1-n 的和,怎么办?可以用方法来解决方法2.?方法看成是一个整体,比如上面的这个圈,既然可以看成一个整体,那么这个圈里是不是可以包含 1-n 的求和的代码方法这里是 1-n 的求和代码3. 怎么设计需求:设计一个方法,完成计算任意两个整数的和的功能!1) 拷贝一个主方法,然后修改思考一下拷贝的这个方法应该放在什么地方?2) 完成此方法的功能就是此方法的设计者,设计这个方法需要哪些步骤呢?a)需要做什么事情?(计算任意两个整数的和)b) 计算哪两个数?定义两个变量准备用来接收使用者给两个整数这两个变量定义在方法的()中在设计的时候,两个变量是没有具体数据的,可以当成这两个变量是有数据的c)

4、方法设计完了,然后呢?使用(调用)方法,现在是使用者,对于使用者而言,不用关心方法是如何计算的(应该把方法看成一个整体)方法有sic 修饰: 类名.方法名()方法没有sic 修饰: 对象名.方法名()如果调用的方法和被调用的方法同时在一个类中,并且同时有 sic 或者同时没有 sic:方法名()d) 上面计算 2 个数的和的方法怎么调用?写在哪里?主方法:是程序的,放在主方法里,jvm 可以间接的调用定义的方法。 问题?刚才定义了一个 2 个参数的方法,那可不可以直接方法名() 去调用呢?在使用的时候,应该告诉方法,计算哪两个整数4. 定义语法方法的 返回类型 和 方法名字 必须定义在一个类中

5、不能 同时存在 相同名字 和 参数类型个数一模一样 的方法修饰符 返回类型 方法名字(数据类型 变量名,数据类型 变量名,)在方法的代码块区域返回结果值的语法: return 返回和方法返回类型相同的值; jvm 是怎么来判断 相同名字 和参数类型的方法?-方法签名:方法名+参数列表(和参数的名字没有关系,只是和参数的类型 ,个数,顺序有关)5. 常见问题1) 调用的时候参数不一致调用的时候,调用的实际参数的类型和个数必须 和被调用的方法的参数类型和个数一模一样(包括顺序)2) sic main 方法调用一个非 sic 方法6. 总结在一个类中,用sic 修饰的方法只能调用 同样是 sic 修

6、饰的方法实参列表 和 形参参数个数和类型必须一一对应。在一个类中不能定义一样的名字 和 相同形参类型和个数 的方法。把一个方法看成是能够独立完成某个功能的一段代码,把一个方法看成是一个整体我是一个方法从两方面去看:1) 使用者a) 不用关心方法的代码是如何写b) 如何使用(调用)c) 方法形式参数d) 方法的执行结果2) 设计者a) 实现什么功能,要做什么事情b) 形式参数:用户在调用方法的时候传入什么已知条件c) 执行完毕的结果如何处理7. 方法return1) 引入设计一个方法求任意两个整数的和,之前代码是怎么写的?在上面的方法基础之上,计算 3 个整数的和a) 使用这个方法,先计算两个的

7、和 sum,再调用一次,然后 sum 和另外一个数求和从代码上看,这个求和的方法只能够传入两个b) 希望上面的方法计算完毕之后不打印,得到计算之后的一个结果值。那可以用 return 来返回结果值2) 示例要求:计算 2 个整数的和,然后把计算的结果返回给调用者。1) 方法里写上 return 返回值(定义个 sum 变量存放求和的结果并返回)return sum;/表示把 sum 变量中的值返回给调用者2) 修改返回类型方法的返回了一个数据,数据的类型是,所以 void 修改成注意:把 sum 变量中的值返回给调用者,不是返回 sum 这个变量3) 方法里面返回的变量 sum 值,是否可以在

8、调用的方法里面直接使用?方法里面的变量 sum 只能在所在方法里面才能,其他方法不能4) 怎么获得结果值?把 add 方法这个整体 看成是 此方法计算完毕的结果值直接把方法整体放在打印语句中打印(把方法看成是整体)a)b)可以定义一个变量接收 方法结果值c) 把方法整体看成是一个值,参与运算 思考:直接打印 方法整体,还是 把方法结果值定义一个变量存起来再去打印 ,哪种方式更好一些?5) 画图分析整个过程3) 常见问题定义了一个有返回类型的方法,但是调用的时候没有放在打印语句中例如:add(1,2);在调用方法的里面去打印输出 被调用方法里面的变量add 方法中定义的返回变量 sum 的值,这

9、个 sum 局部变量 只能在 add 方法,而主方法中无法(作用域不同)没有返回任何东西,也就是返回类型为 void,去打印输出(或者使用变量接收)方法返回值如果一个方法的返回类型不是 void,那么要求(不管方法里面做了什么事情)都必须返回一个和 返回值类型匹配的值上面的代码:编译器只看结构,不看其中的值,编译器看到的是一个 if 结构上面的代码:编译器看到结构是 if-else,始终都会执行一部分,而这 2 部分都有 return4)应用场景一般来说就是如果需要方法返回一个结果值,那么就 return(一般做一些数算都需要使用返回值)设计一个方法:打印用户传入的字符串,思考是否需要返回值?

10、8.方法重载(overload)1)引入定义一个 add 方法,求 2 个整数的和举例,定义不同方法,满足下面要求:2 个整数和,3 个整数和,4 个整数的和.2)概念方法重载:是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(类型个数顺序)。如果一个类中存在了多个名字一样的方法而编译不报错,那么肯定就是重载注意:方法重载和参数名字没有关系。和 返回值类型 和 修饰符也没有关系。3)作用 多个方法写成重载关系好处? 方便。典型的方法重载示例:System.out.pr ln(多个不同类型);4)问题 能否把一个类中的所有方法全部定义一个名字?举例:求 2 个整数的和,求 3

11、个整数的和求 3 个整数的积,求 3 个整数的积不建议,一个类中所有方法都是一个名字,每一个名字都应该是有意义的二、 数组掌握1.认识数组1)数组2) 学习数组用2.引入示例:计算 1000 个任意整数的和形参和实参太长,使用不方便,可读性太差可以定义一个变量容器,存放多个数据再举个例子,比如超市的存放物品的柜子 刚才举的例子需要存放多个数据,那在 java 里面存放多个数据是用什么来实现的?可以使用 数组,接下来来学习数组?数组3.数组可以理解成一个巨大的盒子,里面可以按顺序存放多个类型相同的数据。数组元素:就是存放在数组里面的数据数组索引:就是数组里面每个数据的,从 0 开始接下来需要学习

12、它,使用它。示例:假设存放 5 个人的用数组存放应该怎么做?1) 先必须定义一个数组2) 把数据放进去3) 如何把数组中的数据取出来4. 怎么定义A. 动态创建语法格式:数据类型 数组变量名 = new 数据类型数组长度;赋值的语法格式:数组变量名从 0 开始 到 数组长度的任意索引 = 值;示例:1) 定义 ages = new5;2) 把数据放进去ages0 = 15;/ 表示把 15 放在ages 数组中的第一个位置ages1 = 19;/ 表示把 19 放在ages 数组中的第二个位置3) 取出来a) 取出 ages 中第一个数据进行打印System.out.pr ln(ages0);

13、b) 参与运算,例如把第一个 和 第二个加起来System.out.pr ln(ages0+ages1);c) 可以使用其他的变量来x = ages0;数组的值上面动态创建数组是后立即赋值创建,还可以 先再赋值示例: ages;ages = new5;动态创建好数组之后,会自动分配默认值,和数组中的元素类型有关(类似之前成员变量的默认值)示例:定义一个存放的数组。B. javJVM 的堆:期等栈:周期分接下来,针对刚刚的代码示例,分析一下内存结构a数据分析内存分析-帮助理解代码可以理解为凡是new 出来的东西都放在这里面,堆内存可以被虚拟机动态的分配内存大小,无需事先告诉编译器的数据的大小、生

14、命周相关信息主要存放一些变量容器名 (例如局部变量名,还可以存放局部变量 基本类型 数据值),栈内存被要求存放在其中的数据的大小、生命必须是已经确定的析上面数组在内存中的结构栈 堆C. 静态创建假设我现在有一个数组,存放各位同学的,比100 个100 个存放需要一个一个的赋值。静态创建数组:在创建数组的时候把已知的元素直接放进去示例: ages = new19,18,29,30,18,19;长度是创建的时候其中的数据个数决定的方式一:方式二(简写):静态创建的时候一般是一些有意义的初始值而已,能够更改。注意:静态创建的简写形式必须是数组的时候同时赋值,不能够先再赋值5.数组特点一个数组可以多个元素一旦数组对象被创建好,那么其长度就固定不变了6. 如何使用1) 直

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论