当前位置: 首页 > news >正文

哪里教做网站的/长春网络优化哪个公司在做

哪里教做网站的,长春网络优化哪个公司在做,杭州哪家seo公司好,河南商城网站建设导读本文适合Java入门,不太适合Java中高级软件工程师。本文以《Java程序设计基础篇》第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述。本篇文章只是这个系列中的一篇,如果你喜欢这种讲解方式,或者觉得从中能…

导读

本文适合Java入门,不太适合Java中高级软件工程师。本文以《Java程序设计基础篇》第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述。本篇文章只是这个系列中的一篇,如果你喜欢这种讲解方式,或者觉得从中能学到知识,可以关注我,以便查阅本系列其他文章。

让我们开始愉快地学习Java语言吧!

1定义方法

我们用方法干嘛呢?

想下这样的情景,由上万行代码构成的程序,一行一行地从头写到尾,其中包含了好多重复代码,或者极为相似的部分,是不是做了很多无用功,因为有那么多重复的内容。

于是,想到一个办法,将这样的代码抽取出来,独立成代码块,并为这个块命名,然后再用到这段代码的地方,以其名称代替,代码一定会得到极大的简化,开发效率也会大幅度提高。

能给方法下一个描述性的定义吗?

方法是为完成一个操作而组合在一起的语句组。

方法的语法结构是什么样的呢?

语法定义:

修饰符 返回值类型 方法名(参数列表){

// 方法体;

一个或多个语句;

}

我们把修饰符,返回值类型,方法名,参数列表被称为方法头。

方法可以有返回值,也可以没有;有的话,好理解,譬如我们学过的数值型,字符型,字符串型,那么没有返回值呢,怎么表达?

没有返回值就用void表示。

参数列表中声明了参数类型,个数,顺序,但不给变量赋值,它就像一个占位符,我们称之为形参。而当调用方法时,传递给方法的值被称为实参

形参和实参有啥区别呢?

形参不是方法中用到的值,实际用到的值是实参。

方法可以有参数列表也可没有。

方法名和参数列表共同构成了方法签名

2方法调用

调用就是执行方法中的代码。

那么怎么写代码呢?

下面的例子定义并实现了selectionSort方法。修饰符为public和static,返回值类型为int[],方法名为selectionSort,参数列表为int[] arr。在main方法中调用了selectionSort方法,并将实参arr传递给形参arr。(int[]是数组类型,后面会讲到)

b227bfd0cce8ca3ac85d91136297603c.png

那么这段代码是怎么起作用的呢?

当调用目标方法时,控制权就从主调方法转向目标方法,产生的结果就是开始执行被调方法。当被调方法结束后,控制权重新回到主调方法,执行目标方法之后的代码。就像上面main方法中,被调方法后面还有打印数组元素的语句,当方法执行完,返回数组后,开始执行打印语句。

大家发现main方法和selectionSort方法的区别了吗?

一个有返回值,一个没有返回值,有返回值的方法体内包含return语句,无返回值的没有return语句。

有返回值的方法必须包含return语句,那么无返回值的方法呢?

无返回值的方法可以包含,也可以不包含。若包含的话必须写作:

return;

也就是return后不跟变量。

78e82842b97e43cba3b9a811fa7ab242.png

那么return语句应该位于方法的什么位置呢?

先看两个例子。

30d86e0876b6e711979d763e9d059a08.png

注意那个警告了吗?75行是个无用的代码!因为执行到return方法就结束了。

将上例稍稍改下:

73c875b3e22ac3e92fad132bbdf32308.png

报错了,这是为啥呢?

因为我们使用了if选择语句,这样就导致并不是所有情况下,都指明方法有返回值。但if块的执行条件是true也就是会永远执行,那么rreturn语句一定会执行的。估计编译器判断不出这个逻辑。

让我们改正它:

596b0672faa8fd3e6b2f2513a6ae6b76.png

这回不报错了,但还是有警告。

来看这么一段简单的代码

cc682b087ceb067110793749e8cc67aa.png

没有问题了。

由此看见,一般,return是方法体的最后一条语句,除非有多个return存在。

让我们来看看方法调用的细节。首先明确几个概念。

活动记录:它是一块内存区域,保存了被调用方法的参数和变量。

堆栈:又称调用堆栈、执行堆栈、运行时堆栈、机器堆栈。

每当调用一个方法时,系统会创建一个活动记录(也称为活动框架),用于保存方法中的参数和变量。

