- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java基础-第4天教学
第四天 Java语言基础
【教学内容】
第三天作业点评
函数的概念
函数的重载★★★★★
数组的定义★
数组内存图解★★★★★
数组的常见问题★★
数组的应用(求和、最值)
【代码清单】
此清单需在每天下午放学后填写
【教学总结】:
【第一阶段】
【目标:第三天作业点评】
上新课之前,把第三天每个知识留的作业做讲解和点评。
第三天:第三阶段第2题,第四阶段第2题,课后作业第2,3题。
【学习效果】
【知识点过度】
前三天学习了Java中的基本数据类型,以及基于这些数据类型的简单应用和Java中的语句。现在学习Java函数(方法)。
【第二阶段】
【目标:函数的概念】
1、什么函数
函数就是定义在类中的具有特定功能的一段独立小程序,并能被多次使用。
2、问题引入
在昨天讲述使用循环嵌套画出矩形。但有问题,每次要画矩形都要写很多重复性的代码,能不能将这些代码画矩形的代码封装起来,在需要画矩形的时候调用这段封装的代码呢?
问题:要画矩形,需要不断使用该for嵌套代码。造成代码复用性很差。
解决:定义一个功能用于画矩形,每次只要使用该功能即可。这样提高复用性。
如何定义一个功能呢?
应该是一个封闭的区间。那就需要使用大括号将其封装。
需要给这个区间起个名字。以后通过这个名字来调用这个区间
这个区间需要有参与运算的数据。
需要定义该功能的结果类型。
public static void draw(int row,int col)
{
for(int x=0; xrow; x++)
{
for(int y=0; ycol; y++)
{
System.out.print(*);
}
System.out.println();
}
//return;
}
3、函数的定义格式
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;//return关键字是用于结束该功能。并将后面的具结果返回给调用者。
//必须有return语句。
}
注意:函数的返回值类型如果是void时,return语句可以省略不写;void表示的是没有返回值的情况。
4、如何定义函数
函数就是一个功能,功能就需要两部分:
1、函数运行完的结果是什么;2、函数运行时有未知参数吗。
定义函数时,时刻把握如下两个明确,基本就可以完成函数的定义:
明确1:这个功能的结果是什么?其实就是明确返回值类型。
明确2:这个功能需要未知内容是什么? 其实就是明确参数列表。
5、定义函数举例
需求:需要一个方法,进行加法运算,获取两个整数的和。
明确1:功能的结果是什么呢?是一个和。和是整数。返回值的类型是 int.
明确2:功能的未知内容有吗?有,加数和被加数。都是int类型,这就是参数列表。
public static int add(int a,int b)
{
return a+b;
}
6、函数的执行过程
以下代码的执行顺序
class MethodDemo
{
public static void main(String[] args)
{
int sum = getSum(3,4);
System.out.println(sum=+sum);
}
//定义功能求和
public static int getSum(int a , int b)
{
return a + b;
}
}
7、函数的内存加载
class MethodDemo
{
public static void main(String[] args)
{
int a = 3;
int b = 4;
int sum = getSum(a,b);
System.out.println(sum=+sum);
}
public static int getSum(int a , int b)
{
return a + b;
}
}
上面代码执行的内存图解
图解说明:首先会加载main方法加载进栈内存中,并执行main方法中的代码,分别给a变量开辟空间并存放3,给b变量开辟空间存放4。当程序执行到int sum = getSum(a,b);时,会将getSum函数加载进栈内存中,同样在getSum所属的栈区域中开辟a和b变量空间,接受main方法中的getSum(a,b);传递的值。然后执行getSum函数中的代码,当getSum函数执行结束后,函数会出栈(弹栈)。程序回到main方法的调用语句int sum = getSum(a,b);
文档评论(0)