当一个方法调用另一个方法时,调用者的活动记录保持不动,一个新的活动记录被创建用于被调用的新方法。一个方法结束返回到调用者时,其相应的活动记录也被释放。

3参数传递

调用方法时以传值方式将实参传递给形参,称为按值传递。

那么如果有多个形参,形参与实参如何匹配呢?

按照定义的形参的顺序来匹配,并且类型要兼容,数量要一致。

例如,给上面实现的selectionSort方法传递float[]类型的参数会报错。

8a8923457b65249c5a377bf3cb3016d4.png

selectionSort定义了一个形参,而你给他传递两个实参,会报错。

类型兼容的含义大家还记得吗?

就是一种类型转换成另一种类型时不需要显示转型。

4重载方法

定义:实现一个方法,使其方法名与原方法相同,而形参列表不同即为重载方法。

如何对定义进行解读呢?形参列表不同包括哪些情形呢?

形参数量不同,或形参类型不同。只有这两种情形。

那么如果两个方法的返回值不同算不算重载呢?

根据定义,无法通过返回值不同来重载方法。

能不能通过修饰符不同来重载方法呢?

根据定义,也不行。

重载方法后,有了几个同名的方法,那么编译器有没有可能无法判断该调用那个呢?

有可能,称这种情形为歧义调用。

acd9e706cdcb897e26ec645bc0bf76bb.png

导致歧义调用的原因是,1是整型直接量,默认是int型,那么int型值传给double是不需要显示转型的。因此会匹配到两个方法。要解决这一问题,可以更明确地指定参数类型:

b8f12b68716eb46987c5737015e020da.png

5变量作用域

定义:变量可以被引用的范围

方法中定义的变量叫局部变量,那么参数列表中的变量呢?

它也是局部变量,它的作用域是整个方法。

局部变量的作用域是从它开始定义的地方起,到它所在块结束为止。

块什么时候结束呢?

块是有{}括起来的部分,那么}标识了块的结束。

例如,下面的代码中for循环定义了变量i,那么在循环体外是无法引用它的。

ca52c1a4987e9dfad6d3f0cfc9981be3.png

每天30分钟,坚持一个月就能为Java开发打下坚实的基础!努力学习吧!

也许你还想看看其他章节的内容:

愉快地学Java语言:第一章简介第1讲

愉快地学Java语言:第一章简介第2讲

愉快地学Java语言:第二章基本程序设计 第1讲

愉快地学Java语言:第二章基本程序设计 第2讲

愉快地学Java语言:第三章 选择

愉快地学Java语言:第四章数学函数、字符和字符串

愉快地学Java语言:第五章 循环

http://www.jmfq.cn/news/4991581.html

相关文章:

  • 唐山建设网站建站/推一手新闻发稿平台
  • 寻花问柳专注做一家男人喜欢的网站/免费推广app软件下载
  • 淘宝运营培训课程靠谱吗/优化网站推广网站
  • 做平面设计哪个网站下载素材好/百度代发排名
  • 网站流量分析的指标有哪些/关键词在线挖掘网站
  • 后台网站怎么做视频/单页网站怎么优化
  • 交互设计专业大学排名/seo高手是怎样炼成的
  • 青岛网站制作计划/百度小程序优化排名
  • 网站 设计 案例 简单/新闻营销
  • 网站建设在阿里云/比较经典的营销案例
  • 建设银行个人网银网站/seo推广专员
  • 一下成都网站建设公司/品牌运营管理有限公司
  • 长春seo整站优化/上海企业网站seo
  • 做网站需要哪方面的编程/挖掘关键词爱站网
  • B2B网站做不出排名跟流量/百度提交入口网站
  • 白城网站建设公司/情感营销的十大案例
  • 石家庄高端网站建设/手机网站模板免费下载
  • 惠州制作网站软件/岳阳网站设计
  • 深圳市工程交易服务网/沈阳沈河seo网站排名优化
  • 新产品开发流程图/楚雄seo
  • 网站开发都是用什么做的/网络推广方式主要有
  • 一个网站如何做双语/网络广告是什么
  • 珠海网站制作套餐/互联网项目推广平台有哪些
  • wordpress菜单特效/武汉百度推广seo
  • 汕头企业做网站/怎么样推广自己的产品
  • php p2p网站建设/百度网盘搜索引擎盘多多
  • 做网站优化推广多少钱/网络营销最基本的应用方式是什么
  • wordpress网站测速/企业网址怎么申请
  • 长沙seo计费管理/北京网站优化专家
  • wordpress附件分离/seo和sem哪个工资高